AppEventChannel.m 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. //
  2. // AppEventChannel.m
  3. // sensor
  4. //
  5. // Created by MacBookPro on 2023/6/6.
  6. //
  7. #import "AppEventChannel.h"
  8. #import "SensorPlugin.h"
  9. @interface AppEventChannel ()<FlutterStreamHandler>{
  10. FlutterEventSink flutterEventSink;
  11. FlutterEventChannel* flutterEventChannel;
  12. }
  13. @end
  14. @implementation AppEventChannel
  15. - (instancetype)initWithNameMessge:(NSObject<FlutterPluginRegistrar> *)registrar :(NSString *)name{
  16. if (self = [super init]) {
  17. self -> flutterEventChannel = [FlutterEventChannel eventChannelWithName:name binaryMessenger:[registrar messenger]];
  18. [self -> flutterEventChannel setStreamHandler:self];
  19. }
  20. return self;
  21. }
  22. - (FlutterError * _Nullable)onCancelWithArguments:(id _Nullable)arguments {
  23. self -> flutterEventSink = NULL;
  24. return NULL;
  25. }
  26. - (FlutterError * _Nullable)onListenWithArguments:(id _Nullable)arguments eventSink:(nonnull FlutterEventSink)events {
  27. self -> flutterEventSink = events;
  28. return NULL;
  29. }
  30. - (void)success:(id _Nullable) event {
  31. if(self->flutterEventSink != nil){
  32. self-> flutterEventSink(event);
  33. }
  34. }
  35. @end