Initialise Flipper on module initialisation
Summary: ^ This diff brings most things together and can be considered the test platform for RNW. With this, Flipper client gets initialised and started. This means the application connects and is ready for debugging. Reviewed By: antonk52 Differential Revision: D39054912 fbshipit-source-id: 94397f6a72b1e9d9c0f2f3efaf9967be525076cd
This commit is contained in:
committed by
Facebook GitHub Bot
parent
69df1ee362
commit
322a1ba6b1
@@ -7,22 +7,53 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <folly/dynamic.h>
|
||||
#include <folly/json.h>
|
||||
#include "JSValue.h"
|
||||
#include "NativeModules.h"
|
||||
|
||||
#include <FlipperReactDeviceInfo.h>
|
||||
#include <FlipperReactScheduler.h>
|
||||
#include <FlipperReactSocket.h>
|
||||
#include "../../../../xplat/Flipper/FlipperClient.h"
|
||||
#include "../../../../xplat/Flipper/FlipperInitConfig.h"
|
||||
#include "../../../../xplat/Flipper/FlipperScheduler.h"
|
||||
#include "../../../../xplat/Flipper/FlipperSocketProvider.h"
|
||||
|
||||
using namespace winrt::Microsoft::ReactNative;
|
||||
|
||||
namespace winrt::ReactNativeFlipper {
|
||||
|
||||
REACT_MODULE(FlipperModule, L"Flipper")
|
||||
struct FlipperModule {
|
||||
std::unique_ptr<facebook::flipper::Scheduler> sonarScheduler;
|
||||
std::unique_ptr<facebook::flipper::Scheduler> connectionScheduler;
|
||||
|
||||
REACT_INIT(Initialize)
|
||||
void Initialize(ReactContext const& reactContext) noexcept {
|
||||
m_reactContext = reactContext;
|
||||
|
||||
// Initialise flipper, etc.
|
||||
sonarScheduler =
|
||||
std::make_unique<facebook::flipper::FlipperReactScheduler>();
|
||||
connectionScheduler =
|
||||
std::make_unique<facebook::flipper::FlipperReactScheduler>();
|
||||
|
||||
facebook::flipper::FlipperReactDeviceInfo deviceInfo;
|
||||
facebook::flipper::FlipperInitConfig config;
|
||||
config.deviceData.host = deviceInfo.getHost();
|
||||
config.deviceData.os = deviceInfo.getOS();
|
||||
config.deviceData.device = deviceInfo.getDevice();
|
||||
config.deviceData.deviceId = deviceInfo.getDeviceId();
|
||||
config.deviceData.app = deviceInfo.getAppName();
|
||||
config.deviceData.appId = deviceInfo.getAppId();
|
||||
config.deviceData.privateAppDirectory = deviceInfo.getAppStorageDirectory();
|
||||
config.callbackWorker = sonarScheduler.get();
|
||||
config.connectionWorker = connectionScheduler.get();
|
||||
|
||||
facebook::flipper::FlipperClient::init(config);
|
||||
|
||||
facebook::flipper::FlipperSocketProvider::setDefaultProvider(
|
||||
std::make_unique<facebook::flipper::FlipperWebSocketProvider>());
|
||||
|
||||
facebook::flipper::FlipperClient::instance()->start();
|
||||
}
|
||||
|
||||
REACT_METHOD(registerPlugin)
|
||||
|
||||
Reference in New Issue
Block a user