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

#include "HybridClarionAzureSpec.hpp"

namespace margelo::nitro::clarion::azure {

  void HybridClarionAzureSpec::loadHybridMethods() {
    // load base methods/properties
    HybridObject::loadHybridMethods();
    // load custom methods/properties
    registerHybrids(this, [](Prototype& prototype) {
      prototype.registerHybridGetter("state", &HybridClarionAzureSpec::getState);
      prototype.registerHybridMethod("isAvailable", &HybridClarionAzureSpec::isAvailable);
      prototype.registerHybridMethod("prepare", &HybridClarionAzureSpec::prepare);
      prototype.registerHybridMethod("start", &HybridClarionAzureSpec::start);
      prototype.registerHybridMethod("stop", &HybridClarionAzureSpec::stop);
      prototype.registerHybridMethod("discard", &HybridClarionAzureSpec::discard);
      prototype.registerHybridMethod("release", &HybridClarionAzureSpec::release);
      prototype.registerHybridMethod("updateAuthToken", &HybridClarionAzureSpec::updateAuthToken);
      prototype.registerHybridMethod("addStateListener", &HybridClarionAzureSpec::addStateListener);
      prototype.registerHybridMethod("addAudioLevelListener", &HybridClarionAzureSpec::addAudioLevelListener);
      prototype.registerHybridMethod("addPartialListener", &HybridClarionAzureSpec::addPartialListener);
      prototype.registerHybridMethod("addFinalListener", &HybridClarionAzureSpec::addFinalListener);
      prototype.registerHybridMethod("addErrorListener", &HybridClarionAzureSpec::addErrorListener);
      prototype.registerHybridMethod("addSpeechBoundaryListener", &HybridClarionAzureSpec::addSpeechBoundaryListener);
      prototype.registerHybridMethod("removeListener", &HybridClarionAzureSpec::removeListener);
      prototype.registerHybridMethod("removeAllListeners", &HybridClarionAzureSpec::removeAllListeners);
    });
  }

} // namespace margelo::nitro::clarion::azure
