1 /* 2 * Copyright (c) Meta Platforms, Inc. and affiliates. 3 * 4 * This source code is licensed under the MIT license found in the 5 * LICENSE file in the root directory of this source tree. 6 */ 7 8 #import <ABI48_0_0React/ABI48_0_0RCTModuleData.h> 9 #import <ABI48_0_0cxxreact/ABI48_0_0NativeModule.h> 10 11 namespace ABI48_0_0facebook { 12 namespace ABI48_0_0React { 13 14 class ABI48_0_0RCTNativeModule : public NativeModule { 15 public: 16 ABI48_0_0RCTNativeModule(ABI48_0_0RCTBridge *bridge, ABI48_0_0RCTModuleData *moduleData); 17 18 std::string getName() override; 19 std::string getSyncMethodName(unsigned int methodId) override; 20 std::vector<MethodDescriptor> getMethods() override; 21 folly::dynamic getConstants() override; 22 void invoke(unsigned int methodId, folly::dynamic &¶ms, int callId) 23 override; 24 MethodCallResult callSerializableNativeHook( 25 unsigned int ABI48_0_0ReactMethodId, 26 folly::dynamic &¶ms) override; 27 28 private: 29 __weak ABI48_0_0RCTBridge *m_bridge; 30 ABI48_0_0RCTModuleData *m_moduleData; 31 }; 32 33 } // namespace ABI48_0_0React 34 } // namespace ABI48_0_0facebook 35