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

#include "HybridViewModelListPropertySpec.hpp"

namespace margelo::nitro::rive {

  void HybridViewModelListPropertySpec::loadHybridMethods() {
    // load base methods/properties
    HybridObject::loadHybridMethods();
    HybridViewModelPropertySpec::loadHybridMethods();
    // load custom methods/properties
    registerHybrids(this, [](Prototype& prototype) {
      prototype.registerHybridGetter("length", &HybridViewModelListPropertySpec::getLength);
      prototype.registerHybridMethod("getInstanceAt", &HybridViewModelListPropertySpec::getInstanceAt);
      prototype.registerHybridMethod("getLengthAsync", &HybridViewModelListPropertySpec::getLengthAsync);
      prototype.registerHybridMethod("getInstanceAtAsync", &HybridViewModelListPropertySpec::getInstanceAtAsync);
      prototype.registerHybridMethod("addInstance", &HybridViewModelListPropertySpec::addInstance);
      prototype.registerHybridMethod("addInstanceAt", &HybridViewModelListPropertySpec::addInstanceAt);
      prototype.registerHybridMethod("removeInstance", &HybridViewModelListPropertySpec::removeInstance);
      prototype.registerHybridMethod("removeInstanceAt", &HybridViewModelListPropertySpec::removeInstanceAt);
      prototype.registerHybridMethod("swap", &HybridViewModelListPropertySpec::swap);
      prototype.registerHybridMethod("addInstanceAsync", &HybridViewModelListPropertySpec::addInstanceAsync);
      prototype.registerHybridMethod("addInstanceAtAsync", &HybridViewModelListPropertySpec::addInstanceAtAsync);
      prototype.registerHybridMethod("removeInstanceAsync", &HybridViewModelListPropertySpec::removeInstanceAsync);
      prototype.registerHybridMethod("removeInstanceAtAsync", &HybridViewModelListPropertySpec::removeInstanceAtAsync);
      prototype.registerHybridMethod("swapAsync", &HybridViewModelListPropertySpec::swapAsync);
      prototype.registerHybridMethod("addListener", &HybridViewModelListPropertySpec::addListener);
      prototype.registerHybridMethod("removeListeners", &HybridViewModelListPropertySpec::removeListeners);
    });
  }

} // namespace margelo::nitro::rive
