// Copyright 2004-present Facebook. All Rights Reserved. #pragma once #include #include #include #include #include #include namespace facebook { namespace react { namespace ReactMarker { using LogMarker = std::function; extern LogMarker logMarker; }; namespace WebWorkerUtil { using WebWorkerQueueFactory = std::function(int id, MessageQueueThread* ownerMessageQueue)>; extern WebWorkerQueueFactory createWebWorkerThread; using LoadScriptFromAssets = std::function(const std::string& assetName)>; extern LoadScriptFromAssets loadScriptFromAssets; using LoadScriptFromNetworkSync = std::function; extern LoadScriptFromNetworkSync loadScriptFromNetworkSync; }; namespace PerfLogging { using InstallNativeHooks = std::function; extern InstallNativeHooks installNativeHooks; }; namespace JSNativeHooks { using Hook = JSValueRef (*) ( JSContextRef ctx, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef *exception); extern Hook loggingHook; extern Hook nowHook; } } }