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

#include "HybridViewModelSpec.hpp"

namespace margelo::nitro::rive {

  void HybridViewModelSpec::loadHybridMethods() {
    // load base methods/properties
    HybridObject::loadHybridMethods();
    // load custom methods/properties
    registerHybrids(this, [](Prototype& prototype) {
      prototype.registerHybridGetter("propertyCount", &HybridViewModelSpec::getPropertyCount);
      prototype.registerHybridGetter("instanceCount", &HybridViewModelSpec::getInstanceCount);
      prototype.registerHybridGetter("modelName", &HybridViewModelSpec::getModelName);
      prototype.registerHybridMethod("getPropertyCountAsync", &HybridViewModelSpec::getPropertyCountAsync);
      prototype.registerHybridMethod("getInstanceCountAsync", &HybridViewModelSpec::getInstanceCountAsync);
      prototype.registerHybridMethod("createInstanceByIndex", &HybridViewModelSpec::createInstanceByIndex);
      prototype.registerHybridMethod("createInstanceByName", &HybridViewModelSpec::createInstanceByName);
      prototype.registerHybridMethod("createDefaultInstance", &HybridViewModelSpec::createDefaultInstance);
      prototype.registerHybridMethod("createInstance", &HybridViewModelSpec::createInstance);
      prototype.registerHybridMethod("createInstanceByNameAsync", &HybridViewModelSpec::createInstanceByNameAsync);
      prototype.registerHybridMethod("createDefaultInstanceAsync", &HybridViewModelSpec::createDefaultInstanceAsync);
      prototype.registerHybridMethod("createBlankInstanceAsync", &HybridViewModelSpec::createBlankInstanceAsync);
    });
  }

} // namespace margelo::nitro::rive
