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

#include "JHybridAirPlayButtonSpec.hpp"



#include <string>

namespace margelo::nitro::aviation {

  jni::local_ref<JHybridAirPlayButtonSpec::jhybriddata> JHybridAirPlayButtonSpec::initHybrid(jni::alias_ref<jhybridobject> jThis) {
    return makeCxxInstance(jThis);
  }

  void JHybridAirPlayButtonSpec::registerNatives() {
    registerHybrid({
      makeNativeMethod("initHybrid", JHybridAirPlayButtonSpec::initHybrid),
    });
  }

  size_t JHybridAirPlayButtonSpec::getExternalMemorySize() noexcept {
    static const auto method = javaClassStatic()->getMethod<jlong()>("getMemorySize");
    return method(_javaPart);
  }

  bool JHybridAirPlayButtonSpec::equals(const std::shared_ptr<HybridObject>& other) {
    if (auto otherCast = std::dynamic_pointer_cast<JHybridAirPlayButtonSpec>(other)) {
      return _javaPart == otherCast->_javaPart;
    }
    return false;
  }

  void JHybridAirPlayButtonSpec::dispose() noexcept {
    static const auto method = javaClassStatic()->getMethod<void()>("dispose");
    method(_javaPart);
  }

  std::string JHybridAirPlayButtonSpec::toString() {
    static const auto method = javaClassStatic()->getMethod<jni::JString()>("toString");
    auto javaString = method(_javaPart);
    return javaString->toStdString();
  }

  // Properties
  std::string JHybridAirPlayButtonSpec::getTintColor() {
    static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getTintColor");
    auto __result = method(_javaPart);
    return __result->toStdString();
  }
  void JHybridAirPlayButtonSpec::setTintColor(const std::string& tintColor) {
    static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* tintColor */)>("setTintColor");
    method(_javaPart, jni::make_jstring(tintColor));
  }
  std::string JHybridAirPlayButtonSpec::getActiveTintColor() {
    static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getActiveTintColor");
    auto __result = method(_javaPart);
    return __result->toStdString();
  }
  void JHybridAirPlayButtonSpec::setActiveTintColor(const std::string& activeTintColor) {
    static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* activeTintColor */)>("setActiveTintColor");
    method(_javaPart, jni::make_jstring(activeTintColor));
  }

  // Methods
  

} // namespace margelo::nitro::aviation
