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

#include "HybridMlKemKeyPairSpec.hpp"

namespace margelo::nitro::crypto {

  void HybridMlKemKeyPairSpec::loadHybridMethods() {
    // load base methods/properties
    HybridObject::loadHybridMethods();
    // load custom methods/properties
    registerHybrids(this, [](Prototype& prototype) {
      prototype.registerHybridMethod("setVariant", &HybridMlKemKeyPairSpec::setVariant);
      prototype.registerHybridMethod("generateKeyPair", &HybridMlKemKeyPairSpec::generateKeyPair);
      prototype.registerHybridMethod("generateKeyPairSync", &HybridMlKemKeyPairSpec::generateKeyPairSync);
      prototype.registerHybridMethod("getPublicKey", &HybridMlKemKeyPairSpec::getPublicKey);
      prototype.registerHybridMethod("getPrivateKey", &HybridMlKemKeyPairSpec::getPrivateKey);
      prototype.registerHybridMethod("setPublicKey", &HybridMlKemKeyPairSpec::setPublicKey);
      prototype.registerHybridMethod("setPrivateKey", &HybridMlKemKeyPairSpec::setPrivateKey);
      prototype.registerHybridMethod("encapsulate", &HybridMlKemKeyPairSpec::encapsulate);
      prototype.registerHybridMethod("encapsulateSync", &HybridMlKemKeyPairSpec::encapsulateSync);
      prototype.registerHybridMethod("decapsulate", &HybridMlKemKeyPairSpec::decapsulate);
      prototype.registerHybridMethod("decapsulateSync", &HybridMlKemKeyPairSpec::decapsulateSync);
    });
  }

} // namespace margelo::nitro::crypto
