implementAsBlocking static method
NSFilePromiseProviderDelegate
implementAsBlocking({
- required NSString filePromiseProvider_fileNameForType_(
- NSFilePromiseProvider,
- NSString
- required void filePromiseProvider_writePromiseToURL_completionHandler_(
- NSFilePromiseProvider,
- NSURL,
- ObjCBlock<
Void Function(NSError?)>
- NSOperationQueue operationQueueForFilePromiseProvider_()?,
- bool $keepIsolateAlive = true,
Builds an object that implements the NSFilePromiseProviderDelegate 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 NSFilePromiseProviderDelegate implementAsBlocking({
required objc.NSString Function(NSFilePromiseProvider, objc.NSString)
filePromiseProvider_fileNameForType_,
required void Function(
NSFilePromiseProvider,
objc.NSURL,
objc.ObjCBlock<ffi.Void Function(objc.NSError?)>,
)
filePromiseProvider_writePromiseToURL_completionHandler_,
NSOperationQueue Function(NSFilePromiseProvider)?
operationQueueForFilePromiseProvider_,
bool $keepIsolateAlive = true,
}) {
final builder = objc.ObjCProtocolBuilder(
debugName: 'NSFilePromiseProviderDelegate',
);
NSFilePromiseProviderDelegate.filePromiseProvider_fileNameForType_
.implement(builder, filePromiseProvider_fileNameForType_);
NSFilePromiseProviderDelegate
.filePromiseProvider_writePromiseToURL_completionHandler_
.implementAsBlocking(
builder,
filePromiseProvider_writePromiseToURL_completionHandler_,
);
NSFilePromiseProviderDelegate.operationQueueForFilePromiseProvider_
.implement(builder, operationQueueForFilePromiseProvider_);
builder.addProtocol($protocol);
return NSFilePromiseProviderDelegate.castFrom(
builder.build(keepIsolateAlive: $keepIsolateAlive),
);
}