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

#include "HybridTorchSpec.hpp"

namespace margelo::nitro::nitrotorch {

  void HybridTorchSpec::loadHybridMethods() {
    // load base methods/properties
    HybridObject::loadHybridMethods();
    // load custom methods/properties
    registerHybrids(this, [](Prototype& prototype) {
      prototype.registerHybridGetter("onStateChanged", &HybridTorchSpec::getOnStateChanged);
      prototype.registerHybridSetter("onStateChanged", &HybridTorchSpec::setOnStateChanged);
      prototype.registerHybridGetter("onLevelChanged", &HybridTorchSpec::getOnLevelChanged);
      prototype.registerHybridSetter("onLevelChanged", &HybridTorchSpec::setOnLevelChanged);
      prototype.registerHybridMethod("on", &HybridTorchSpec::on);
      prototype.registerHybridMethod("off", &HybridTorchSpec::off);
      prototype.registerHybridMethod("toggle", &HybridTorchSpec::toggle);
      prototype.registerHybridMethod("setLevel", &HybridTorchSpec::setLevel);
      prototype.registerHybridMethod("getMaxLevel", &HybridTorchSpec::getMaxLevel);
    });
  }

} // namespace margelo::nitro::nitrotorch
