implementAsBlocking static method
NSSharingServicePickerTouchBarItemDelegate
implementAsBlocking({
- required NSArray itemsForSharingServicePickerTouchBarItem_(),
- NSArray sharingServicePicker_sharingServicesForItems_proposedSharingServices_(
- NSSharingServicePicker,
- NSArray,
- NSArray
- NSSharingServiceDelegate? sharingServicePicker_delegateForSharingService_()?,
- void sharingServicePicker_didChooseSharingService_()?,
- NSArray? sharingServicePickerCollaborationModeRestrictions_()?,
- bool $keepIsolateAlive = true,
override
Builds an object that implements the NSSharingServicePickerTouchBarItemDelegate 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 NSSharingServicePickerTouchBarItemDelegate implementAsBlocking({
required objc.NSArray Function(NSSharingServicePickerTouchBarItem)
itemsForSharingServicePickerTouchBarItem_,
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,
}) {
final builder = objc.ObjCProtocolBuilder(
debugName: 'NSSharingServicePickerTouchBarItemDelegate',
);
NSSharingServicePickerTouchBarItemDelegate
.itemsForSharingServicePickerTouchBarItem_
.implement(builder, itemsForSharingServicePickerTouchBarItem_);
NSSharingServicePickerTouchBarItemDelegate
.sharingServicePicker_sharingServicesForItems_proposedSharingServices_
.implement(
builder,
sharingServicePicker_sharingServicesForItems_proposedSharingServices_,
);
NSSharingServicePickerTouchBarItemDelegate
.sharingServicePicker_delegateForSharingService_
.implement(builder, sharingServicePicker_delegateForSharingService_);
NSSharingServicePickerTouchBarItemDelegate
.sharingServicePicker_didChooseSharingService_
.implementAsBlocking(
builder,
sharingServicePicker_didChooseSharingService_,
);
NSSharingServicePickerTouchBarItemDelegate
.sharingServicePickerCollaborationModeRestrictions_
.implement(builder, sharingServicePickerCollaborationModeRestrictions_);
builder.addProtocol($protocol);
return NSSharingServicePickerTouchBarItemDelegate.castFrom(
builder.build(keepIsolateAlive: $keepIsolateAlive),
);
}