implement static method
PDEPlugIn
implement({
- required Dartinstancetype? initWithBundle_(),
- required NSArray? PDEPanelsForType_withHostInfo_(
- NSString,
- PDEPlugInCallbackProtocol
- bool $keepIsolateAlive = true,
Builds an object that implements the PDEPlugIn 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 PDEPlugIn implement({
required Dartinstancetype? Function(NSBundle) initWithBundle_,
required objc.NSArray? Function(objc.NSString, PDEPlugInCallbackProtocol)
PDEPanelsForType_withHostInfo_,
bool $keepIsolateAlive = true,
}) {
final builder = objc.ObjCProtocolBuilder(debugName: 'PDEPlugIn');
PDEPlugIn.initWithBundle_.implement(builder, initWithBundle_);
PDEPlugIn.PDEPanelsForType_withHostInfo_.implement(
builder,
PDEPanelsForType_withHostInfo_,
);
builder.addProtocol($protocol);
return PDEPlugIn.castFrom(
builder.build(keepIsolateAlive: $keepIsolateAlive),
);
}