flutter_cast_framework_modern/ios/Classes/HostApis.m
gianlucaparadise 4e56530e63 Pigeon: Definitions for showCastDialog
- Generated Pigeons for `HostApis` in Android and iOS
2021-11-01 16:29:02 +01:00

140 lines
4.2 KiB
Objective-C

// Autogenerated from Pigeon (v1.0.8), do not edit directly.
// See also: https://pub.dev/packages/pigeon
#import "HostApis.h"
#import <Flutter/Flutter.h>
#if !__has_feature(objc_arc)
#error File requires ARC to be enabled.
#endif
static NSDictionary<NSString *, id> *wrapResult(id result, FlutterError *error) {
NSDictionary *errorDict = (NSDictionary *)[NSNull null];
if (error) {
errorDict = @{
@"code": (error.code ? error.code : [NSNull null]),
@"message": (error.message ? error.message : [NSNull null]),
@"details": (error.details ? error.details : [NSNull null]),
};
}
return @{
@"result": (result ? result : [NSNull null]),
@"error": errorDict,
};
}
@interface CastMessage ()
+ (CastMessage *)fromMap:(NSDictionary *)dict;
- (NSDictionary *)toMap;
@end
@implementation CastMessage
+ (CastMessage *)fromMap:(NSDictionary *)dict {
CastMessage *result = [[CastMessage alloc] init];
result.namespace = dict[@"namespace"];
if ((NSNull *)result.namespace == [NSNull null]) {
result.namespace = nil;
}
result.message = dict[@"message"];
if ((NSNull *)result.message == [NSNull null]) {
result.message = nil;
}
return result;
}
- (NSDictionary *)toMap {
return [NSDictionary dictionaryWithObjectsAndKeys:(self.namespace ? self.namespace : [NSNull null]), @"namespace", (self.message ? self.message : [NSNull null]), @"message", nil];
}
@end
@interface CastApiCodecReader : FlutterStandardReader
@end
@implementation CastApiCodecReader
- (nullable id)readValueOfType:(UInt8)type
{
switch (type) {
case 128:
return [CastMessage fromMap:[self readValue]];
default:
return [super readValueOfType:type];
}
}
@end
@interface CastApiCodecWriter : FlutterStandardWriter
@end
@implementation CastApiCodecWriter
- (void)writeValue:(id)value
{
if ([value isKindOfClass:[CastMessage class]]) {
[self writeByte:128];
[self writeValue:[value toMap]];
} else
{
[super writeValue:value];
}
}
@end
@interface CastApiCodecReaderWriter : FlutterStandardReaderWriter
@end
@implementation CastApiCodecReaderWriter
- (FlutterStandardWriter *)writerWithData:(NSMutableData *)data {
return [[CastApiCodecWriter alloc] initWithData:data];
}
- (FlutterStandardReader *)readerWithData:(NSData *)data {
return [[CastApiCodecReader alloc] initWithData:data];
}
@end
NSObject<FlutterMessageCodec> *CastApiGetCodec() {
static dispatch_once_t s_pred = 0;
static FlutterStandardMessageCodec *s_sharedObject = nil;
dispatch_once(&s_pred, ^{
CastApiCodecReaderWriter *readerWriter = [[CastApiCodecReaderWriter alloc] init];
s_sharedObject = [FlutterStandardMessageCodec codecWithReaderWriter:readerWriter];
});
return s_sharedObject;
}
void CastApiSetup(id<FlutterBinaryMessenger> binaryMessenger, NSObject<CastApi> *api) {
{
FlutterBasicMessageChannel *channel =
[FlutterBasicMessageChannel
messageChannelWithName:@"dev.flutter.pigeon.CastApi.sendMessage"
binaryMessenger:binaryMessenger
codec:CastApiGetCodec()];
if (api) {
NSCAssert([api respondsToSelector:@selector(sendMessageMessage:error:)], @"CastApi api (%@) doesn't respond to @selector(sendMessageMessage:error:)", api);
[channel setMessageHandler:^(id _Nullable message, FlutterReply callback) {
NSArray *args = message;
CastMessage *arg_message = args[0];
FlutterError *error;
[api sendMessageMessage:arg_message error:&error];
callback(wrapResult(nil, error));
}];
}
else {
[channel setMessageHandler:nil];
}
}
{
FlutterBasicMessageChannel *channel =
[FlutterBasicMessageChannel
messageChannelWithName:@"dev.flutter.pigeon.CastApi.showCastDialog"
binaryMessenger:binaryMessenger
codec:CastApiGetCodec()];
if (api) {
NSCAssert([api respondsToSelector:@selector(showCastDialogWithError:)], @"CastApi api (%@) doesn't respond to @selector(showCastDialogWithError:)", api);
[channel setMessageHandler:^(id _Nullable message, FlutterReply callback) {
FlutterError *error;
[api showCastDialogWithError:&error];
callback(wrapResult(nil, error));
}];
}
else {
[channel setMessageHandler:nil];
}
}
}