implement static method

NSNetServiceBrowserDelegate implement({
  1. void netServiceBrowserWillSearch_(
    1. NSNetServiceBrowser
    )?,
  2. void netServiceBrowserDidStopSearch_(
    1. NSNetServiceBrowser
    )?,
  3. void netServiceBrowser_didNotSearch_(
    1. NSNetServiceBrowser,
    2. NSDictionary
    )?,
  4. void netServiceBrowser_didFindDomain_moreComing_(
    1. NSNetServiceBrowser,
    2. NSString,
    3. bool
    )?,
  5. void netServiceBrowser_didFindService_moreComing_(
    1. NSNetServiceBrowser,
    2. NSNetService,
    3. bool
    )?,
  6. void netServiceBrowser_didRemoveDomain_moreComing_(
    1. NSNetServiceBrowser,
    2. NSString,
    3. bool
    )?,
  7. void netServiceBrowser_didRemoveService_moreComing_(
    1. NSNetServiceBrowser,
    2. NSNetService,
    3. bool
    )?,
  8. bool $keepIsolateAlive = true,
})

Builds an object that implements the NSNetServiceBrowserDelegate 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 NSNetServiceBrowserDelegate implement({
  void Function(NSNetServiceBrowser)? netServiceBrowserWillSearch_,
  void Function(NSNetServiceBrowser)? netServiceBrowserDidStopSearch_,
  void Function(NSNetServiceBrowser, objc.NSDictionary)?
  netServiceBrowser_didNotSearch_,
  void Function(NSNetServiceBrowser, objc.NSString, bool)?
  netServiceBrowser_didFindDomain_moreComing_,
  void Function(NSNetServiceBrowser, NSNetService, bool)?
  netServiceBrowser_didFindService_moreComing_,
  void Function(NSNetServiceBrowser, objc.NSString, bool)?
  netServiceBrowser_didRemoveDomain_moreComing_,
  void Function(NSNetServiceBrowser, NSNetService, bool)?
  netServiceBrowser_didRemoveService_moreComing_,
  bool $keepIsolateAlive = true,
}) {
  final builder = objc.ObjCProtocolBuilder(
    debugName: 'NSNetServiceBrowserDelegate',
  );
  NSNetServiceBrowserDelegate.netServiceBrowserWillSearch_.implement(
    builder,
    netServiceBrowserWillSearch_,
  );
  NSNetServiceBrowserDelegate.netServiceBrowserDidStopSearch_.implement(
    builder,
    netServiceBrowserDidStopSearch_,
  );
  NSNetServiceBrowserDelegate.netServiceBrowser_didNotSearch_.implement(
    builder,
    netServiceBrowser_didNotSearch_,
  );
  NSNetServiceBrowserDelegate.netServiceBrowser_didFindDomain_moreComing_
      .implement(builder, netServiceBrowser_didFindDomain_moreComing_);
  NSNetServiceBrowserDelegate.netServiceBrowser_didFindService_moreComing_
      .implement(builder, netServiceBrowser_didFindService_moreComing_);
  NSNetServiceBrowserDelegate.netServiceBrowser_didRemoveDomain_moreComing_
      .implement(builder, netServiceBrowser_didRemoveDomain_moreComing_);
  NSNetServiceBrowserDelegate.netServiceBrowser_didRemoveService_moreComing_
      .implement(builder, netServiceBrowser_didRemoveService_moreComing_);
  builder.addProtocol($protocol);
  return NSNetServiceBrowserDelegate.castFrom(
    builder.build(keepIsolateAlive: $keepIsolateAlive),
  );
}