123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196 |
- #import <Foundation/Foundation.h>
- #import <AppKit/AppKit.h>
- #pragma mark -
- #pragma mark AppSandboxFileAccessProtocol
- @protocol AppSandboxFileAccessProtocol<NSObject>
- @required
- - (NSData *)bookmarkDataForURL:(NSURL *)url;
- - (void)setBookmarkData:(NSData *)data forURL:(NSURL *)url;
- - (void)clearBookmarkDataForURL:(NSURL *)url;
- @end
- #pragma mark -
- #pragma mark AppSandboxFileAccess
- typedef void (^AppSandboxFileAccessBlock)(void);
- typedef void (^AppSandboxFileSecurityScopeBlock)(NSURL *securityScopedFileURL, NSData *bookmarkData);
- @interface AppSandboxFileAccess : NSObject
- @property (readwrite, copy, nonatomic) NSString *title;
- @property (readwrite, copy, nonatomic) NSString *message;
- @property (readwrite, copy, nonatomic) NSString *prompt;
- @property (nonatomic, weak) id <AppSandboxFileAccessProtocol> bookmarkPersistanceDelegate;
- + (AppSandboxFileAccess *)fileAccess;
- - (instancetype)init;
- - (BOOL)accessFilePath:(NSString *)path persistPermission:(BOOL)persist withBlock:(AppSandboxFileAccessBlock)block;
- - (BOOL)accessFilePath:(NSString *)path withBlock:(AppSandboxFileAccessBlock)block persistPermission:(BOOL)persist __attribute__((deprecated("Use 'accessFilePath:persistPermission:withBlock:' instead.")));
- - (BOOL)accessFileURL:(NSURL *)fileURL persistPermission:(BOOL)persist withBlock:(AppSandboxFileAccessBlock)block;
- - (BOOL)accessFileURL:(NSURL *)fileURL withBlock:(AppSandboxFileAccessBlock)block persistPermission:(BOOL)persist __attribute__((deprecated("Use 'accessFileURL:persistPermission:withBlock:' instead.")));
- - (BOOL)requestAccessPermissionsForFilePath:(NSString *)filePath persistPermission:(BOOL)persist withBlock:(AppSandboxFileSecurityScopeBlock)block;
- - (BOOL)requestAccessPermissionsForFileURL:(NSURL *)fileURL persistPermission:(BOOL)persist withBlock:(AppSandboxFileSecurityScopeBlock)block;
- - (NSData *)persistPermissionPath:(NSString *)path;
- - (NSData *)persistPermissionURL:(NSURL *)url;
- @end
|