/**
 * 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: GenerateModuleObjCpp
 *
 * We create an umbrella header (and corresponding implementation) here since
 * Cxx compilation in BUCK has a limitation: source-code producing genrule()s
 * must have a single output. More files => more genrule()s => slower builds.
 */

#import "RNQnnLlmSpec.h"


@implementation NativeQnnLlmSpecBase


- (void)setEventEmitterCallback:(EventEmitterCallbackWrapper *)eventEmitterCallbackWrapper
{
  _eventEmitterCallback = std::move(eventEmitterCallbackWrapper->_eventEmitterCallback);
}
@end


namespace facebook::react {
  
    static facebook::jsi::Value __hostFunction_NativeQnnLlmSpecJSI_create(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "create", @selector(create:resolve:reject:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeQnnLlmSpecJSI_unpack(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "unpack", @selector(unpack:unpackDir:resolve:reject:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeQnnLlmSpecJSI_free(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "free", @selector(free:resolve:reject:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeQnnLlmSpecJSI_process(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "process", @selector(process:input:resolve:reject:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeQnnLlmSpecJSI_query(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "query", @selector(query:input:resolve:reject:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeQnnLlmSpecJSI_setStopWords(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "setStopWords", @selector(setStopWords:stopWords:resolve:reject:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeQnnLlmSpecJSI_applySamplerConfig(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "applySamplerConfig", @selector(applySamplerConfig:config:resolve:reject:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeQnnLlmSpecJSI_saveSession(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "saveSession", @selector(saveSession:filename:resolve:reject:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeQnnLlmSpecJSI_restoreSession(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "restoreSession", @selector(restoreSession:filename:resolve:reject:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeQnnLlmSpecJSI_abort(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "abort", @selector(abort:resolve:reject:), args, count);
    }

  NativeQnnLlmSpecJSI::NativeQnnLlmSpecJSI(const ObjCTurboModule::InitParams &params)
    : ObjCTurboModule(params) {
      
        methodMap_["create"] = MethodMetadata {1, __hostFunction_NativeQnnLlmSpecJSI_create};
        
        
        methodMap_["unpack"] = MethodMetadata {2, __hostFunction_NativeQnnLlmSpecJSI_unpack};
        
        
        methodMap_["free"] = MethodMetadata {1, __hostFunction_NativeQnnLlmSpecJSI_free};
        
        
        methodMap_["process"] = MethodMetadata {2, __hostFunction_NativeQnnLlmSpecJSI_process};
        
        
        methodMap_["query"] = MethodMetadata {2, __hostFunction_NativeQnnLlmSpecJSI_query};
        
        
        methodMap_["setStopWords"] = MethodMetadata {2, __hostFunction_NativeQnnLlmSpecJSI_setStopWords};
        
        
        methodMap_["applySamplerConfig"] = MethodMetadata {2, __hostFunction_NativeQnnLlmSpecJSI_applySamplerConfig};
        
        
        methodMap_["saveSession"] = MethodMetadata {2, __hostFunction_NativeQnnLlmSpecJSI_saveSession};
        
        
        methodMap_["restoreSession"] = MethodMetadata {2, __hostFunction_NativeQnnLlmSpecJSI_restoreSession};
        
        
        methodMap_["abort"] = MethodMetadata {1, __hostFunction_NativeQnnLlmSpecJSI_abort};
        
  }
} // namespace facebook::react
