From c989ea87281f9ee667090b119469754035dfcd7e Mon Sep 17 00:00:00 2001 From: Dmitry Zakharov Date: Thu, 15 Mar 2018 09:21:04 -0700 Subject: [PATCH] Extract NativeExtensionsProvider definition Reviewed By: danzimm Differential Revision: D6964355 fbshipit-source-id: e20dfa99bd9d8784a5f31a313302104d6dc33652 --- ReactAndroid/src/main/jni/react/jni/AndroidJSCFactory.cpp | 2 +- ReactAndroid/src/main/jni/react/jni/AndroidJSCFactory.h | 3 ++- ReactCommon/cxxreact/JSCExecutor.cpp | 2 +- ReactCommon/cxxreact/JSCExecutor.h | 8 ++++---- ReactCommon/cxxreact/JSExecutor.h | 2 ++ 5 files changed, 10 insertions(+), 7 deletions(-) diff --git a/ReactAndroid/src/main/jni/react/jni/AndroidJSCFactory.cpp b/ReactAndroid/src/main/jni/react/jni/AndroidJSCFactory.cpp index ed551a61a..73d774e7d 100644 --- a/ReactAndroid/src/main/jni/react/jni/AndroidJSCFactory.cpp +++ b/ReactAndroid/src/main/jni/react/jni/AndroidJSCFactory.cpp @@ -90,7 +90,7 @@ void injectJSCExecutorAndroidPlatform() { } std::unique_ptr makeAndroidJSCExecutorFactory( - const folly::dynamic& jscConfig, std::function nativeExtensionsProvider) { + const folly::dynamic& jscConfig, NativeExtensionsProvider nativeExtensionsProvider) { detail::injectJSCExecutorAndroidPlatform(); return folly::make_unique(std::move(jscConfig), std::move(nativeExtensionsProvider)); } diff --git a/ReactAndroid/src/main/jni/react/jni/AndroidJSCFactory.h b/ReactAndroid/src/main/jni/react/jni/AndroidJSCFactory.h index e1e782145..5de2f99ee 100644 --- a/ReactAndroid/src/main/jni/react/jni/AndroidJSCFactory.h +++ b/ReactAndroid/src/main/jni/react/jni/AndroidJSCFactory.h @@ -3,6 +3,7 @@ #pragma once #include +#include namespace folly { @@ -23,7 +24,7 @@ void injectJSCExecutorAndroidPlatform(); } std::unique_ptr makeAndroidJSCExecutorFactory( - const folly::dynamic& jscConfig, std::function nativeExtensionsProvider); + const folly::dynamic& jscConfig, NativeExtensionsProvider nativeExtensionsProvider); } } diff --git a/ReactCommon/cxxreact/JSCExecutor.cpp b/ReactCommon/cxxreact/JSCExecutor.cpp index 81e71eddb..ddae9fdda 100644 --- a/ReactCommon/cxxreact/JSCExecutor.cpp +++ b/ReactCommon/cxxreact/JSCExecutor.cpp @@ -121,7 +121,7 @@ namespace facebook { JSCExecutor::JSCExecutor(std::shared_ptr delegate, std::shared_ptr messageQueueThread, const folly::dynamic& jscConfig, - std::function nativeExtensionsProvider) throw(JSException) : + NativeExtensionsProvider nativeExtensionsProvider) throw(JSException) : m_delegate(delegate), m_messageQueueThread(messageQueueThread), m_nativeModules(delegate ? delegate->getModuleRegistry() : nullptr), diff --git a/ReactCommon/cxxreact/JSCExecutor.h b/ReactCommon/cxxreact/JSCExecutor.h index 5acc96772..44b13aa94 100644 --- a/ReactCommon/cxxreact/JSCExecutor.h +++ b/ReactCommon/cxxreact/JSCExecutor.h @@ -27,7 +27,7 @@ class RAMBundleRegistry; class RN_EXPORT JSCExecutorFactory : public JSExecutorFactory { public: - JSCExecutorFactory(const folly::dynamic& jscConfig, std::function provider) : + JSCExecutorFactory(const folly::dynamic& jscConfig, NativeExtensionsProvider provider) : m_jscConfig(jscConfig), m_nativeExtensionsProvider(provider) {} std::unique_ptr createJSExecutor( std::shared_ptr delegate, @@ -35,7 +35,7 @@ public: private: std::string m_cacheDir; folly::dynamic m_jscConfig; - std::function m_nativeExtensionsProvider; + NativeExtensionsProvider m_nativeExtensionsProvider; }; template @@ -60,7 +60,7 @@ public: explicit JSCExecutor(std::shared_ptr delegate, std::shared_ptr messageQueueThread, const folly::dynamic& jscConfig, - std::function nativeExtensionsProvider) throw(JSException); + NativeExtensionsProvider nativeExtensionsProvider) throw(JSException); ~JSCExecutor() override; virtual void loadApplicationScript( @@ -106,7 +106,7 @@ private: JSCNativeModules m_nativeModules; folly::dynamic m_jscConfig; std::once_flag m_bindFlag; - std::function m_nativeExtensionsProvider; + NativeExtensionsProvider m_nativeExtensionsProvider; folly::Optional m_invokeCallbackAndReturnFlushedQueueJS; folly::Optional m_callFunctionReturnFlushedQueueJS; diff --git a/ReactCommon/cxxreact/JSExecutor.h b/ReactCommon/cxxreact/JSExecutor.h index 91bc070c4..85b4bfcb0 100644 --- a/ReactCommon/cxxreact/JSExecutor.h +++ b/ReactCommon/cxxreact/JSExecutor.h @@ -32,6 +32,8 @@ class ExecutorDelegate { JSExecutor& executor, unsigned int moduleId, unsigned int methodId, folly::dynamic&& args) = 0; }; +using NativeExtensionsProvider = std::function; + class JSExecutorFactory { public: virtual std::unique_ptr createJSExecutor(