Pigeon: Definitions for getSessionMessageNamespaces
- Generated Pigeons for `HostApis` in Android and iOS
This commit is contained in:
parent
3768c925b2
commit
41dd086a38
5 changed files with 121 additions and 0 deletions
|
|
@ -127,6 +127,34 @@ public class HostApis {
|
|||
}
|
||||
}
|
||||
}
|
||||
private static class CastFlutterApiCodec extends StandardMessageCodec {
|
||||
public static final CastFlutterApiCodec INSTANCE = new CastFlutterApiCodec();
|
||||
private CastFlutterApiCodec() {}
|
||||
}
|
||||
|
||||
/** Generated class from Pigeon that represents Flutter messages that can be called from Java.*/
|
||||
public static class CastFlutterApi {
|
||||
private final BinaryMessenger binaryMessenger;
|
||||
public CastFlutterApi(BinaryMessenger argBinaryMessenger){
|
||||
this.binaryMessenger = argBinaryMessenger;
|
||||
}
|
||||
public interface Reply<T> {
|
||||
void reply(T reply);
|
||||
}
|
||||
static MessageCodec<Object> getCodec() {
|
||||
return CastFlutterApiCodec.INSTANCE;
|
||||
}
|
||||
|
||||
public void getSessionMessageNamespaces(Reply<List<String>> callback) {
|
||||
BasicMessageChannel<Object> channel =
|
||||
new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.CastFlutterApi.getSessionMessageNamespaces", getCodec());
|
||||
channel.send(null, channelReply -> {
|
||||
@SuppressWarnings("ConstantConditions")
|
||||
List<String> output = (List<String>)channelReply;
|
||||
callback.reply(output);
|
||||
});
|
||||
}
|
||||
}
|
||||
private static Map<String, Object> wrapError(Throwable exception) {
|
||||
Map<String, Object> errorMap = new HashMap<>();
|
||||
errorMap.put("message", exception.toString());
|
||||
|
|
|
|||
|
|
@ -25,4 +25,11 @@ NSObject<FlutterMessageCodec> *CastApiGetCodec(void);
|
|||
|
||||
extern void CastApiSetup(id<FlutterBinaryMessenger> binaryMessenger, NSObject<CastApi> *_Nullable api);
|
||||
|
||||
/// The codec used by CastFlutterApi.
|
||||
NSObject<FlutterMessageCodec> *CastFlutterApiGetCodec(void);
|
||||
|
||||
@interface CastFlutterApi : NSObject
|
||||
- (instancetype)initWithBinaryMessenger:(id<FlutterBinaryMessenger>)binaryMessenger;
|
||||
- (void)getSessionMessageNamespacesWithCompletion:(void(^)(NSArray<NSString *> *, NSError *_Nullable))completion;
|
||||
@end
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
|
|
|||
|
|
@ -138,3 +138,60 @@ void CastApiSetup(id<FlutterBinaryMessenger> binaryMessenger, NSObject<CastApi>
|
|||
}
|
||||
}
|
||||
}
|
||||
@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);
|
||||
}];
|
||||
}
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -108,3 +108,27 @@ class CastApi {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
class _CastFlutterApiCodec extends StandardMessageCodec {
|
||||
const _CastFlutterApiCodec();
|
||||
}
|
||||
abstract class CastFlutterApi {
|
||||
static const MessageCodec<Object?> codec = _CastFlutterApiCodec();
|
||||
|
||||
List<String?> getSessionMessageNamespaces();
|
||||
static void setup(CastFlutterApi? api) {
|
||||
{
|
||||
const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
||||
'dev.flutter.pigeon.CastFlutterApi.getSessionMessageNamespaces', codec);
|
||||
if (api == null) {
|
||||
channel.setMessageHandler(null);
|
||||
} else {
|
||||
channel.setMessageHandler((Object? message) async {
|
||||
// ignore message
|
||||
final List<String?> output = api.getSessionMessageNamespaces();
|
||||
return output;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,3 +10,8 @@ abstract class CastApi {
|
|||
void sendMessage(CastMessage message);
|
||||
void showCastDialog();
|
||||
}
|
||||
|
||||
@FlutterApi()
|
||||
abstract class CastFlutterApi {
|
||||
List<String> getSessionMessageNamespaces();
|
||||
}
|
||||
Loading…
Reference in a new issue