
/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 *
 * @generated by codegen project: GenerateModuleH.js
 */

#include "NativeModules.h"

namespace facebook
{
  namespace react
  {
    static jsi::Value __hostFunction_SchemaCxxSpecJSI_setResponseParamsHandler(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value *args, size_t count)
    {
      const jsi::Value &responseHandler = args[0];

      return static_cast<SchemaCxxSpecJSI *>(&turboModule)->setResponseParamsHandler(rt, responseHandler);
    }

    static jsi::Value __hostFunction_SchemaCxxSpecJSI_createContext(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value *args, size_t count)
    {
      const jsi::Value &configJson = args[0];
      const jsi::Value &onResult = args[1];

      return static_cast<SchemaCxxSpecJSI *>(&turboModule)->createContext(rt, configJson, onResult);
    }

    static jsi::Value __hostFunction_SchemaCxxSpecJSI_destroyContext(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value *args, size_t count)
    {
      const jsi::Value context = args[0].asNumber();

      return static_cast<SchemaCxxSpecJSI *>(&turboModule)->destroyContext(rt, context);
    }

    static jsi::Value __hostFunction_SchemaCxxSpecJSI_sendRequestParams(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value *args, size_t count)
    {
      const jsi::Value &context = args[0];
      const jsi::Value &requestId = args[1];
      const jsi::Value &functionName = args[2];
      const jsi::Value &functionParams = args[3];

      return static_cast<SchemaCxxSpecJSI *>(&turboModule)->sendRequestParams(rt, context, requestId, functionName, functionParams);
    }

    SchemaCxxSpecJSI::SchemaCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker)
        : TurboModule("DebotClientJsiTurboModule", jsInvoker)
    {
      methodMap_["setResponseParamsHandler"] = MethodMetadata{1, __hostFunction_SchemaCxxSpecJSI_setResponseParamsHandler};
      methodMap_["createContext"] = MethodMetadata{2, __hostFunction_SchemaCxxSpecJSI_createContext};
      methodMap_["destroyContext"] = MethodMetadata{1, __hostFunction_SchemaCxxSpecJSI_destroyContext};
      methodMap_["sendRequestParams"] = MethodMetadata{4, __hostFunction_SchemaCxxSpecJSI_sendRequestParams};
    }

  } // namespace react
} // namespace facebook
