/**
 * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
 *
 * Do not edit this file as changes may cause incorrect behavior and will be lost
 * once the code is regenerated.
 *
 * @generated by codegen project: GenerateModuleCpp.js
 */

#include "RNOpentokReactNativeSpecJSI.h"

namespace facebook::react {

static jsi::Value __hostFunction_NativeOpentokCxxSpecJSI_initSession(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
  static_cast<NativeOpentokCxxSpecJSI *>(&turboModule)->initSession(
    rt,
    count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt),
    count <= 1 ? throw jsi::JSError(rt, "Expected argument in position 1 to be passed") : args[1].asString(rt),
    count <= 2 || args[2].isUndefined() ? std::nullopt : std::make_optional(args[2].asObject(rt))
  );
  return jsi::Value::undefined();
}
static jsi::Value __hostFunction_NativeOpentokCxxSpecJSI_connect(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
  return static_cast<NativeOpentokCxxSpecJSI *>(&turboModule)->connect(
    rt,
    count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt),
    count <= 1 ? throw jsi::JSError(rt, "Expected argument in position 1 to be passed") : args[1].asString(rt)
  );
}
static jsi::Value __hostFunction_NativeOpentokCxxSpecJSI_disconnect(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
  return static_cast<NativeOpentokCxxSpecJSI *>(&turboModule)->disconnect(
    rt,
    count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt)
  );
}
static jsi::Value __hostFunction_NativeOpentokCxxSpecJSI_getSubscriberRtcStatsReport(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
  static_cast<NativeOpentokCxxSpecJSI *>(&turboModule)->getSubscriberRtcStatsReport(
    rt,
    count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt)
  );
  return jsi::Value::undefined();
}
static jsi::Value __hostFunction_NativeOpentokCxxSpecJSI_getPublisherRtcStatsReport(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
  static_cast<NativeOpentokCxxSpecJSI *>(&turboModule)->getPublisherRtcStatsReport(
    rt,
    count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt),
    count <= 1 ? throw jsi::JSError(rt, "Expected argument in position 1 to be passed") : args[1].asString(rt)
  );
  return jsi::Value::undefined();
}
static jsi::Value __hostFunction_NativeOpentokCxxSpecJSI_setAudioTransformers(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
  static_cast<NativeOpentokCxxSpecJSI *>(&turboModule)->setAudioTransformers(
    rt,
    count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt),
    count <= 1 ? throw jsi::JSError(rt, "Expected argument in position 1 to be passed") : args[1].asString(rt),
    count <= 2 ? throw jsi::JSError(rt, "Expected argument in position 2 to be passed") : args[2].asObject(rt).asArray(rt)
  );
  return jsi::Value::undefined();
}
static jsi::Value __hostFunction_NativeOpentokCxxSpecJSI_setVideoTransformers(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
  static_cast<NativeOpentokCxxSpecJSI *>(&turboModule)->setVideoTransformers(
    rt,
    count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt),
    count <= 1 ? throw jsi::JSError(rt, "Expected argument in position 1 to be passed") : args[1].asString(rt),
    count <= 2 ? throw jsi::JSError(rt, "Expected argument in position 2 to be passed") : args[2].asObject(rt).asArray(rt)
  );
  return jsi::Value::undefined();
}
static jsi::Value __hostFunction_NativeOpentokCxxSpecJSI_publish(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
  static_cast<NativeOpentokCxxSpecJSI *>(&turboModule)->publish(
    rt,
    count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt),
    count <= 1 ? throw jsi::JSError(rt, "Expected argument in position 1 to be passed") : args[1].asString(rt)
  );
  return jsi::Value::undefined();
}
static jsi::Value __hostFunction_NativeOpentokCxxSpecJSI_unpublish(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
  static_cast<NativeOpentokCxxSpecJSI *>(&turboModule)->unpublish(
    rt,
    count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt),
    count <= 1 ? throw jsi::JSError(rt, "Expected argument in position 1 to be passed") : args[1].asString(rt)
  );
  return jsi::Value::undefined();
}
static jsi::Value __hostFunction_NativeOpentokCxxSpecJSI_removeSubscriber(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
  static_cast<NativeOpentokCxxSpecJSI *>(&turboModule)->removeSubscriber(
    rt,
    count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt),
    count <= 1 ? throw jsi::JSError(rt, "Expected argument in position 1 to be passed") : args[1].asString(rt)
  );
  return jsi::Value::undefined();
}
static jsi::Value __hostFunction_NativeOpentokCxxSpecJSI_sendSignal(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
  static_cast<NativeOpentokCxxSpecJSI *>(&turboModule)->sendSignal(
    rt,
    count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt),
    count <= 1 ? throw jsi::JSError(rt, "Expected argument in position 1 to be passed") : args[1].asString(rt),
    count <= 2 ? throw jsi::JSError(rt, "Expected argument in position 2 to be passed") : args[2].asString(rt),
    count <= 3 ? throw jsi::JSError(rt, "Expected argument in position 3 to be passed") : args[3].asString(rt)
  );
  return jsi::Value::undefined();
}
static jsi::Value __hostFunction_NativeOpentokCxxSpecJSI_setEncryptionSecret(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
  return static_cast<NativeOpentokCxxSpecJSI *>(&turboModule)->setEncryptionSecret(
    rt,
    count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt),
    count <= 1 ? throw jsi::JSError(rt, "Expected argument in position 1 to be passed") : args[1].asString(rt)
  );
}
static jsi::Value __hostFunction_NativeOpentokCxxSpecJSI_getCapabilities(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
  return static_cast<NativeOpentokCxxSpecJSI *>(&turboModule)->getCapabilities(
    rt,
    count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt)
  );
}
static jsi::Value __hostFunction_NativeOpentokCxxSpecJSI_reportIssue(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
  return static_cast<NativeOpentokCxxSpecJSI *>(&turboModule)->reportIssue(
    rt,
    count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt)
  );
}
static jsi::Value __hostFunction_NativeOpentokCxxSpecJSI_forceMuteAll(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
  return static_cast<NativeOpentokCxxSpecJSI *>(&turboModule)->forceMuteAll(
    rt,
    count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt),
    count <= 1 ? throw jsi::JSError(rt, "Expected argument in position 1 to be passed") : args[1].asObject(rt).asArray(rt)
  );
}
static jsi::Value __hostFunction_NativeOpentokCxxSpecJSI_forceMuteStream(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
  return static_cast<NativeOpentokCxxSpecJSI *>(&turboModule)->forceMuteStream(
    rt,
    count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt),
    count <= 1 ? throw jsi::JSError(rt, "Expected argument in position 1 to be passed") : args[1].asString(rt)
  );
}
static jsi::Value __hostFunction_NativeOpentokCxxSpecJSI_forceDisconnect(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
  return static_cast<NativeOpentokCxxSpecJSI *>(&turboModule)->forceDisconnect(
    rt,
    count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt),
    count <= 1 ? throw jsi::JSError(rt, "Expected argument in position 1 to be passed") : args[1].asString(rt)
  );
}
static jsi::Value __hostFunction_NativeOpentokCxxSpecJSI_disableForceMute(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
  return static_cast<NativeOpentokCxxSpecJSI *>(&turboModule)->disableForceMute(
    rt,
    count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt)
  );
}

