
/**
 * 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: GenerateModuleJniCpp.js
 */

#include "RNOpentokReactNativeSpec.h"

namespace facebook::react {

static facebook::jsi::Value __hostFunction_NativeOpentokSpecJSI_initSession(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
  static jmethodID cachedMethodId = nullptr;
  return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, VoidKind, "initSession", "(Ljava/lang/String;Ljava/lang/String;Lcom/facebook/react/bridge/ReadableMap;)V", args, count, cachedMethodId);
}

static facebook::jsi::Value __hostFunction_NativeOpentokSpecJSI_connect(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
  static jmethodID cachedMethodId = nullptr;
  return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, PromiseKind, "connect", "(Ljava/lang/String;Ljava/lang/String;Lcom/facebook/react/bridge/Promise;)V", args, count, cachedMethodId);
}

static facebook::jsi::Value __hostFunction_NativeOpentokSpecJSI_disconnect(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
  static jmethodID cachedMethodId = nullptr;
  return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, PromiseKind, "disconnect", "(Ljava/lang/String;Lcom/facebook/react/bridge/Promise;)V", args, count, cachedMethodId);
}

static facebook::jsi::Value __hostFunction_NativeOpentokSpecJSI_getSubscriberRtcStatsReport(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
  static jmethodID cachedMethodId = nullptr;
  return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, VoidKind, "getSubscriberRtcStatsReport", "(Ljava/lang/String;)V", args, count, cachedMethodId);
}

static facebook::jsi::Value __hostFunction_NativeOpentokSpecJSI_getPublisherRtcStatsReport(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
  static jmethodID cachedMethodId = nullptr;
  return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, VoidKind, "getPublisherRtcStatsReport", "(Ljava/lang/String;Ljava/lang/String;)V", args, count, cachedMethodId);
}

static facebook::jsi::Value __hostFunction_NativeOpentokSpecJSI_setAudioTransformers(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
  static jmethodID cachedMethodId = nullptr;
  return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, VoidKind, "setAudioTransformers", "(Ljava/lang/String;Ljava/lang/String;Lcom/facebook/react/bridge/ReadableArray;)V", args, count, cachedMethodId);
}

static facebook::jsi::Value __hostFunction_NativeOpentokSpecJSI_setVideoTransformers(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
  static jmethodID cachedMethodId = nullptr;
  return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, VoidKind, "setVideoTransformers", "(Ljava/lang/String;Ljava/lang/String;Lcom/facebook/react/bridge/ReadableArray;)V", args, count, cachedMethodId);
}

static facebook::jsi::Value __hostFunction_NativeOpentokSpecJSI_publish(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
  static jmethodID cachedMethodId = nullptr;
  return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, VoidKind, "publish", "(Ljava/lang/String;Ljava/lang/String;)V", args, count, cachedMethodId);
}

static facebook::jsi::Value __hostFunction_NativeOpentokSpecJSI_unpublish(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
  static jmethodID cachedMethodId = nullptr;
  return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, VoidKind, "unpublish", "(Ljava/lang/String;Ljava/lang/String;)V", args, count, cachedMethodId);
}

static facebook::jsi::Value __hostFunction_NativeOpentokSpecJSI_removeSubscriber(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
  static jmethodID cachedMethodId = nullptr;
  return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, VoidKind, "removeSubscriber", "(Ljava/lang/String;Ljava/lang/String;)V", args, count, cachedMethodId);
}

static facebook::jsi::Value __hostFunction_NativeOpentokSpecJSI_sendSignal(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
  static jmethodID cachedMethodId = nullptr;
  return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, VoidKind, "sendSignal", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", args, count, cachedMethodId);
}

static facebook::jsi::Value __hostFunction_NativeOpentokSpecJSI_setEncryptionSecret(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
  static jmethodID cachedMethodId = nullptr;
  return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, PromiseKind, "setEncryptionSecret", "(Ljava/lang/String;Ljava/lang/String;Lcom/facebook/react/bridge/Promise;)V", args, count, cachedMethodId);
}

static facebook::jsi::Value __hostFunction_NativeOpentokSpecJSI_getCapabilities(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
  static jmethodID cachedMethodId = nullptr;
  return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, PromiseKind, "getCapabilities", "(Ljava/lang/String;Lcom/facebook/react/bridge/Promise;)V", args, count, cachedMethodId);
}

static facebook::jsi::Value __hostFunction_NativeOpentokSpecJSI_reportIssue(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
  static jmethodID cachedMethodId = nullptr;
  return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, PromiseKind, "reportIssue", "(Ljava/lang/String;Lcom/facebook/react/bridge/Promise;)V", args, count, cachedMethodId);
}

static facebook::jsi::Value __hostFunction_NativeOpentokSpecJSI_forceMuteAll(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
  static jmethodID cachedMethodId = nullptr;
  return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, PromiseKind, "forceMuteAll", "(Ljava/lang/String;Lcom/facebook/react/bridge/ReadableArray;Lcom/facebook/react/bridge/Promise;)V", args, count, cachedMethodId);
}

static facebook::jsi::Value __hostFunction_NativeOpentokSpecJSI_forceMuteStream(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
  static jmethodID cachedMethodId = nullptr;
  return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, PromiseKind, "forceMuteStream", "(Ljava/lang/String;Ljava/lang/String;Lcom/facebook/react/bridge/Promise;)V", args, count, cachedMethodId);
}

