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

#include "HybridNetSocketDriverSpec.hpp"

namespace margelo::nitro::net {

  void HybridNetSocketDriverSpec::loadHybridMethods() {
    // load base methods/properties
    HybridObject::loadHybridMethods();
    // load custom methods/properties
    registerHybrids(this, [](Prototype& prototype) {
      prototype.registerHybridGetter("id", &HybridNetSocketDriverSpec::getId);
      prototype.registerHybridGetter("onEvent", &HybridNetSocketDriverSpec::getOnEvent);
      prototype.registerHybridSetter("onEvent", &HybridNetSocketDriverSpec::setOnEvent);
      prototype.registerHybridMethod("connect", &HybridNetSocketDriverSpec::connect);
      prototype.registerHybridMethod("connectTLS", &HybridNetSocketDriverSpec::connectTLS);
      prototype.registerHybridMethod("connectTLSWithContext", &HybridNetSocketDriverSpec::connectTLSWithContext);
      prototype.registerHybridMethod("getAuthorizationError", &HybridNetSocketDriverSpec::getAuthorizationError);
      prototype.registerHybridMethod("getProtocol", &HybridNetSocketDriverSpec::getProtocol);
      prototype.registerHybridMethod("getCipher", &HybridNetSocketDriverSpec::getCipher);
      prototype.registerHybridMethod("getALPN", &HybridNetSocketDriverSpec::getALPN);
      prototype.registerHybridMethod("getPeerCertificateJSON", &HybridNetSocketDriverSpec::getPeerCertificateJSON);
      prototype.registerHybridMethod("getEphemeralKeyInfo", &HybridNetSocketDriverSpec::getEphemeralKeyInfo);
      prototype.registerHybridMethod("getSharedSigalgs", &HybridNetSocketDriverSpec::getSharedSigalgs);
      prototype.registerHybridMethod("isSessionReused", &HybridNetSocketDriverSpec::isSessionReused);
      prototype.registerHybridMethod("getSession", &HybridNetSocketDriverSpec::getSession);
      prototype.registerHybridMethod("setSession", &HybridNetSocketDriverSpec::setSession);
      prototype.registerHybridMethod("connectUnix", &HybridNetSocketDriverSpec::connectUnix);
      prototype.registerHybridMethod("connectUnixTLS", &HybridNetSocketDriverSpec::connectUnixTLS);
      prototype.registerHybridMethod("connectUnixTLSWithContext", &HybridNetSocketDriverSpec::connectUnixTLSWithContext);
      prototype.registerHybridMethod("write", &HybridNetSocketDriverSpec::write);
      prototype.registerHybridMethod("pause", &HybridNetSocketDriverSpec::pause);
      prototype.registerHybridMethod("resume", &HybridNetSocketDriverSpec::resume);
      prototype.registerHybridMethod("shutdown", &HybridNetSocketDriverSpec::shutdown);
      prototype.registerHybridMethod("setTimeout", &HybridNetSocketDriverSpec::setTimeout);
      prototype.registerHybridMethod("destroy", &HybridNetSocketDriverSpec::destroy);
      prototype.registerHybridMethod("resetAndDestroy", &HybridNetSocketDriverSpec::resetAndDestroy);
      prototype.registerHybridMethod("enableKeylog", &HybridNetSocketDriverSpec::enableKeylog);
      prototype.registerHybridMethod("enableTrace", &HybridNetSocketDriverSpec::enableTrace);
      prototype.registerHybridMethod("exportKeyingMaterial", &HybridNetSocketDriverSpec::exportKeyingMaterial);
      prototype.registerHybridMethod("setNoDelay", &HybridNetSocketDriverSpec::setNoDelay);
      prototype.registerHybridMethod("setKeepAlive", &HybridNetSocketDriverSpec::setKeepAlive);
      prototype.registerHybridMethod("getLocalAddress", &HybridNetSocketDriverSpec::getLocalAddress);
      prototype.registerHybridMethod("getRemoteAddress", &HybridNetSocketDriverSpec::getRemoteAddress);
    });
  }

} // namespace margelo::nitro::net
