mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-23 00:41:02 +00:00
Add implementation of -cancel
This commit is contained in:
parent
f355d97b3e
commit
2a935c4d53
3 changed files with 28 additions and 6 deletions
|
@ -35,8 +35,6 @@
|
|||
|
||||
@protocol NSFilePresenter;
|
||||
|
||||
const static NSArray *__presenters = nil;
|
||||
|
||||
enum {
|
||||
NSFileCoordinatorReadingWithoutChanges = 1 << 0,
|
||||
NSFileCoordinatorReadingResolvesSymbolicLink = 1 << 1,
|
||||
|
@ -78,7 +76,7 @@ DEFINE_BLOCK_TYPE(GSAccessorHandlerBlock, void, GSBatchAccessorHandler);
|
|||
{
|
||||
id _accessArbiter;
|
||||
id _fileReactor;
|
||||
id _purposeID;
|
||||
id _purposeIdentifier;
|
||||
NSURL *_recentFilePresenterURL;
|
||||
id _accessClaimIDOrIDs;
|
||||
BOOL _isCancelled;
|
||||
|
|
|
@ -50,7 +50,7 @@ DEFINE_BLOCK_TYPE(GSFilePresentedItemChangesWithCompletionHandler, void, NSError
|
|||
- (void)accommodatePresentedItemDeletionWithCompletionHandler:(GSFilePresenterCompletionHandler)completionHandler;
|
||||
- (void)accommodatePresentedSubitemDeletionAtURL:(NSURL *)url completionHandler:(GSFilePresenterSubitemDeletionHandler)completionHandler;
|
||||
- (void)presentedItemDidChange;
|
||||
- (void)presentedItemDidChangeUbiquityAttributes:(NSSet *)attributes; // API_AVAILABLE(macos(10.13), ios(11.0)) API_UNAVAILABLE(watchos, tvos);
|
||||
- (void)presentedItemDidChangeUbiquityAttributes:(NSSet *)attributes; // 10.13
|
||||
- (void)presentedItemDidGainVersion:(NSFileVersion *)version;
|
||||
- (void)presentedItemDidLoseVersion:(NSFileVersion *)version;
|
||||
- (void)presentedItemDidMoveToURL:(NSURL *)newURL;
|
||||
|
|
|
@ -26,6 +26,10 @@
|
|||
#import <Foundation/NSFileCoordinator.h>
|
||||
#import <Foundation/NSURL.h>
|
||||
#import <Foundation/NSArray.h>
|
||||
#import <Foundation/NSFilePresenter.h>
|
||||
#import <Foundation/NSOperation.h>
|
||||
|
||||
static NSMutableArray *__presenters = nil;
|
||||
|
||||
@implementation NSFileAccessIntent
|
||||
- (instancetype) init
|
||||
|
@ -78,26 +82,46 @@
|
|||
|
||||
+ (NSArray *) filePresenters
|
||||
{
|
||||
return nil;
|
||||
return __presenters;
|
||||
}
|
||||
|
||||
+ (void) addFilePresenter: (id)presenter
|
||||
{
|
||||
[__presenters addObject: presenter];
|
||||
}
|
||||
|
||||
+ (void) removeFilePresenter: (id)presenter
|
||||
{
|
||||
[__presenters removeObject: presenter];
|
||||
}
|
||||
|
||||
- (NSString *) purposeIdentifier
|
||||
{
|
||||
return nil;
|
||||
return _purposeIdentifier;
|
||||
}
|
||||
|
||||
- (void) setPurposeIdentifier: (NSString *)ident // copy
|
||||
{
|
||||
ASSIGNCOPY(_purposeIdentifier, ident);
|
||||
}
|
||||
|
||||
- (void)cancel
|
||||
{
|
||||
NSEnumerator *en = [__presenters objectEnumerator];
|
||||
id obj = nil;
|
||||
while((obj = [en nextObject]) != nil)
|
||||
{
|
||||
id<NSFilePresenter> o = (id<NSFilePresenter>)obj;
|
||||
NSOperationQueue *q = [o presentedItemOperationQueue];
|
||||
[q cancelAllOperations];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)coordinateAccessWithIntents: (NSArray *)intents
|
||||
queue: (NSOperationQueue *)queue
|
||||
byAccessor: (GSAccessorCallbackHandler)accessor
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
- (void)coordinateReadingItemAtURL: (NSURL *)readingURL
|
||||
|
|
Loading…
Reference in a new issue