static facebook::jsi::Value __hostFunction_NativeOpentokSpecJSI_forceDisconnect(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
  static jmethodID cachedMethodId = nullptr;
  return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, PromiseKind, "forceDisconnect", "(Ljava/lang/String;Ljava/lang/String;Lcom/facebook/react/bridge/Promise;)V", args, count, cachedMethodId);
}

static facebook::jsi::Value __hostFunction_NativeOpentokSpecJSI_disableForceMute(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
  static jmethodID cachedMethodId = nullptr;
  return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, PromiseKind, "disableForceMute", "(Ljava/lang/String;Lcom/facebook/react/bridge/Promise;)V", args, count, cachedMethodId);
}

NativeOpentokSpecJSI::NativeOpentokSpecJSI(const JavaTurboModule::InitParams &params)
  : JavaTurboModule(params) {
  methodMap_["initSession"] = MethodMetadata {3, __hostFunction_NativeOpentokSpecJSI_initSession};
  methodMap_["connect"] = MethodMetadata {2, __hostFunction_NativeOpentokSpecJSI_connect};
  methodMap_["disconnect"] = MethodMetadata {1, __hostFunction_NativeOpentokSpecJSI_disconnect};
  methodMap_["getSubscriberRtcStatsReport"] = MethodMetadata {1, __hostFunction_NativeOpentokSpecJSI_getSubscriberRtcStatsReport};
  methodMap_["getPublisherRtcStatsReport"] = MethodMetadata {2, __hostFunction_NativeOpentokSpecJSI_getPublisherRtcStatsReport};
  methodMap_["setAudioTransformers"] = MethodMetadata {3, __hostFunction_NativeOpentokSpecJSI_setAudioTransformers};
  methodMap_["setVideoTransformers"] = MethodMetadata {3, __hostFunction_NativeOpentokSpecJSI_setVideoTransformers};
  methodMap_["publish"] = MethodMetadata {2, __hostFunction_NativeOpentokSpecJSI_publish};
  methodMap_["unpublish"] = MethodMetadata {2, __hostFunction_NativeOpentokSpecJSI_unpublish};
  methodMap_["removeSubscriber"] = MethodMetadata {2, __hostFunction_NativeOpentokSpecJSI_removeSubscriber};
  methodMap_["sendSignal"] = MethodMetadata {4, __hostFunction_NativeOpentokSpecJSI_sendSignal};
  methodMap_["setEncryptionSecret"] = MethodMetadata {2, __hostFunction_NativeOpentokSpecJSI_setEncryptionSecret};
  methodMap_["getCapabilities"] = MethodMetadata {1, __hostFunction_NativeOpentokSpecJSI_getCapabilities};
  methodMap_["reportIssue"] = MethodMetadata {1, __hostFunction_NativeOpentokSpecJSI_reportIssue};
  methodMap_["forceMuteAll"] = MethodMetadata {2, __hostFunction_NativeOpentokSpecJSI_forceMuteAll};
  methodMap_["forceMuteStream"] = MethodMetadata {2, __hostFunction_NativeOpentokSpecJSI_forceMuteStream};
  methodMap_["forceDisconnect"] = MethodMetadata {2, __hostFunction_NativeOpentokSpecJSI_forceDisconnect};
  methodMap_["disableForceMute"] = MethodMetadata {1, __hostFunction_NativeOpentokSpecJSI_disableForceMute};
  eventEmitterMap_["onArchiveStarted"] = std::make_shared<AsyncEventEmitter<folly::dynamic>>();
  eventEmitterMap_["onArchiveStopped"] = std::make_shared<AsyncEventEmitter<folly::dynamic>>();
  eventEmitterMap_["onConnectionCreated"] = std::make_shared<AsyncEventEmitter<folly::dynamic>>();
  eventEmitterMap_["onConnectionDestroyed"] = std::make_shared<AsyncEventEmitter<folly::dynamic>>();
  eventEmitterMap_["onMuteForced"] = std::make_shared<AsyncEventEmitter<folly::dynamic>>();
  eventEmitterMap_["onSessionConnected"] = std::make_shared<AsyncEventEmitter<folly::dynamic>>();
  eventEmitterMap_["onSessionDisconnected"] = std::make_shared<AsyncEventEmitter<folly::dynamic>>();
  eventEmitterMap_["onSessionReconnecting"] = std::make_shared<AsyncEventEmitter<folly::dynamic>>();
  eventEmitterMap_["onSessionReconnected"] = std::make_shared<AsyncEventEmitter<folly::dynamic>>();
  eventEmitterMap_["onStreamCreated"] = std::make_shared<AsyncEventEmitter<folly::dynamic>>();
  eventEmitterMap_["onStreamDestroyed"] = std::make_shared<AsyncEventEmitter<folly::dynamic>>();
  eventEmitterMap_["onStreamPropertyChanged"] = std::make_shared<AsyncEventEmitter<folly::dynamic>>();
  eventEmitterMap_["onSignalReceived"] = std::make_shared<AsyncEventEmitter<folly::dynamic>>();
  eventEmitterMap_["onSessionError"] = std::make_shared<AsyncEventEmitter<folly::dynamic>>();
  configureEventEmitterCallback();
}

std::shared_ptr<TurboModule> RNOpentokReactNativeSpec_ModuleProvider(const std::string &moduleName, const JavaTurboModule::InitParams &params) {
  if (moduleName == "OpentokReactNative") {
    return std::make_shared<NativeOpentokSpecJSI>(params);
  }
  return nullptr;
}

} // namespace facebook::react
