implement static method

NSServicesMenuRequestor implement({
  1. bool writeSelectionToPasteboard_types_(
    1. NSPasteboard,
    2. NSArray
    )?,
  2. bool readSelectionFromPasteboard_(
    1. NSPasteboard
    )?,
  3. bool $keepIsolateAlive = true,
})

Builds an object that implements the NSServicesMenuRequestor 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 NSServicesMenuRequestor implement({
  bool Function(NSPasteboard, objc.NSArray)?
  writeSelectionToPasteboard_types_,
  bool Function(NSPasteboard)? readSelectionFromPasteboard_,
  bool $keepIsolateAlive = true,
}) {
  final builder = objc.ObjCProtocolBuilder(
    debugName: 'NSServicesMenuRequestor',
  );
  NSServicesMenuRequestor.writeSelectionToPasteboard_types_.implement(
    builder,
    writeSelectionToPasteboard_types_,
  );
  NSServicesMenuRequestor.readSelectionFromPasteboard_.implement(
    builder,
    readSelectionFromPasteboard_,
  );
  builder.addProtocol($protocol);
  return NSServicesMenuRequestor.castFrom(
    builder.build(keepIsolateAlive: $keepIsolateAlive),
  );
}