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

#include "HybridKeyObjectHandleSpec.hpp"

namespace margelo::nitro::crypto {

  void HybridKeyObjectHandleSpec::loadHybridMethods() {
    // load base methods/properties
    HybridObject::loadHybridMethods();
    // load custom methods/properties
    registerHybrids(this, [](Prototype& prototype) {
      prototype.registerHybridMethod("exportKey", &HybridKeyObjectHandleSpec::exportKey);
      prototype.registerHybridMethod("exportJwk", &HybridKeyObjectHandleSpec::exportJwk);
      prototype.registerHybridMethod("exportRawPublic", &HybridKeyObjectHandleSpec::exportRawPublic);
      prototype.registerHybridMethod("exportRawPrivate", &HybridKeyObjectHandleSpec::exportRawPrivate);
      prototype.registerHybridMethod("exportRawSeed", &HybridKeyObjectHandleSpec::exportRawSeed);
      prototype.registerHybridMethod("exportECPublicRaw", &HybridKeyObjectHandleSpec::exportECPublicRaw);
      prototype.registerHybridMethod("exportECPrivateRaw", &HybridKeyObjectHandleSpec::exportECPrivateRaw);
      prototype.registerHybridMethod("getAsymmetricKeyType", &HybridKeyObjectHandleSpec::getAsymmetricKeyType);
      prototype.registerHybridMethod("init", &HybridKeyObjectHandleSpec::init);
      prototype.registerHybridMethod("initECRaw", &HybridKeyObjectHandleSpec::initECRaw);
      prototype.registerHybridMethod("initPqcRaw", &HybridKeyObjectHandleSpec::initPqcRaw);
      prototype.registerHybridMethod("initRawPublic", &HybridKeyObjectHandleSpec::initRawPublic);
      prototype.registerHybridMethod("initRawPrivate", &HybridKeyObjectHandleSpec::initRawPrivate);
      prototype.registerHybridMethod("initRawSeed", &HybridKeyObjectHandleSpec::initRawSeed);
      prototype.registerHybridMethod("initJwk", &HybridKeyObjectHandleSpec::initJwk);
      prototype.registerHybridMethod("keyDetail", &HybridKeyObjectHandleSpec::keyDetail);
      prototype.registerHybridMethod("keyEquals", &HybridKeyObjectHandleSpec::keyEquals);
      prototype.registerHybridMethod("getSymmetricKeySize", &HybridKeyObjectHandleSpec::getSymmetricKeySize);
      prototype.registerHybridMethod("checkEcKeyData", &HybridKeyObjectHandleSpec::checkEcKeyData);
    });
  }

} // namespace margelo::nitro::crypto
