207 lines
6.5 KiB
Objective-C
207 lines
6.5 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];
|
|
}
|
|
}
|
|
}
|
|
@interface CastFlutterApiCodecReader : FlutterStandardReader
|
|
@end
|
|
@implementation CastFlutterApiCodecReader
|
|
@end
|
|
|
|
@interface CastFlutterApiCodecWriter : FlutterStandardWriter
|
|
@end
|
|
@implementation CastFlutterApiCodecWriter
|
|
@end
|
|
|
|
@interface CastFlutterApiCodecReaderWriter : FlutterStandardReaderWriter
|
|
@end
|
|
@implementation CastFlutterApiCodecReaderWriter
|
|
- (FlutterStandardWriter *)writerWithData:(NSMutableData *)data {
|
|
return [[CastFlutterApiCodecWriter alloc] initWithData:data];
|
|
}
|
|
- (FlutterStandardReader *)readerWithData:(NSData *)data {
|
|
return [[CastFlutterApiCodecReader alloc] initWithData:data];
|
|
}
|
|
@end
|
|
|
|
NSObject<FlutterMessageCodec> *CastFlutterApiGetCodec() {
|
|
static dispatch_once_t s_pred = 0;
|
|
static FlutterStandardMessageCodec *s_sharedObject = nil;
|
|
dispatch_once(&s_pred, ^{
|
|
CastFlutterApiCodecReaderWriter *readerWriter = [[CastFlutterApiCodecReaderWriter alloc] init];
|
|
s_sharedObject = [FlutterStandardMessageCodec codecWithReaderWriter:readerWriter];
|
|
});
|
|
return s_sharedObject;
|
|
}
|
|
|
|
|
|
@interface CastFlutterApi ()
|
|
@property (nonatomic, strong) NSObject<FlutterBinaryMessenger> *binaryMessenger;
|
|
@end
|
|
|
|
@implementation CastFlutterApi
|
|
- (instancetype)initWithBinaryMessenger:(NSObject<FlutterBinaryMessenger> *)binaryMessenger {
|
|
self = [super init];
|
|
if (self) {
|
|
_binaryMessenger = binaryMessenger;
|
|
}
|
|
return self;
|
|
}
|
|
|
|
- (void)getSessionMessageNamespacesWithCompletion:(void(^)(NSArray<NSString *> *, NSError *_Nullable))completion {
|
|
FlutterBasicMessageChannel *channel =
|
|
[FlutterBasicMessageChannel
|
|
messageChannelWithName:@"dev.flutter.pigeon.CastFlutterApi.getSessionMessageNamespaces"
|
|
binaryMessenger:self.binaryMessenger
|
|
codec:CastFlutterApiGetCodec()];
|
|
[channel sendMessage:nil reply:^(id reply) {
|
|
NSArray<NSString *> *output = reply;
|
|
completion(output, nil);
|
|
}];
|
|
}
|
|
- (void)onCastStateChangedCastState:(NSNumber *)arg_castState completion:(void(^)(NSError *_Nullable))completion {
|
|
FlutterBasicMessageChannel *channel =
|
|
[FlutterBasicMessageChannel
|
|
messageChannelWithName:@"dev.flutter.pigeon.CastFlutterApi.onCastStateChanged"
|
|
binaryMessenger:self.binaryMessenger
|
|
codec:CastFlutterApiGetCodec()];
|
|
[channel sendMessage:@[arg_castState] reply:^(id reply) {
|
|
completion(nil);
|
|
}];
|
|
}
|
|
@end
|