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


@implementation NativeUrovoSpecBase


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


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

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

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

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

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

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

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

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

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

    static facebook::jsi::Value __hostFunction_NativeUrovoSpecJSI_addListener(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, VoidKind, "addListener", @selector(addListener:), args, count);
    }

    static facebook::jsi::Value __hostFunction_NativeUrovoSpecJSI_removeListeners(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, VoidKind, "removeListeners", @selector(removeListeners:), args, count);
    }

  NativeUrovoSpecJSI::NativeUrovoSpecJSI(const ObjCTurboModule::InitParams &params)
    : ObjCTurboModule(params) {
      
        methodMap_["openScanner"] = MethodMetadata {1, __hostFunction_NativeUrovoSpecJSI_openScanner};
        
        
        methodMap_["closeScanner"] = MethodMetadata {0, __hostFunction_NativeUrovoSpecJSI_closeScanner};
        
        
        methodMap_["switchOutputMode"] = MethodMetadata {1, __hostFunction_NativeUrovoSpecJSI_switchOutputMode};
        
        
        methodMap_["getOutputMode"] = MethodMetadata {0, __hostFunction_NativeUrovoSpecJSI_getOutputMode};
        
        
        methodMap_["enableAllSymbologies"] = MethodMetadata {1, __hostFunction_NativeUrovoSpecJSI_enableAllSymbologies};
        
        
        methodMap_["enableSymbologies"] = MethodMetadata {2, __hostFunction_NativeUrovoSpecJSI_enableSymbologies};
        
        
        methodMap_["getParameters"] = MethodMetadata {1, __hostFunction_NativeUrovoSpecJSI_getParameters};
        
        
        methodMap_["setParameter"] = MethodMetadata {1, __hostFunction_NativeUrovoSpecJSI_setParameter};
        
        
        methodMap_["resetScannerParameters"] = MethodMetadata {0, __hostFunction_NativeUrovoSpecJSI_resetScannerParameters};
        
        
        methodMap_["addListener"] = MethodMetadata {1, __hostFunction_NativeUrovoSpecJSI_addListener};
        
        
        methodMap_["removeListeners"] = MethodMetadata {1, __hostFunction_NativeUrovoSpecJSI_removeListeners};
        
  }
} // namespace facebook::react
