implement static method
PDEPlugInCallbackProtocol
implement({
- required PMPrintSession printSession(),
- required PMPrintSettings printSettings(),
- required PMPageFormat pageFormat(),
- required PMPrinter PMPrinter$1(),
- required Pointer<
ppd_file_s> ppdFile(), - required bool willChangePPDOptionKeyValue_ppdChoice_(
- NSString,
- NSString
- bool $keepIsolateAlive = true,
Builds an object that implements the PDEPlugInCallbackProtocol 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 PDEPlugInCallbackProtocol implement({
required PMPrintSession Function() printSession,
required PMPrintSettings Function() printSettings,
required PMPageFormat Function() pageFormat,
required PMPrinter Function() PMPrinter$1,
required ffi.Pointer<ppd_file_s> Function() ppdFile,
required bool Function(objc.NSString, objc.NSString)
willChangePPDOptionKeyValue_ppdChoice_,
bool $keepIsolateAlive = true,
}) {
final builder = objc.ObjCProtocolBuilder(
debugName: 'PDEPlugInCallbackProtocol',
);
PDEPlugInCallbackProtocol.printSession.implement(builder, printSession);
PDEPlugInCallbackProtocol.printSettings.implement(builder, printSettings);
PDEPlugInCallbackProtocol.pageFormat.implement(builder, pageFormat);
PDEPlugInCallbackProtocol.PMPrinter$1.implement(builder, PMPrinter$1);
PDEPlugInCallbackProtocol.ppdFile.implement(builder, ppdFile);
PDEPlugInCallbackProtocol.willChangePPDOptionKeyValue_ppdChoice_.implement(
builder,
willChangePPDOptionKeyValue_ppdChoice_,
);
builder.addProtocol($protocol);
return PDEPlugInCallbackProtocol.castFrom(
builder.build(keepIsolateAlive: $keepIsolateAlive),
);
}