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 &&params, int callId)
23       override;
24   MethodCallResult callSerializableNativeHook(
25       unsigned int ABI48_0_0ReactMethodId,
26       folly::dynamic &&params) 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