// // SandboxBroker.h // Cog // // Created by Christopher Snowhill on 6/20/22. // #import NS_ASSUME_NONNULL_BEGIN @interface SandboxBroker : NSObject { NSMutableArray *storage; } + (SandboxBroker *)sharedSandboxBroker; + (NSURL *)urlWithoutFragment:(NSURL *)url; + (BOOL)isPath:(NSURL *)path aSubdirectoryOf:(NSURL *)directory; + (void)cleanupFolderAccess; - (id)init; - (void)shutdown; - (void)addFolderIfMissing:(NSURL *)folderUrl; - (void)addFileIfMissing:(NSURL *)fileUrl; - (void)requestFolderForFile:(NSURL *)fileUrl; - (const void *)beginFolderAccess:(NSURL *)fileUrl; - (void)endFolderAccess:(const void *)handle; - (BOOL)areAllPathsSafe:(NSArray *)urls; @end NS_ASSUME_NONNULL_END