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


@implementation NativeEncryptionSpecBase


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

    static facebook::jsi::Value __hostFunction_NativeEncryptionSpecJSI_verifySignatureRSA(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, BooleanKind, "verifySignatureRSA", @selector(verifySignatureRSA:signatureBase64:key:), args, count);
    }

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

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

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

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

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

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

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

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

    static facebook::jsi::Value __hostFunction_NativeEncryptionSpecJSI_pbkdf2(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, StringKind, "pbkdf2", @selector(pbkdf2:salt:iterations:keyLength:hash:), args, count);
    }

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

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

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

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

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

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

    static facebook::jsi::Value __hostFunction_NativeEncryptionSpecJSI_verifySignatureECDSA(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, BooleanKind, "verifySignatureECDSA", @selector(verifySignatureECDSA:signatureBase64:key:), args, count);
    }

  NativeEncryptionSpecJSI::NativeEncryptionSpecJSI(const ObjCTurboModule::InitParams &params)
    : ObjCTurboModule(params) {
      
        methodMap_["generateAESKey"] = MethodMetadata {1, __hostFunction_NativeEncryptionSpecJSI_generateAESKey};
        
        
        methodMap_["encryptAES"] = MethodMetadata {2, __hostFunction_NativeEncryptionSpecJSI_encryptAES};
        
        
        methodMap_["decryptAES"] = MethodMetadata {2, __hostFunction_NativeEncryptionSpecJSI_decryptAES};
        
        
        methodMap_["encryptFile"] = MethodMetadata {3, __hostFunction_NativeEncryptionSpecJSI_encryptFile};
        
        
        methodMap_["decryptFile"] = MethodMetadata {2, __hostFunction_NativeEncryptionSpecJSI_decryptFile};
        
        
        methodMap_["encryptAsyncAES"] = MethodMetadata {2, __hostFunction_NativeEncryptionSpecJSI_encryptAsyncAES};
        
        
        methodMap_["decryptAsyncAES"] = MethodMetadata {2, __hostFunction_NativeEncryptionSpecJSI_decryptAsyncAES};
        
        
        methodMap_["generateRSAKeyPair"] = MethodMetadata {0, __hostFunction_NativeEncryptionSpecJSI_generateRSAKeyPair};
        
        
        methodMap_["getPublicRSAkey"] = MethodMetadata {1, __hostFunction_NativeEncryptionSpecJSI_getPublicRSAkey};
        
        
        methodMap_["encryptRSA"] = MethodMetadata {2, __hostFunction_NativeEncryptionSpecJSI_encryptRSA};
        
        
        methodMap_["decryptRSA"] = MethodMetadata {2, __hostFunction_NativeEncryptionSpecJSI_decryptRSA};
        
        
        methodMap_["encryptAsyncRSA"] = MethodMetadata {2, __hostFunction_NativeEncryptionSpecJSI_encryptAsyncRSA};
        
        
        methodMap_["decryptAsyncRSA"] = MethodMetadata {2, __hostFunction_NativeEncryptionSpecJSI_decryptAsyncRSA};
        
        
        methodMap_["signDataRSA"] = MethodMetadata {2, __hostFunction_NativeEncryptionSpecJSI_signDataRSA};
        
        
        methodMap_["verifySignatureRSA"] = MethodMetadata {3, __hostFunction_NativeEncryptionSpecJSI_verifySignatureRSA};
        
        
        methodMap_["hashSHA256"] = MethodMetadata {1, __hostFunction_NativeEncryptionSpecJSI_hashSHA256};
        
        
        methodMap_["hashSHA512"] = MethodMetadata {1, __hostFunction_NativeEncryptionSpecJSI_hashSHA512};
        
        
        methodMap_["generateHMACKey"] = MethodMetadata {1, __hostFunction_NativeEncryptionSpecJSI_generateHMACKey};
        
        
        methodMap_["hmacSHA256"] = MethodMetadata {2, __hostFunction_NativeEncryptionSpecJSI_hmacSHA256};
        
        
        methodMap_["hmacSHA512"] = MethodMetadata {2, __hostFunction_NativeEncryptionSpecJSI_hmacSHA512};
        
        
        methodMap_["generateRandomString"] = MethodMetadata {1, __hostFunction_NativeEncryptionSpecJSI_generateRandomString};
        
        
        methodMap_["base64Encode"] = MethodMetadata {1, __hostFunction_NativeEncryptionSpecJSI_base64Encode};
        
        
        methodMap_["base64Decode"] = MethodMetadata {1, __hostFunction_NativeEncryptionSpecJSI_base64Decode};
        
        
        methodMap_["pbkdf2"] = MethodMetadata {5, __hostFunction_NativeEncryptionSpecJSI_pbkdf2};
        
        
        methodMap_["getRandomBytes"] = MethodMetadata {1, __hostFunction_NativeEncryptionSpecJSI_getRandomBytes};
        
        
        methodMap_["encryptRSAOAEP"] = MethodMetadata {2, __hostFunction_NativeEncryptionSpecJSI_encryptRSAOAEP};
        
        
        methodMap_["decryptRSAOAEP"] = MethodMetadata {2, __hostFunction_NativeEncryptionSpecJSI_decryptRSAOAEP};
        
        
        methodMap_["generateECDSAKeyPair"] = MethodMetadata {0, __hostFunction_NativeEncryptionSpecJSI_generateECDSAKeyPair};
        
        
        methodMap_["getPublicECDSAKey"] = MethodMetadata {1, __hostFunction_NativeEncryptionSpecJSI_getPublicECDSAKey};
        
        
        methodMap_["signDataECDSA"] = MethodMetadata {2, __hostFunction_NativeEncryptionSpecJSI_signDataECDSA};
        
        
        methodMap_["verifySignatureECDSA"] = MethodMetadata {3, __hostFunction_NativeEncryptionSpecJSI_verifySignatureECDSA};
        
  }
} // namespace facebook::react
