// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from derivings.djinni

#pragma once

#include "djinni_support.hpp"
#include "record_with_derivings.hpp"

namespace djinni_generated {

class NativeRecordWithDerivings final {
public:
    using CppType = ::testsuite::RecordWithDerivings;
    using JniType = jobject;

    using Boxed = NativeRecordWithDerivings;

    ~NativeRecordWithDerivings();

    static CppType toCpp(JNIEnv* jniEnv, JniType j);
    static ::djinni::LocalRef<JniType> fromCpp(JNIEnv* jniEnv, const CppType& c);

private:
    NativeRecordWithDerivings();
    friend ::djinni::JniClass<NativeRecordWithDerivings>;

    const ::djinni::GlobalRef<jclass> clazz { ::djinni::jniFindClass("com/dropbox/djinni/test/RecordWithDerivings") };
    const jmethodID jconstructor { ::djinni::jniGetMethodID(clazz.get(), "<init>", "(ILjava/lang/String;)V") };
    const jfieldID field_mKey1 { ::djinni::jniGetFieldID(clazz.get(), "mKey1", "I") };
    const jfieldID field_mKey2 { ::djinni::jniGetFieldID(clazz.get(), "mKey2", "Ljava/lang/String;") };
};

}  // namespace djinni_generated
