implementAsBlocking static method

NSNetServiceBrowserDelegate implementAsBlocking({
  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. 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 NSNetServiceBrowserDelegate implementAsBlocking({
  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_
      .implementAsBlocking(builder, netServiceBrowserWillSearch_);
  NSNetServiceBrowserDelegate.netServiceBrowserDidStopSearch_
      .implementAsBlocking(builder, netServiceBrowserDidStopSearch_);
  NSNetServiceBrowserDelegate.netServiceBrowser_didNotSearch_
      .implementAsBlocking(builder, netServiceBrowser_didNotSearch_);
  NSNetServiceBrowserDelegate.netServiceBrowser_didFindDomain_moreComing_
      .implementAsBlocking(
        builder,
        netServiceBrowser_didFindDomain_moreComing_,
      );
  NSNetServiceBrowserDelegate.netServiceBrowser_didFindService_moreComing_
      .implementAsBlocking(
        builder,
        netServiceBrowser_didFindService_moreComing_,
      );
  NSNetServiceBrowserDelegate.netServiceBrowser_didRemoveDomain_moreComing_
      .implementAsBlocking(
        builder,
        netServiceBrowser_didRemoveDomain_moreComing_,
      );
  NSNetServiceBrowserDelegate.netServiceBrowser_didRemoveService_moreComing_
      .implementAsBlocking(
        builder,
        netServiceBrowser_didRemoveService_moreComing_,
      );
  builder.addProtocol($protocol);
  return NSNetServiceBrowserDelegate.castFrom(
    builder.build(keepIsolateAlive: $keepIsolateAlive),
  );
}