implementAsBlocking static method
NSURLHandleClient
implementAsBlocking({
- required void URLHandle_resourceDataDidBecomeAvailable_(
- NSURLHandle,
- NSData
- required void URLHandleResourceDidBeginLoading_(
- NSURLHandle
- required void URLHandleResourceDidFinishLoading_(
- NSURLHandle
- required void URLHandleResourceDidCancelLoading_(
- NSURLHandle
- required void URLHandle_resourceDidFailLoadingWithReason_(
- NSURLHandle,
- NSString
- bool $keepIsolateAlive = true,
Builds an object that implements the NSURLHandleClient 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 NSURLHandleClient implementAsBlocking({
required void Function(objc.NSURLHandle, objc.NSData)
URLHandle_resourceDataDidBecomeAvailable_,
required void Function(objc.NSURLHandle) URLHandleResourceDidBeginLoading_,
required void Function(objc.NSURLHandle) URLHandleResourceDidFinishLoading_,
required void Function(objc.NSURLHandle) URLHandleResourceDidCancelLoading_,
required void Function(objc.NSURLHandle, objc.NSString)
URLHandle_resourceDidFailLoadingWithReason_,
bool $keepIsolateAlive = true,
}) {
final builder = objc.ObjCProtocolBuilder(debugName: 'NSURLHandleClient');
NSURLHandleClient
.URLHandle_resourceDataDidBecomeAvailable_.implementAsBlocking(
builder,
URLHandle_resourceDataDidBecomeAvailable_,
);
NSURLHandleClient.URLHandleResourceDidBeginLoading_.implementAsBlocking(
builder,
URLHandleResourceDidBeginLoading_,
);
NSURLHandleClient.URLHandleResourceDidFinishLoading_.implementAsBlocking(
builder,
URLHandleResourceDidFinishLoading_,
);
NSURLHandleClient.URLHandleResourceDidCancelLoading_.implementAsBlocking(
builder,
URLHandleResourceDidCancelLoading_,
);
NSURLHandleClient
.URLHandle_resourceDidFailLoadingWithReason_.implementAsBlocking(
builder,
URLHandle_resourceDidFailLoadingWithReason_,
);
builder.addProtocol($protocol);
return NSURLHandleClient.castFrom(
builder.build(keepIsolateAlive: $keepIsolateAlive),
);
}