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

#include "HybridCameraControllerSpec.hpp"

namespace margelo::nitro::camera {

  void HybridCameraControllerSpec::loadHybridMethods() {
    // load base methods/properties
    HybridObject::loadHybridMethods();
    // load custom methods/properties
    registerHybrids(this, [](Prototype& prototype) {
      prototype.registerHybridGetter("device", &HybridCameraControllerSpec::getDevice);
      prototype.registerHybridGetter("isConnected", &HybridCameraControllerSpec::getIsConnected);
      prototype.registerHybridGetter("isSuspended", &HybridCameraControllerSpec::getIsSuspended);
      prototype.registerHybridGetter("isUsedByAnotherApp", &HybridCameraControllerSpec::getIsUsedByAnotherApp);
      prototype.registerHybridGetter("isLowLightBoostEnabled", &HybridCameraControllerSpec::getIsLowLightBoostEnabled);
      prototype.registerHybridGetter("isSmoothAutoFocusEnabled", &HybridCameraControllerSpec::getIsSmoothAutoFocusEnabled);
      prototype.registerHybridGetter("isDistortionCorrectionEnabled", &HybridCameraControllerSpec::getIsDistortionCorrectionEnabled);
      prototype.registerHybridGetter("zoom", &HybridCameraControllerSpec::getZoom);
      prototype.registerHybridGetter("minZoom", &HybridCameraControllerSpec::getMinZoom);
      prototype.registerHybridGetter("maxZoom", &HybridCameraControllerSpec::getMaxZoom);
      prototype.registerHybridGetter("displayableZoomFactor", &HybridCameraControllerSpec::getDisplayableZoomFactor);
      prototype.registerHybridGetter("torchStrength", &HybridCameraControllerSpec::getTorchStrength);
      prototype.registerHybridGetter("torchMode", &HybridCameraControllerSpec::getTorchMode);
      prototype.registerHybridGetter("exposureBias", &HybridCameraControllerSpec::getExposureBias);
      prototype.registerHybridGetter("focusMode", &HybridCameraControllerSpec::getFocusMode);
      prototype.registerHybridGetter("lensPosition", &HybridCameraControllerSpec::getLensPosition);
      prototype.registerHybridGetter("exposureMode", &HybridCameraControllerSpec::getExposureMode);
      prototype.registerHybridGetter("minExposureDuration", &HybridCameraControllerSpec::getMinExposureDuration);
      prototype.registerHybridGetter("maxExposureDuration", &HybridCameraControllerSpec::getMaxExposureDuration);
      prototype.registerHybridGetter("minISO", &HybridCameraControllerSpec::getMinISO);
      prototype.registerHybridGetter("maxISO", &HybridCameraControllerSpec::getMaxISO);
      prototype.registerHybridGetter("exposureDuration", &HybridCameraControllerSpec::getExposureDuration);
      prototype.registerHybridGetter("iso", &HybridCameraControllerSpec::getIso);
      prototype.registerHybridGetter("whiteBalanceMode", &HybridCameraControllerSpec::getWhiteBalanceMode);
      prototype.registerHybridGetter("whiteBalanceGains", &HybridCameraControllerSpec::getWhiteBalanceGains);
      prototype.registerHybridMethod("configure", &HybridCameraControllerSpec::configure);
      prototype.registerHybridMethod("focusTo", &HybridCameraControllerSpec::focusTo);
      prototype.registerHybridMethod("resetFocus", &HybridCameraControllerSpec::resetFocus);
      prototype.registerHybridMethod("addSubjectAreaChangedListener", &HybridCameraControllerSpec::addSubjectAreaChangedListener);
      prototype.registerHybridMethod("setZoom", &HybridCameraControllerSpec::setZoom);
      prototype.registerHybridMethod("startZoomAnimation", &HybridCameraControllerSpec::startZoomAnimation);
      prototype.registerHybridMethod("cancelZoomAnimation", &HybridCameraControllerSpec::cancelZoomAnimation);
      prototype.registerHybridMethod("setTorchMode", &HybridCameraControllerSpec::setTorchMode);
      prototype.registerHybridMethod("enableTorchWithStrength", &HybridCameraControllerSpec::enableTorchWithStrength);
      prototype.registerHybridMethod("setExposureBias", &HybridCameraControllerSpec::setExposureBias);
      prototype.registerHybridMethod("setFocusLocked", &HybridCameraControllerSpec::setFocusLocked);
      prototype.registerHybridMethod("lockCurrentFocus", &HybridCameraControllerSpec::lockCurrentFocus);
      prototype.registerHybridMethod("setExposureLocked", &HybridCameraControllerSpec::setExposureLocked);
      prototype.registerHybridMethod("lockCurrentExposure", &HybridCameraControllerSpec::lockCurrentExposure);
      prototype.registerHybridMethod("convertWhiteBalanceTemperatureAndTintValues", &HybridCameraControllerSpec::convertWhiteBalanceTemperatureAndTintValues);
      prototype.registerHybridMethod("setWhiteBalanceLocked", &HybridCameraControllerSpec::setWhiteBalanceLocked);
      prototype.registerHybridMethod("lockCurrentWhiteBalance", &HybridCameraControllerSpec::lockCurrentWhiteBalance);
    });
  }

} // namespace margelo::nitro::camera
