implement static method
NSPasteboardWriting
implement({
- required NSArray writableTypesForPasteboard_(
- NSPasteboard pasteboard
- NSPasteboardWritingOptions writingOptionsForType_pasteboard_()?,
- required ObjCObjectBase? pasteboardPropertyListForType_(
- NSString aClassName
- bool $keepIsolateAlive = true,
Builds an object that implements the NSPasteboardWriting 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 NSPasteboardWriting implement({
required objc.NSArray Function(NSPasteboard) writableTypesForPasteboard_,
NSPasteboardWritingOptions Function(DartNSPasteboardType, NSPasteboard)?
writingOptionsForType_pasteboard_,
required objc.ObjCObjectBase? Function(DartNSAnimatablePropertyKey)
pasteboardPropertyListForType_,
bool $keepIsolateAlive = true,
}) {
final builder = objc.ObjCProtocolBuilder(debugName: 'NSPasteboardWriting');
NSPasteboardWriting.writableTypesForPasteboard_.implement(
builder,
writableTypesForPasteboard_,
);
NSPasteboardWriting.writingOptionsForType_pasteboard_.implement(
builder,
writingOptionsForType_pasteboard_,
);
NSPasteboardWriting.pasteboardPropertyListForType_.implement(
builder,
pasteboardPropertyListForType_,
);
builder.addProtocol($protocol);
return NSPasteboardWriting.castFrom(
builder.build(keepIsolateAlive: $keepIsolateAlive),
);
}