implementAsBlocking static method
NSFilePresenter
implementAsBlocking({
- required NSURL? presentedItemURL(),
- required NSOperationQueue presentedItemOperationQueue(),
- NSURL? primaryPresentedItemURL()?,
- void relinquishPresentedItemToReader_()?,
- void relinquishPresentedItemToWriter_()?,
- void savePresentedItemChangesWithCompletionHandler_(
- ObjCBlock<
Void Function(NSError?)>
- ObjCBlock<
- void accommodatePresentedItemDeletionWithCompletionHandler_(
- ObjCBlock<
Void Function(NSError?)>
- ObjCBlock<
- void accommodatePresentedItemEvictionWithCompletionHandler_(
- ObjCBlock<
Void Function(NSError?)>
- ObjCBlock<
- void presentedItemDidMoveToURL_(
- NSURL
- void presentedItemDidChange()?,
- void presentedItemDidChangeUbiquityAttributes_(
- NSSet
- NSSet observedPresentedItemUbiquityAttributes()?,
- void presentedItemDidGainVersion_()?,
- void presentedItemDidLoseVersion_()?,
- void presentedItemDidResolveConflictVersion_()?,
- void accommodatePresentedSubitemDeletionAtURL_completionHandler_(
- NSURL,
- ObjCBlock<
Void Function(NSError?)>
- void presentedSubitemDidAppearAtURL_(
- NSURL
- void presentedSubitemAtURL_didMoveToURL_(
- NSURL,
- NSURL
- void presentedSubitemDidChangeAtURL_(
- NSURL
- void presentedSubitemAtURL_didGainVersion_(
- NSURL,
- NSFileVersion
- void presentedSubitemAtURL_didLoseVersion_(
- NSURL,
- NSFileVersion
- void presentedSubitemAtURL_didResolveConflictVersion_(
- NSURL,
- NSFileVersion
- bool $keepIsolateAlive = true,
Builds an object that implements the NSFilePresenter protocol. To implement
multiple protocols, use addToBuilder or objc.ObjCProtocolBuilder directly. All
methods that can be implemented as blocking listeners will be.
If $keepIsolateAlive is true, this protocol will keep this isolate
alive until it is garbage collected by both Dart and ObjC.
Implementation
static NSFilePresenter implementAsBlocking({
required objc.NSURL? Function() presentedItemURL,
required NSOperationQueue Function() presentedItemOperationQueue,
objc.NSURL? Function()? primaryPresentedItemURL,
void Function(
objc.ObjCBlock<ffi.Void Function(objc.ObjCBlock<ffi.Void Function()>?)>,
)?
relinquishPresentedItemToReader_,
void Function(
objc.ObjCBlock<ffi.Void Function(objc.ObjCBlock<ffi.Void Function()>?)>,
)?
relinquishPresentedItemToWriter_,
void Function(objc.ObjCBlock<ffi.Void Function(objc.NSError?)>)?
savePresentedItemChangesWithCompletionHandler_,
void Function(objc.ObjCBlock<ffi.Void Function(objc.NSError?)>)?
accommodatePresentedItemDeletionWithCompletionHandler_,
void Function(objc.ObjCBlock<ffi.Void Function(objc.NSError?)>)?
accommodatePresentedItemEvictionWithCompletionHandler_,
void Function(objc.NSURL)? presentedItemDidMoveToURL_,
void Function()? presentedItemDidChange,
void Function(objc.NSSet)? presentedItemDidChangeUbiquityAttributes_,
objc.NSSet Function()? observedPresentedItemUbiquityAttributes,
void Function(NSFileVersion)? presentedItemDidGainVersion_,
void Function(NSFileVersion)? presentedItemDidLoseVersion_,
void Function(NSFileVersion)? presentedItemDidResolveConflictVersion_,
void Function(objc.NSURL, objc.ObjCBlock<ffi.Void Function(objc.NSError?)>)?
accommodatePresentedSubitemDeletionAtURL_completionHandler_,
void Function(objc.NSURL)? presentedSubitemDidAppearAtURL_,
void Function(objc.NSURL, objc.NSURL)? presentedSubitemAtURL_didMoveToURL_,
void Function(objc.NSURL)? presentedSubitemDidChangeAtURL_,
void Function(objc.NSURL, NSFileVersion)?
presentedSubitemAtURL_didGainVersion_,
void Function(objc.NSURL, NSFileVersion)?
presentedSubitemAtURL_didLoseVersion_,
void Function(objc.NSURL, NSFileVersion)?
presentedSubitemAtURL_didResolveConflictVersion_,
bool $keepIsolateAlive = true,
}) {
final builder = objc.ObjCProtocolBuilder(debugName: 'NSFilePresenter');
NSFilePresenter.presentedItemURL.implement(builder, presentedItemURL);
NSFilePresenter.presentedItemOperationQueue.implement(
builder,
presentedItemOperationQueue,
);
NSFilePresenter.primaryPresentedItemURL.implement(
builder,
primaryPresentedItemURL,
);
NSFilePresenter.relinquishPresentedItemToReader_.implementAsBlocking(
builder,
relinquishPresentedItemToReader_,
);
NSFilePresenter.relinquishPresentedItemToWriter_.implementAsBlocking(
builder,
relinquishPresentedItemToWriter_,
);
NSFilePresenter.savePresentedItemChangesWithCompletionHandler_
.implementAsBlocking(
builder,
savePresentedItemChangesWithCompletionHandler_,
);
NSFilePresenter.accommodatePresentedItemDeletionWithCompletionHandler_
.implementAsBlocking(
builder,
accommodatePresentedItemDeletionWithCompletionHandler_,
);
NSFilePresenter.accommodatePresentedItemEvictionWithCompletionHandler_
.implementAsBlocking(
builder,
accommodatePresentedItemEvictionWithCompletionHandler_,
);
NSFilePresenter.presentedItemDidMoveToURL_.implementAsBlocking(
builder,
presentedItemDidMoveToURL_,
);
NSFilePresenter.presentedItemDidChange.implementAsBlocking(
builder,
presentedItemDidChange,
);
NSFilePresenter.presentedItemDidChangeUbiquityAttributes_
.implementAsBlocking(
builder,
presentedItemDidChangeUbiquityAttributes_,
);
NSFilePresenter.observedPresentedItemUbiquityAttributes.implement(
builder,
observedPresentedItemUbiquityAttributes,
);
NSFilePresenter.presentedItemDidGainVersion_.implementAsBlocking(
builder,
presentedItemDidGainVersion_,
);
NSFilePresenter.presentedItemDidLoseVersion_.implementAsBlocking(
builder,
presentedItemDidLoseVersion_,
);
NSFilePresenter.presentedItemDidResolveConflictVersion_.implementAsBlocking(
builder,
presentedItemDidResolveConflictVersion_,
);
NSFilePresenter.accommodatePresentedSubitemDeletionAtURL_completionHandler_
.implementAsBlocking(
builder,
accommodatePresentedSubitemDeletionAtURL_completionHandler_,
);
NSFilePresenter.presentedSubitemDidAppearAtURL_.implementAsBlocking(
builder,
presentedSubitemDidAppearAtURL_,
);
NSFilePresenter.presentedSubitemAtURL_didMoveToURL_.implementAsBlocking(
builder,
presentedSubitemAtURL_didMoveToURL_,
);
NSFilePresenter.presentedSubitemDidChangeAtURL_.implementAsBlocking(
builder,
presentedSubitemDidChangeAtURL_,
);
NSFilePresenter.presentedSubitemAtURL_didGainVersion_.implementAsBlocking(
builder,
presentedSubitemAtURL_didGainVersion_,
);
NSFilePresenter.presentedSubitemAtURL_didLoseVersion_.implementAsBlocking(
builder,
presentedSubitemAtURL_didLoseVersion_,
);
NSFilePresenter.presentedSubitemAtURL_didResolveConflictVersion_
.implementAsBlocking(
builder,
presentedSubitemAtURL_didResolveConflictVersion_,
);
builder.addProtocol($protocol);
return NSFilePresenter.castFrom(
builder.build(keepIsolateAlive: $keepIsolateAlive),
);
}