implement static method

NSAccessibilitySwitch implement({
  1. required NSString? accessibilityValue(),
  2. bool accessibilityPerformIncrement()?,
  3. bool accessibilityPerformDecrement()?,
  4. required NSString? accessibilityLabel(),
  5. required bool accessibilityPerformPress(),
  6. required CGRect accessibilityFrame(),
  7. required ObjCObjectBase? accessibilityParent(),
  8. bool isAccessibilityFocused()?,
  9. NSString accessibilityIdentifier()?,
  10. bool $keepIsolateAlive = true,
})
override

Builds an object that implements the NSAccessibilitySwitch 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 NSAccessibilitySwitch implement({
  required DartNSUserInterfaceItemIdentifier? Function() accessibilityValue,
  bool Function()? accessibilityPerformIncrement,
  bool Function()? accessibilityPerformDecrement,
  required DartNSUserInterfaceItemIdentifier? Function() accessibilityLabel,
  required bool Function() accessibilityPerformPress,
  required NSRect Function() accessibilityFrame,
  required objc.ObjCObjectBase? Function() accessibilityParent,
  bool Function()? isAccessibilityFocused,
  objc.NSString Function()? accessibilityIdentifier,
  bool $keepIsolateAlive = true,
}) {
  final builder = objc.ObjCProtocolBuilder(
    debugName: 'NSAccessibilitySwitch',
  );
  NSAccessibilitySwitch.accessibilityValue.implement(
    builder,
    accessibilityValue,
  );
  NSAccessibilitySwitch.accessibilityPerformIncrement.implement(
    builder,
    accessibilityPerformIncrement,
  );
  NSAccessibilitySwitch.accessibilityPerformDecrement.implement(
    builder,
    accessibilityPerformDecrement,
  );
  NSAccessibilitySwitch.accessibilityLabel.implement(
    builder,
    accessibilityLabel,
  );
  NSAccessibilitySwitch.accessibilityPerformPress.implement(
    builder,
    accessibilityPerformPress,
  );
  NSAccessibilitySwitch.accessibilityFrame.implement(
    builder,
    accessibilityFrame,
  );
  NSAccessibilitySwitch.accessibilityParent.implement(
    builder,
    accessibilityParent,
  );
  NSAccessibilitySwitch.isAccessibilityFocused.implement(
    builder,
    isAccessibilityFocused,
  );
  NSAccessibilitySwitch.accessibilityIdentifier.implement(
    builder,
    accessibilityIdentifier,
  );
  builder.addProtocol($protocol);
  return NSAccessibilitySwitch.castFrom(
    builder.build(keepIsolateAlive: $keepIsolateAlive),
  );
}