mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-04-06 22:38:37 +08:00
Extract NativeExtensionsProvider definition
Reviewed By: danzimm Differential Revision: D6964355 fbshipit-source-id: e20dfa99bd9d8784a5f31a313302104d6dc33652
This commit is contained in:
committed by
Facebook Github Bot
parent
da2d410122
commit
c989ea8728
@@ -90,7 +90,7 @@ void injectJSCExecutorAndroidPlatform() {
|
||||
}
|
||||
|
||||
std::unique_ptr<JSExecutorFactory> makeAndroidJSCExecutorFactory(
|
||||
const folly::dynamic& jscConfig, std::function<folly::dynamic(const std::string&)> nativeExtensionsProvider) {
|
||||
const folly::dynamic& jscConfig, NativeExtensionsProvider nativeExtensionsProvider) {
|
||||
detail::injectJSCExecutorAndroidPlatform();
|
||||
return folly::make_unique<JSCExecutorFactory>(std::move(jscConfig), std::move(nativeExtensionsProvider));
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <memory>
|
||||
#include <cxxreact/JSExecutor.h>
|
||||
|
||||
namespace folly {
|
||||
|
||||
@@ -23,7 +24,7 @@ void injectJSCExecutorAndroidPlatform();
|
||||
}
|
||||
|
||||
std::unique_ptr<JSExecutorFactory> makeAndroidJSCExecutorFactory(
|
||||
const folly::dynamic& jscConfig, std::function<folly::dynamic(const std::string&)> nativeExtensionsProvider);
|
||||
const folly::dynamic& jscConfig, NativeExtensionsProvider nativeExtensionsProvider);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -121,7 +121,7 @@ namespace facebook {
|
||||
JSCExecutor::JSCExecutor(std::shared_ptr<ExecutorDelegate> delegate,
|
||||
std::shared_ptr<MessageQueueThread> messageQueueThread,
|
||||
const folly::dynamic& jscConfig,
|
||||
std::function<folly::dynamic(const std::string &)> nativeExtensionsProvider) throw(JSException) :
|
||||
NativeExtensionsProvider nativeExtensionsProvider) throw(JSException) :
|
||||
m_delegate(delegate),
|
||||
m_messageQueueThread(messageQueueThread),
|
||||
m_nativeModules(delegate ? delegate->getModuleRegistry() : nullptr),
|
||||
|
||||
@@ -27,7 +27,7 @@ class RAMBundleRegistry;
|
||||
|
||||
class RN_EXPORT JSCExecutorFactory : public JSExecutorFactory {
|
||||
public:
|
||||
JSCExecutorFactory(const folly::dynamic& jscConfig, std::function<folly::dynamic(const std::string &)> provider) :
|
||||
JSCExecutorFactory(const folly::dynamic& jscConfig, NativeExtensionsProvider provider) :
|
||||
m_jscConfig(jscConfig), m_nativeExtensionsProvider(provider) {}
|
||||
std::unique_ptr<JSExecutor> createJSExecutor(
|
||||
std::shared_ptr<ExecutorDelegate> delegate,
|
||||
@@ -35,7 +35,7 @@ public:
|
||||
private:
|
||||
std::string m_cacheDir;
|
||||
folly::dynamic m_jscConfig;
|
||||
std::function<folly::dynamic(const std::string &)> m_nativeExtensionsProvider;
|
||||
NativeExtensionsProvider m_nativeExtensionsProvider;
|
||||
};
|
||||
|
||||
template<typename T>
|
||||
@@ -60,7 +60,7 @@ public:
|
||||
explicit JSCExecutor(std::shared_ptr<ExecutorDelegate> delegate,
|
||||
std::shared_ptr<MessageQueueThread> messageQueueThread,
|
||||
const folly::dynamic& jscConfig,
|
||||
std::function<folly::dynamic(const std::string &)> 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<folly::dynamic(const std::string &)> m_nativeExtensionsProvider;
|
||||
NativeExtensionsProvider m_nativeExtensionsProvider;
|
||||
|
||||
folly::Optional<Object> m_invokeCallbackAndReturnFlushedQueueJS;
|
||||
folly::Optional<Object> m_callFunctionReturnFlushedQueueJS;
|
||||
|
||||
@@ -32,6 +32,8 @@ class ExecutorDelegate {
|
||||
JSExecutor& executor, unsigned int moduleId, unsigned int methodId, folly::dynamic&& args) = 0;
|
||||
};
|
||||
|
||||
using NativeExtensionsProvider = std::function<folly::dynamic(const std::string&)>;
|
||||
|
||||
class JSExecutorFactory {
|
||||
public:
|
||||
virtual std::unique_ptr<JSExecutor> createJSExecutor(
|
||||
|
||||
Reference in New Issue
Block a user