addToBuilderAsBlocking static method

void addToBuilderAsBlocking(
  1. ObjCProtocolBuilder builder, {
  2. required NSArray itemsForSharingServicePickerToolbarItem_(
    1. NSSharingServicePickerToolbarItem
    ),
  3. NSArray sharingServicePicker_sharingServicesForItems_proposedSharingServices_(
    1. NSSharingServicePicker,
    2. NSArray,
    3. NSArray
    )?,
  4. NSSharingServiceDelegate? sharingServicePicker_delegateForSharingService_(
    1. NSSharingServicePicker,
    2. NSSharingService
    )?,
  5. void sharingServicePicker_didChooseSharingService_(
    1. NSSharingServicePicker,
    2. NSSharingService?
    )?,
  6. NSArray? sharingServicePickerCollaborationModeRestrictions_(
    1. NSSharingServicePicker
    )?,
  7. bool $keepIsolateAlive = true,
})
override

Adds the implementation of the NSSharingServicePickerToolbarItemDelegate protocol to an existing objc.ObjCProtocolBuilder. All methods that can be implemented as blocking listeners will be.

Note: You cannot call this method after you have called builder.build.

Implementation

static void addToBuilderAsBlocking(
  objc.ObjCProtocolBuilder builder, {
  required objc.NSArray Function(NSSharingServicePickerToolbarItem)
  itemsForSharingServicePickerToolbarItem_,
  objc.NSArray Function(NSSharingServicePicker, objc.NSArray, objc.NSArray)?
  sharingServicePicker_sharingServicesForItems_proposedSharingServices_,
  NSSharingServiceDelegate? Function(
    NSSharingServicePicker,
    NSSharingService,
  )?
  sharingServicePicker_delegateForSharingService_,
  void Function(NSSharingServicePicker, NSSharingService?)?
  sharingServicePicker_didChooseSharingService_,
  objc.NSArray? Function(NSSharingServicePicker)?
  sharingServicePickerCollaborationModeRestrictions_,
  bool $keepIsolateAlive = true,
}) {
  NSSharingServicePickerToolbarItemDelegate
      .itemsForSharingServicePickerToolbarItem_
      .implement(builder, itemsForSharingServicePickerToolbarItem_);
  NSSharingServicePickerToolbarItemDelegate
      .sharingServicePicker_sharingServicesForItems_proposedSharingServices_
      .implement(
        builder,
        sharingServicePicker_sharingServicesForItems_proposedSharingServices_,
      );
  NSSharingServicePickerToolbarItemDelegate
      .sharingServicePicker_delegateForSharingService_
      .implement(builder, sharingServicePicker_delegateForSharingService_);
  NSSharingServicePickerToolbarItemDelegate
      .sharingServicePicker_didChooseSharingService_
      .implementAsBlocking(
        builder,
        sharingServicePicker_didChooseSharingService_,
      );
  NSSharingServicePickerToolbarItemDelegate
      .sharingServicePickerCollaborationModeRestrictions_
      .implement(builder, sharingServicePickerCollaborationModeRestrictions_);
  builder.addProtocol($protocol);
}