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


@implementation NativeRNFBTurboMessagingSpecBase


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

@implementation RCTCxxConvert (NativeRNFBTurboMessaging_IOSPermissions)
+ (RCTManagedPointer *)JS_NativeRNFBTurboMessaging_IOSPermissions:(id)json
{
  return facebook::react::managedPointer<JS::NativeRNFBTurboMessaging::IOSPermissions>(json);
}
@end
namespace facebook::react {
  
    static facebook::jsi::Value __hostFunction_NativeRNFBTurboMessagingSpecJSI_getInitialNotification(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
      return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "getInitialNotification", @selector(getInitialNotification:reject:), args, count);
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  NativeRNFBTurboMessagingSpecJSI::NativeRNFBTurboMessagingSpecJSI(const ObjCTurboModule::InitParams &params)
    : ObjCTurboModule(params) {
      
        methodMap_["getInitialNotification"] = MethodMetadata {0, __hostFunction_NativeRNFBTurboMessagingSpecJSI_getInitialNotification};
        
        
        methodMap_["getDidOpenSettingsForNotification"] = MethodMetadata {0, __hostFunction_NativeRNFBTurboMessagingSpecJSI_getDidOpenSettingsForNotification};
        
        
        methodMap_["setAutoInitEnabled"] = MethodMetadata {1, __hostFunction_NativeRNFBTurboMessagingSpecJSI_setAutoInitEnabled};
        
        
        methodMap_["signalBackgroundMessageHandlerSet"] = MethodMetadata {0, __hostFunction_NativeRNFBTurboMessagingSpecJSI_signalBackgroundMessageHandlerSet};
        
        
        methodMap_["completeNotificationProcessing"] = MethodMetadata {0, __hostFunction_NativeRNFBTurboMessagingSpecJSI_completeNotificationProcessing};
        
        
        methodMap_["getToken"] = MethodMetadata {2, __hostFunction_NativeRNFBTurboMessagingSpecJSI_getToken};
        
        
        methodMap_["deleteToken"] = MethodMetadata {2, __hostFunction_NativeRNFBTurboMessagingSpecJSI_deleteToken};
        
        
        methodMap_["getAPNSToken"] = MethodMetadata {0, __hostFunction_NativeRNFBTurboMessagingSpecJSI_getAPNSToken};
        
        
        methodMap_["setAPNSToken"] = MethodMetadata {2, __hostFunction_NativeRNFBTurboMessagingSpecJSI_setAPNSToken};
        
        
        methodMap_["getIsHeadless"] = MethodMetadata {0, __hostFunction_NativeRNFBTurboMessagingSpecJSI_getIsHeadless};
        
        
        methodMap_["requestPermission"] = MethodMetadata {1, __hostFunction_NativeRNFBTurboMessagingSpecJSI_requestPermission};
        setMethodArgConversionSelector(@"requestPermission", 0, @"JS_NativeRNFBTurboMessaging_IOSPermissions:");
        
        methodMap_["registerForRemoteNotifications"] = MethodMetadata {0, __hostFunction_NativeRNFBTurboMessagingSpecJSI_registerForRemoteNotifications};
        
        
        methodMap_["unregisterForRemoteNotifications"] = MethodMetadata {0, __hostFunction_NativeRNFBTurboMessagingSpecJSI_unregisterForRemoteNotifications};
        
        
        methodMap_["hasPermission"] = MethodMetadata {0, __hostFunction_NativeRNFBTurboMessagingSpecJSI_hasPermission};
        
        
        methodMap_["sendMessage"] = MethodMetadata {1, __hostFunction_NativeRNFBTurboMessagingSpecJSI_sendMessage};
        
        
        methodMap_["subscribeToTopic"] = MethodMetadata {1, __hostFunction_NativeRNFBTurboMessagingSpecJSI_subscribeToTopic};
        
        
        methodMap_["unsubscribeFromTopic"] = MethodMetadata {1, __hostFunction_NativeRNFBTurboMessagingSpecJSI_unsubscribeFromTopic};
        
        
        methodMap_["setDeliveryMetricsExportToBigQuery"] = MethodMetadata {1, __hostFunction_NativeRNFBTurboMessagingSpecJSI_setDeliveryMetricsExportToBigQuery};
        
        
        methodMap_["setNotificationDelegationEnabled"] = MethodMetadata {1, __hostFunction_NativeRNFBTurboMessagingSpecJSI_setNotificationDelegationEnabled};
        
        
        methodMap_["isNotificationDelegationEnabled"] = MethodMetadata {0, __hostFunction_NativeRNFBTurboMessagingSpecJSI_isNotificationDelegationEnabled};
        
        
        methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeRNFBTurboMessagingSpecJSI_getConstants};
        
  }
} // namespace facebook::react