NativeOpentokCxxSpecJSI::NativeOpentokCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker)
  : TurboModule("OpentokReactNative", jsInvoker) {
  methodMap_["initSession"] = MethodMetadata {3, __hostFunction_NativeOpentokCxxSpecJSI_initSession};
  methodMap_["connect"] = MethodMetadata {2, __hostFunction_NativeOpentokCxxSpecJSI_connect};
  methodMap_["disconnect"] = MethodMetadata {1, __hostFunction_NativeOpentokCxxSpecJSI_disconnect};
  methodMap_["getSubscriberRtcStatsReport"] = MethodMetadata {1, __hostFunction_NativeOpentokCxxSpecJSI_getSubscriberRtcStatsReport};
  methodMap_["getPublisherRtcStatsReport"] = MethodMetadata {2, __hostFunction_NativeOpentokCxxSpecJSI_getPublisherRtcStatsReport};
  methodMap_["setAudioTransformers"] = MethodMetadata {3, __hostFunction_NativeOpentokCxxSpecJSI_setAudioTransformers};
  methodMap_["setVideoTransformers"] = MethodMetadata {3, __hostFunction_NativeOpentokCxxSpecJSI_setVideoTransformers};
  methodMap_["publish"] = MethodMetadata {2, __hostFunction_NativeOpentokCxxSpecJSI_publish};
  methodMap_["unpublish"] = MethodMetadata {2, __hostFunction_NativeOpentokCxxSpecJSI_unpublish};
  methodMap_["removeSubscriber"] = MethodMetadata {2, __hostFunction_NativeOpentokCxxSpecJSI_removeSubscriber};
  methodMap_["sendSignal"] = MethodMetadata {4, __hostFunction_NativeOpentokCxxSpecJSI_sendSignal};
  methodMap_["setEncryptionSecret"] = MethodMetadata {2, __hostFunction_NativeOpentokCxxSpecJSI_setEncryptionSecret};
  methodMap_["getCapabilities"] = MethodMetadata {1, __hostFunction_NativeOpentokCxxSpecJSI_getCapabilities};
  methodMap_["reportIssue"] = MethodMetadata {1, __hostFunction_NativeOpentokCxxSpecJSI_reportIssue};
  methodMap_["forceMuteAll"] = MethodMetadata {2, __hostFunction_NativeOpentokCxxSpecJSI_forceMuteAll};
  methodMap_["forceMuteStream"] = MethodMetadata {2, __hostFunction_NativeOpentokCxxSpecJSI_forceMuteStream};
  methodMap_["forceDisconnect"] = MethodMetadata {2, __hostFunction_NativeOpentokCxxSpecJSI_forceDisconnect};
  methodMap_["disableForceMute"] = MethodMetadata {1, __hostFunction_NativeOpentokCxxSpecJSI_disableForceMute};
}


} // namespace facebook::react
