
/**
 * 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 "VideoToolkitSpec.h"

namespace facebook::react {

static facebook::jsi::Value __hostFunction_NativeVideoToolkitSpecJSI_enterFullscreen(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, "enterFullscreen", "(Lcom/facebook/react/bridge/Promise;)V", args, count, cachedMethodId);
}

static facebook::jsi::Value __hostFunction_NativeVideoToolkitSpecJSI_exitFullscreen(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, "exitFullscreen", "(Lcom/facebook/react/bridge/Promise;)V", args, count, cachedMethodId);
}

static facebook::jsi::Value __hostFunction_NativeVideoToolkitSpecJSI_isFullscreen(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, "isFullscreen", "(Lcom/facebook/react/bridge/Promise;)V", args, count, cachedMethodId);
}

NativeVideoToolkitSpecJSI::NativeVideoToolkitSpecJSI(const JavaTurboModule::InitParams &params)
  : JavaTurboModule(params) {
  methodMap_["enterFullscreen"] = MethodMetadata {0, __hostFunction_NativeVideoToolkitSpecJSI_enterFullscreen};
  methodMap_["exitFullscreen"] = MethodMetadata {0, __hostFunction_NativeVideoToolkitSpecJSI_exitFullscreen};
  methodMap_["isFullscreen"] = MethodMetadata {0, __hostFunction_NativeVideoToolkitSpecJSI_isFullscreen};
}

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

} // namespace facebook::react
