///
/// HybridRnIapSpec.cpp
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
/// https://github.com/mrousavy/nitro
/// Copyright © Marc Rousavy @ Margelo
///

#include "HybridRnIapSpec.hpp"

namespace margelo::nitro::iap {

  void HybridRnIapSpec::loadHybridMethods() {
    // load base methods/properties
    HybridObject::loadHybridMethods();
    // load custom methods/properties
    registerHybrids(this, [](Prototype& prototype) {
      prototype.registerHybridMethod("initConnection", &HybridRnIapSpec::initConnection);
      prototype.registerHybridMethod("endConnection", &HybridRnIapSpec::endConnection);
      prototype.registerHybridMethod("fetchProducts", &HybridRnIapSpec::fetchProducts);
      prototype.registerHybridMethod("requestPurchase", &HybridRnIapSpec::requestPurchase);
      prototype.registerHybridMethod("getAvailablePurchases", &HybridRnIapSpec::getAvailablePurchases);
      prototype.registerHybridMethod("getActiveSubscriptions", &HybridRnIapSpec::getActiveSubscriptions);
      prototype.registerHybridMethod("hasActiveSubscriptions", &HybridRnIapSpec::hasActiveSubscriptions);
      prototype.registerHybridMethod("finishTransaction", &HybridRnIapSpec::finishTransaction);
      prototype.registerHybridMethod("addPurchaseUpdatedListener", &HybridRnIapSpec::addPurchaseUpdatedListener);
      prototype.registerHybridMethod("addPurchaseErrorListener", &HybridRnIapSpec::addPurchaseErrorListener);
      prototype.registerHybridMethod("removePurchaseUpdatedListener", &HybridRnIapSpec::removePurchaseUpdatedListener);
      prototype.registerHybridMethod("removePurchaseErrorListener", &HybridRnIapSpec::removePurchaseErrorListener);
      prototype.registerHybridMethod("addPromotedProductListenerIOS", &HybridRnIapSpec::addPromotedProductListenerIOS);
      prototype.registerHybridMethod("removePromotedProductListenerIOS", &HybridRnIapSpec::removePromotedProductListenerIOS);
      prototype.registerHybridMethod("getStorefrontIOS", &HybridRnIapSpec::getStorefrontIOS);
      prototype.registerHybridMethod("getAppTransactionIOS", &HybridRnIapSpec::getAppTransactionIOS);
      prototype.registerHybridMethod("requestPromotedProductIOS", &HybridRnIapSpec::requestPromotedProductIOS);
      prototype.registerHybridMethod("getPromotedProductIOS", &HybridRnIapSpec::getPromotedProductIOS);
      prototype.registerHybridMethod("buyPromotedProductIOS", &HybridRnIapSpec::buyPromotedProductIOS);
      prototype.registerHybridMethod("presentCodeRedemptionSheetIOS", &HybridRnIapSpec::presentCodeRedemptionSheetIOS);
      prototype.registerHybridMethod("clearTransactionIOS", &HybridRnIapSpec::clearTransactionIOS);
      prototype.registerHybridMethod("beginRefundRequestIOS", &HybridRnIapSpec::beginRefundRequestIOS);
      prototype.registerHybridMethod("subscriptionStatusIOS", &HybridRnIapSpec::subscriptionStatusIOS);
      prototype.registerHybridMethod("currentEntitlementIOS", &HybridRnIapSpec::currentEntitlementIOS);
      prototype.registerHybridMethod("latestTransactionIOS", &HybridRnIapSpec::latestTransactionIOS);
      prototype.registerHybridMethod("getPendingTransactionsIOS", &HybridRnIapSpec::getPendingTransactionsIOS);
      prototype.registerHybridMethod("syncIOS", &HybridRnIapSpec::syncIOS);
      prototype.registerHybridMethod("showManageSubscriptionsIOS", &HybridRnIapSpec::showManageSubscriptionsIOS);
      prototype.registerHybridMethod("deepLinkToSubscriptionsIOS", &HybridRnIapSpec::deepLinkToSubscriptionsIOS);
      prototype.registerHybridMethod("isEligibleForIntroOfferIOS", &HybridRnIapSpec::isEligibleForIntroOfferIOS);
      prototype.registerHybridMethod("getReceiptDataIOS", &HybridRnIapSpec::getReceiptDataIOS);
      prototype.registerHybridMethod("getReceiptIOS", &HybridRnIapSpec::getReceiptIOS);
      prototype.registerHybridMethod("requestReceiptRefreshIOS", &HybridRnIapSpec::requestReceiptRefreshIOS);
      prototype.registerHybridMethod("isTransactionVerifiedIOS", &HybridRnIapSpec::isTransactionVerifiedIOS);
      prototype.registerHybridMethod("getTransactionJwsIOS", &HybridRnIapSpec::getTransactionJwsIOS);
      prototype.registerHybridMethod("validateReceipt", &HybridRnIapSpec::validateReceipt);
      prototype.registerHybridMethod("verifyPurchaseWithProvider", &HybridRnIapSpec::verifyPurchaseWithProvider);
      prototype.registerHybridMethod("getStorefront", &HybridRnIapSpec::getStorefront);
      prototype.registerHybridMethod("deepLinkToSubscriptionsAndroid", &HybridRnIapSpec::deepLinkToSubscriptionsAndroid);
      prototype.registerHybridMethod("checkAlternativeBillingAvailabilityAndroid", &HybridRnIapSpec::checkAlternativeBillingAvailabilityAndroid);
      prototype.registerHybridMethod("showAlternativeBillingDialogAndroid", &HybridRnIapSpec::showAlternativeBillingDialogAndroid);
      prototype.registerHybridMethod("createAlternativeBillingTokenAndroid", &HybridRnIapSpec::createAlternativeBillingTokenAndroid);
      prototype.registerHybridMethod("addUserChoiceBillingListenerAndroid", &HybridRnIapSpec::addUserChoiceBillingListenerAndroid);
      prototype.registerHybridMethod("removeUserChoiceBillingListenerAndroid", &HybridRnIapSpec::removeUserChoiceBillingListenerAndroid);
      prototype.registerHybridMethod("addDeveloperProvidedBillingListenerAndroid", &HybridRnIapSpec::addDeveloperProvidedBillingListenerAndroid);
      prototype.registerHybridMethod("removeDeveloperProvidedBillingListenerAndroid", &HybridRnIapSpec::removeDeveloperProvidedBillingListenerAndroid);
      prototype.registerHybridMethod("addSubscriptionBillingIssueListener", &HybridRnIapSpec::addSubscriptionBillingIssueListener);
      prototype.registerHybridMethod("removeSubscriptionBillingIssueListener", &HybridRnIapSpec::removeSubscriptionBillingIssueListener);
      prototype.registerHybridMethod("enableBillingProgramAndroid", &HybridRnIapSpec::enableBillingProgramAndroid);
      prototype.registerHybridMethod("isBillingProgramAvailableAndroid", &HybridRnIapSpec::isBillingProgramAvailableAndroid);
      prototype.registerHybridMethod("createBillingProgramReportingDetailsAndroid", &HybridRnIapSpec::createBillingProgramReportingDetailsAndroid);
      prototype.registerHybridMethod("launchExternalLinkAndroid", &HybridRnIapSpec::launchExternalLinkAndroid);
      prototype.registerHybridMethod("canPresentExternalPurchaseNoticeIOS", &HybridRnIapSpec::canPresentExternalPurchaseNoticeIOS);
      prototype.registerHybridMethod("presentExternalPurchaseNoticeSheetIOS", &HybridRnIapSpec::presentExternalPurchaseNoticeSheetIOS);
      prototype.registerHybridMethod("presentExternalPurchaseLinkIOS", &HybridRnIapSpec::presentExternalPurchaseLinkIOS);
      prototype.registerHybridMethod("isEligibleForExternalPurchaseCustomLinkIOS", &HybridRnIapSpec::isEligibleForExternalPurchaseCustomLinkIOS);
      prototype.registerHybridMethod("getExternalPurchaseCustomLinkTokenIOS", &HybridRnIapSpec::getExternalPurchaseCustomLinkTokenIOS);
      prototype.registerHybridMethod("showExternalPurchaseCustomLinkNoticeIOS", &HybridRnIapSpec::showExternalPurchaseCustomLinkNoticeIOS);
    });
  }

} // namespace margelo::nitro::iap
