implement static method
NSItemProviderWriting
implement({
- NSItemProviderRepresentationVisibility itemProviderVisibilityForRepresentationWithTypeIdentifier_()?,
- required NSProgress? loadDataWithTypeIdentifier_forItemProviderCompletionHandler_(),
- NSArray writableTypeIdentifiersForItemProvider()?,
- bool $keepIsolateAlive = true,
Builds an object that implements the NSItemProviderWriting protocol. To implement multiple protocols, use addToBuilder or objc.ObjCProtocolBuilder directly.
If $keepIsolateAlive is true, this protocol will keep this isolate
alive until it is garbage collected by both Dart and ObjC.
Implementation
static NSItemProviderWriting implement({
NSItemProviderRepresentationVisibility Function(NSString)?
itemProviderVisibilityForRepresentationWithTypeIdentifier_,
required NSProgress? Function(
NSString,
objc.ObjCBlock<ffi.Void Function(NSData?, NSError?)>,
)
loadDataWithTypeIdentifier_forItemProviderCompletionHandler_,
NSArray Function()? writableTypeIdentifiersForItemProvider,
bool $keepIsolateAlive = true,
}) {
final builder = objc.ObjCProtocolBuilder(
debugName: 'NSItemProviderWriting',
);
NSItemProviderWriting$Builder
.itemProviderVisibilityForRepresentationWithTypeIdentifier_
.implement(
builder,
itemProviderVisibilityForRepresentationWithTypeIdentifier_,
);
NSItemProviderWriting$Builder
.loadDataWithTypeIdentifier_forItemProviderCompletionHandler_
.implement(
builder,
loadDataWithTypeIdentifier_forItemProviderCompletionHandler_,
);
NSItemProviderWriting$Builder.writableTypeIdentifiersForItemProvider
.implement(builder, writableTypeIdentifiersForItemProvider);
builder.addProtocol($protocol);
return NSItemProviderWriting.as(
builder.build(keepIsolateAlive: $keepIsolateAlive),
);
}