/* * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ #import "FlipperReactNativeJavaScriptPlugin.h" #import #import #import "FlipperModule.h" @implementation FlipperReactNativeJavaScriptPlugin { NSString *_pluginId; BOOL _inBackground; } - (instancetype)initWithFlipperModule:(FlipperModule *)module pluginId:(NSString *)pluginId inBackground:(BOOL)inBackground { if (self = [super init]) { _module = module; _pluginId = pluginId; _inBackground = inBackground; } return self; } - (NSString *)identifier { return _pluginId; } - (BOOL)runInBackground { return _inBackground; } - (void)didConnect:(id)connection { _connection = connection; [self fireOnConnect]; } - (void)didDisconnect { _connection = nil; [_module sendEventWithName:@"react-native-flipper-plugin-disconnect" body:[self pluginParams]]; } - (BOOL)isConnected { return _connection != nil; } - (void)fireOnConnect { [_module sendEventWithName:@"react-native-flipper-plugin-connect" body:[self pluginParams]]; } - (id)pluginParams { return @{@"plugin": _pluginId}; } @end