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

#include "JHybridFileOpenerSpec.hpp"



#include <string>

namespace margelo::nitro::fileopener {

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

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

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

  // Properties
  

  // Methods
  bool JHybridFileOpenerSpec::open(const std::string& path) {
    static const auto method = javaClassStatic()->getMethod<jboolean(jni::alias_ref<jni::JString> /* path */)>("open");
    auto __result = method(_javaPart, jni::make_jstring(path));
    return static_cast<bool>(__result);
  }

} // namespace margelo::nitro::fileopener
