messages.m
4.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
// Autogenerated from Pigeon (v1.0.2), do not edit directly.
// See also: https://pub.dev/packages/pigeon
#import "messages.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 FLTToggleMessage ()
+ (FLTToggleMessage *)fromMap:(NSDictionary *)dict;
- (NSDictionary *)toMap;
@end
@interface FLTIsEnabledMessage ()
+ (FLTIsEnabledMessage *)fromMap:(NSDictionary *)dict;
- (NSDictionary *)toMap;
@end
@implementation FLTToggleMessage
+ (FLTToggleMessage *)fromMap:(NSDictionary *)dict {
FLTToggleMessage *result = [[FLTToggleMessage alloc] init];
result.enable = dict[@"enable"];
if ((NSNull *)result.enable == [NSNull null]) {
result.enable = nil;
}
return result;
}
- (NSDictionary *)toMap {
return [NSDictionary dictionaryWithObjectsAndKeys:(self.enable ? self.enable : [NSNull null]), @"enable", nil];
}
@end
@implementation FLTIsEnabledMessage
+ (FLTIsEnabledMessage *)fromMap:(NSDictionary *)dict {
FLTIsEnabledMessage *result = [[FLTIsEnabledMessage alloc] init];
result.enabled = dict[@"enabled"];
if ((NSNull *)result.enabled == [NSNull null]) {
result.enabled = nil;
}
return result;
}
- (NSDictionary *)toMap {
return [NSDictionary dictionaryWithObjectsAndKeys:(self.enabled ? self.enabled : [NSNull null]), @"enabled", nil];
}
@end
@interface FLTWakelockApiCodecReader : FlutterStandardReader
@end
@implementation FLTWakelockApiCodecReader
- (nullable id)readValueOfType:(UInt8)type
{
switch (type) {
case 128:
return [FLTIsEnabledMessage fromMap:[self readValue]];
case 129:
return [FLTToggleMessage fromMap:[self readValue]];
default:
return [super readValueOfType:type];
}
}
@end
@interface FLTWakelockApiCodecWriter : FlutterStandardWriter
@end
@implementation FLTWakelockApiCodecWriter
- (void)writeValue:(id)value
{
if ([value isKindOfClass:[FLTIsEnabledMessage class]]) {
[self writeByte:128];
[self writeValue:[value toMap]];
} else
if ([value isKindOfClass:[FLTToggleMessage class]]) {
[self writeByte:129];
[self writeValue:[value toMap]];
} else
{
[super writeValue:value];
}
}
@end
@interface FLTWakelockApiCodecReaderWriter : FlutterStandardReaderWriter
@end
@implementation FLTWakelockApiCodecReaderWriter
- (FlutterStandardWriter *)writerWithData:(NSMutableData *)data {
return [[FLTWakelockApiCodecWriter alloc] initWithData:data];
}
- (FlutterStandardReader *)readerWithData:(NSData *)data {
return [[FLTWakelockApiCodecReader alloc] initWithData:data];
}
@end
NSObject<FlutterMessageCodec> *FLTWakelockApiGetCodec() {
static dispatch_once_t s_pred = 0;
static FlutterStandardMessageCodec *s_sharedObject = nil;
dispatch_once(&s_pred, ^{
FLTWakelockApiCodecReaderWriter *readerWriter = [[FLTWakelockApiCodecReaderWriter alloc] init];
s_sharedObject = [FlutterStandardMessageCodec codecWithReaderWriter:readerWriter];
});
return s_sharedObject;
}
void FLTWakelockApiSetup(id<FlutterBinaryMessenger> binaryMessenger, NSObject<FLTWakelockApi> *api) {
{
FlutterBasicMessageChannel *channel =
[FlutterBasicMessageChannel
messageChannelWithName:@"dev.flutter.pigeon.WakelockApi.toggle"
binaryMessenger:binaryMessenger
codec:FLTWakelockApiGetCodec()];
if (api) {
NSCAssert([api respondsToSelector:@selector(toggleMsg:error:)], @"FLTWakelockApi api doesn't respond to @selector(toggleMsg:error:)");
[channel setMessageHandler:^(id _Nullable message, FlutterReply callback) {
NSArray *args = message;
FLTToggleMessage *arg_msg = args[0];
FlutterError *error;
[api toggleMsg:arg_msg error:&error];
callback(wrapResult(nil, error));
}];
}
else {
[channel setMessageHandler:nil];
}
}
{
FlutterBasicMessageChannel *channel =
[FlutterBasicMessageChannel
messageChannelWithName:@"dev.flutter.pigeon.WakelockApi.isEnabled"
binaryMessenger:binaryMessenger
codec:FLTWakelockApiGetCodec()];
if (api) {
NSCAssert([api respondsToSelector:@selector(isEnabledWithError:)], @"FLTWakelockApi api doesn't respond to @selector(isEnabledWithError:)");
[channel setMessageHandler:^(id _Nullable message, FlutterReply callback) {
FlutterError *error;
FLTIsEnabledMessage *output = [api isEnabledWithError:&error];
callback(wrapResult(output, error));
}];
}
else {
[channel setMessageHandler:nil];
}
}
}