Commit f6e2a81d authored by Jacob Potter's avatar Jacob Potter

Fully-qualify JNI class names

parent ed6ef3c5
...@@ -9,7 +9,7 @@ namespace djinni_generated { ...@@ -9,7 +9,7 @@ namespace djinni_generated {
jobject NativeItemList::toJava(JNIEnv* jniEnv, ::textsort::ItemList c) { jobject NativeItemList::toJava(JNIEnv* jniEnv, ::textsort::ItemList c) {
djinni::LocalRef<jobject> j_items(jniEnv, ::djinni::HList<::djinni::HString>::toJava(jniEnv, c.items)); djinni::LocalRef<jobject> j_items(jniEnv, ::djinni::HList<::djinni::HString>::toJava(jniEnv, c.items));
const NativeItemList & data = djinni::JniClass<NativeItemList>::get(); const auto & data = djinni::JniClass<::djinni_generated::NativeItemList>::get();
jobject r = jniEnv->NewObject(data.clazz.get(), data.jconstructor, j_items.get()); jobject r = jniEnv->NewObject(data.clazz.get(), data.jconstructor, j_items.get());
djinni::jniExceptionCheck(jniEnv); djinni::jniExceptionCheck(jniEnv);
return r; return r;
...@@ -17,7 +17,7 @@ jobject NativeItemList::toJava(JNIEnv* jniEnv, ::textsort::ItemList c) { ...@@ -17,7 +17,7 @@ jobject NativeItemList::toJava(JNIEnv* jniEnv, ::textsort::ItemList c) {
::textsort::ItemList NativeItemList::fromJava(JNIEnv* jniEnv, jobject j) { ::textsort::ItemList NativeItemList::fromJava(JNIEnv* jniEnv, jobject j) {
assert(j != nullptr); assert(j != nullptr);
const NativeItemList & data = djinni::JniClass<NativeItemList>::get(); const auto & data = djinni::JniClass<::djinni_generated::NativeItemList>::get();
return ::textsort::ItemList( return ::textsort::ItemList(
::djinni::HList<::djinni::HString>::fromJava(jniEnv, djinni::LocalRef<jobject>(jniEnv, jniEnv->GetObjectField(j, data.field_mItems)).get())); ::djinni::HList<::djinni::HString>::fromJava(jniEnv, djinni::LocalRef<jobject>(jniEnv, jniEnv->GetObjectField(j, data.field_mItems)).get()));
} }
......
...@@ -22,7 +22,7 @@ public: ...@@ -22,7 +22,7 @@ public:
private: private:
NativeItemList() {} NativeItemList() {}
friend class djinni::JniClass<NativeItemList>; friend class djinni::JniClass<::djinni_generated::NativeItemList>;
}; };
} // namespace djinni_generated } // namespace djinni_generated
...@@ -13,13 +13,13 @@ public: ...@@ -13,13 +13,13 @@ public:
using CppType = std::shared_ptr<::textsort::SortItems>; using CppType = std::shared_ptr<::textsort::SortItems>;
using JniType = jobject; using JniType = jobject;
static jobject toJava(JNIEnv* jniEnv, std::shared_ptr<::textsort::SortItems> c) { return djinni::JniClass<NativeSortItems>::get()._toJava(jniEnv, c); } static jobject toJava(JNIEnv* jniEnv, std::shared_ptr<::textsort::SortItems> c) { return djinni::JniClass<::djinni_generated::NativeSortItems>::get()._toJava(jniEnv, c); }
static std::shared_ptr<::textsort::SortItems> fromJava(JNIEnv* jniEnv, jobject j) { return djinni::JniClass<NativeSortItems>::get()._fromJava(jniEnv, j); } static std::shared_ptr<::textsort::SortItems> fromJava(JNIEnv* jniEnv, jobject j) { return djinni::JniClass<::djinni_generated::NativeSortItems>::get()._fromJava(jniEnv, j); }
private: private:
NativeSortItems(); NativeSortItems();
friend class djinni::JniClass<NativeSortItems>; friend class djinni::JniClass<::djinni_generated::NativeSortItems>;
}; };
} // namespace djinni_generated } // namespace djinni_generated
...@@ -14,7 +14,7 @@ void NativeTextboxListener::JavaProxy::JavaProxy::update(const ::textsort::ItemL ...@@ -14,7 +14,7 @@ void NativeTextboxListener::JavaProxy::JavaProxy::update(const ::textsort::ItemL
JNIEnv * const jniEnv = djinni::jniGetThreadEnv(); JNIEnv * const jniEnv = djinni::jniGetThreadEnv();
djinni::JniLocalScope jscope(jniEnv, 10); djinni::JniLocalScope jscope(jniEnv, 10);
djinni::LocalRef<jobject> j_items(jniEnv, NativeItemList::toJava(jniEnv, c_items)); djinni::LocalRef<jobject> j_items(jniEnv, NativeItemList::toJava(jniEnv, c_items));
const NativeTextboxListener & data = djinni::JniClass<NativeTextboxListener>::get(); const auto & data = djinni::JniClass<::djinni_generated::NativeTextboxListener>::get();
jniEnv->CallVoidMethod(getGlobalRef(), data.method_update, j_items.get()); jniEnv->CallVoidMethod(getGlobalRef(), data.method_update, j_items.get());
djinni::jniExceptionCheck(jniEnv); djinni::jniExceptionCheck(jniEnv);
}; };
......
...@@ -13,7 +13,7 @@ public: ...@@ -13,7 +13,7 @@ public:
using CppType = std::shared_ptr<::textsort::TextboxListener>; using CppType = std::shared_ptr<::textsort::TextboxListener>;
using JniType = jobject; using JniType = jobject;
static std::shared_ptr<::textsort::TextboxListener> fromJava(JNIEnv* jniEnv, jobject j) { return djinni::JniClass<NativeTextboxListener>::get()._fromJava(jniEnv, j); } static std::shared_ptr<::textsort::TextboxListener> fromJava(JNIEnv* jniEnv, jobject j) { return djinni::JniClass<::djinni_generated::NativeTextboxListener>::get()._fromJava(jniEnv, j); }
const djinni::GlobalRef<jclass> clazz { djinni::jniFindClass("com/dropbox/textsort/TextboxListener") }; const djinni::GlobalRef<jclass> clazz { djinni::jniFindClass("com/dropbox/textsort/TextboxListener") };
const jmethodID method_update { djinni::jniGetMethodID(clazz.get(), "update", "(Lcom/dropbox/textsort/ItemList;)V") }; const jmethodID method_update { djinni::jniGetMethodID(clazz.get(), "update", "(Lcom/dropbox/textsort/ItemList;)V") };
...@@ -25,13 +25,13 @@ public: ...@@ -25,13 +25,13 @@ public:
private: private:
using djinni::JavaProxyCacheEntry::getGlobalRef; using djinni::JavaProxyCacheEntry::getGlobalRef;
friend class djinni::JniInterfaceJavaExt<::textsort::TextboxListener, NativeTextboxListener>; friend class djinni::JniInterfaceJavaExt<::textsort::TextboxListener, ::djinni_generated::NativeTextboxListener>;
friend class djinni::JavaProxyCache<JavaProxy>; friend class djinni::JavaProxyCache<JavaProxy>;
}; };
private: private:
NativeTextboxListener(); NativeTextboxListener();
friend class djinni::JniClass<NativeTextboxListener>; friend class djinni::JniClass<::djinni_generated::NativeTextboxListener>;
}; };
} // namespace djinni_generated } // namespace djinni_generated
...@@ -79,6 +79,7 @@ class JNIGenerator(spec: Spec) extends Generator(spec) { ...@@ -79,6 +79,7 @@ class JNIGenerator(spec: Spec) extends Generator(spec) {
val refs = new JNIRefs(ident.name) val refs = new JNIRefs(ident.name)
r.fields.foreach(f => refs.find(f.ty)) r.fields.foreach(f => refs.find(f.ty))
val jniClassName = spec.jniClassIdentStyle(ident) val jniClassName = spec.jniClassIdentStyle(ident)
val fqJniClassName = withNs(Some(spec.jniNamespace), jniClassName)
val self = idCpp.ty(ident) val self = idCpp.ty(ident)
val selfQ = withNs(spec.cppNamespace, self) + cppTypeArgs(params) // Qualified "self" val selfQ = withNs(spec.cppNamespace, self) + cppTypeArgs(params) // Qualified "self"
...@@ -105,7 +106,7 @@ class JNIGenerator(spec: Spec) extends Generator(spec) { ...@@ -105,7 +106,7 @@ class JNIGenerator(spec: Spec) extends Generator(spec) {
w.wl w.wl
w.wlOutdent("private:") w.wlOutdent("private:")
w.wl(s"$jniClassName() {}") w.wl(s"$jniClassName() {}")
w.wl(s"friend class djinni::JniClass<$jniClassName>;") w.wl(s"friend class djinni::JniClass<$fqJniClassName>;")
} }
} }
...@@ -123,7 +124,7 @@ class JNIGenerator(spec: Spec) extends Generator(spec) { ...@@ -123,7 +124,7 @@ class JNIGenerator(spec: Spec) extends Generator(spec) {
val jniLocalRead = storeLocal(w, jniLocal, f.ty, s"$jniHelperClass::toJava(jniEnv, c.$cppFieldName)") val jniLocalRead = storeLocal(w, jniLocal, f.ty, s"$jniHelperClass::toJava(jniEnv, c.$cppFieldName)")
jniArgs.append(jniLocalRead) jniArgs.append(jniLocalRead)
} }
w.wl(s"const $jniClassName & data = djinni::JniClass<$jniClassName>::get();") w.wl(s"const auto & data = djinni::JniClass<$fqJniClassName>::get();")
val argList = jniArgs.map(", " + _).mkString("") val argList = jniArgs.map(", " + _).mkString("")
w.wl(s"jobject r = jniEnv->NewObject(data.clazz.get(), data.jconstructor$argList);") w.wl(s"jobject r = jniEnv->NewObject(data.clazz.get(), data.jconstructor$argList);")
w.wl(s"djinni::jniExceptionCheck(jniEnv);") w.wl(s"djinni::jniExceptionCheck(jniEnv);")
...@@ -135,7 +136,7 @@ class JNIGenerator(spec: Spec) extends Generator(spec) { ...@@ -135,7 +136,7 @@ class JNIGenerator(spec: Spec) extends Generator(spec) {
w.w(s"$selfQ $jniClassName::fromJava(JNIEnv* jniEnv, jobject j)").braced { w.w(s"$selfQ $jniClassName::fromJava(JNIEnv* jniEnv, jobject j)").braced {
//w.wl(s"::${spec.jniNamespace}::JniLocalScope jscope(jniEnv, 10);") //w.wl(s"::${spec.jniNamespace}::JniLocalScope jscope(jniEnv, 10);")
w.wl(s"assert(j != nullptr);") w.wl(s"assert(j != nullptr);")
w.wl(s"const $jniClassName & data = djinni::JniClass<$jniClassName>::get();") w.wl(s"const auto & data = djinni::JniClass<$fqJniClassName>::get();")
w.wl(s"return $selfQ(").nested { w.wl(s"return $selfQ(").nested {
val skipFirst = SkipFirst() val skipFirst = SkipFirst()
for (f <- r.fields) { for (f <- r.fields) {
...@@ -179,6 +180,7 @@ class JNIGenerator(spec: Spec) extends Generator(spec) { ...@@ -179,6 +180,7 @@ class JNIGenerator(spec: Spec) extends Generator(spec) {
val selfQ = withNs(spec.cppNamespace, self) + cppTypeArgs(typeParams) // Qualified "self" val selfQ = withNs(spec.cppNamespace, self) + cppTypeArgs(typeParams) // Qualified "self"
val jniClassName = spec.jniClassIdentStyle(ident) val jniClassName = spec.jniClassIdentStyle(ident)
val fqJniClassName = withNs(Some(spec.jniNamespace), jniClassName)
val classLookup = toJavaClassLookup(ident, spec.javaPackage) val classLookup = toJavaClassLookup(ident, spec.javaPackage)
val (baseClassName, baseClassArgs) = (i.ext.java, i.ext.cpp) match { val (baseClassName, baseClassArgs) = (i.ext.java, i.ext.cpp) match {
case (true, true) => throw new AssertionError("an interface cannot be both +c and +j") case (true, true) => throw new AssertionError("an interface cannot be both +c and +j")
...@@ -196,9 +198,9 @@ class JNIGenerator(spec: Spec) extends Generator(spec) { ...@@ -196,9 +198,9 @@ class JNIGenerator(spec: Spec) extends Generator(spec) {
w.wl(s"using JniType = jobject;") w.wl(s"using JniType = jobject;")
w.wl w.wl
if (!i.ext.java) { if (!i.ext.java) {
w.wl(s"static jobject toJava(JNIEnv* jniEnv, std::shared_ptr<$selfQ> c) { return djinni::JniClass<$jniClassName>::get()._toJava(jniEnv, c); }") w.wl(s"static jobject toJava(JNIEnv* jniEnv, std::shared_ptr<$selfQ> c) { return djinni::JniClass<$fqJniClassName>::get()._toJava(jniEnv, c); }")
} }
w.wl(s"static std::shared_ptr<$selfQ> fromJava(JNIEnv* jniEnv, jobject j) { return djinni::JniClass<$jniClassName>::get()._fromJava(jniEnv, j); }") w.wl(s"static std::shared_ptr<$selfQ> fromJava(JNIEnv* jniEnv, jobject j) { return djinni::JniClass<$fqJniClassName>::get()._fromJava(jniEnv, j); }")
w.wl w.wl
if (i.ext.java) { if (i.ext.java) {
w.wl(s"const djinni::GlobalRef<jclass> clazz { djinni::jniFindClass(${q(classLookup)}) };") w.wl(s"const djinni::GlobalRef<jclass> clazz { djinni::jniFindClass(${q(classLookup)}) };")
...@@ -221,14 +223,14 @@ class JNIGenerator(spec: Spec) extends Generator(spec) { ...@@ -221,14 +223,14 @@ class JNIGenerator(spec: Spec) extends Generator(spec) {
w.wl w.wl
w.wlOutdent(s"private:") w.wlOutdent(s"private:")
w.wl(s"using djinni::JavaProxyCacheEntry::getGlobalRef;") w.wl(s"using djinni::JavaProxyCacheEntry::getGlobalRef;")
w.wl(s"friend class djinni::JniInterfaceJavaExt<$selfQ, $jniClassName>;") w.wl(s"friend class djinni::JniInterfaceJavaExt<$selfQ, $fqJniClassName>;")
w.wl(s"friend class djinni::JavaProxyCache<JavaProxy>;") w.wl(s"friend class djinni::JavaProxyCache<JavaProxy>;")
} }
} }
w.wl w.wl
w.wlOutdent("private:") w.wlOutdent("private:")
w.wl(s"$jniClassName();") w.wl(s"$jniClassName();")
w.wl(s"friend class djinni::JniClass<$jniClassName>;") w.wl(s"friend class djinni::JniClass<$fqJniClassName>;")
} }
} }
...@@ -257,7 +259,7 @@ class JNIGenerator(spec: Spec) extends Generator(spec) { ...@@ -257,7 +259,7 @@ class JNIGenerator(spec: Spec) extends Generator(spec) {
val jniLocalRead = storeLocal(w, jniLocal, p.ty, s"$jniHelperClass::toJava(jniEnv, $cppParamName)") val jniLocalRead = storeLocal(w, jniLocal, p.ty, s"$jniHelperClass::toJava(jniEnv, $cppParamName)")
jniArgs.append(jniLocalRead) jniArgs.append(jniLocalRead)
} }
w.wl(s"const $jniClassName & data = djinni::JniClass<$jniClassName>::get();") w.wl(s"const auto & data = djinni::JniClass<$fqJniClassName>::get();")
val argList = jniArgs.map(", "+_).mkString("") val argList = jniArgs.map(", "+_).mkString("")
val javaMethodName = idJava.method(m.ident) val javaMethodName = idJava.method(m.ident)
m.ret match { m.ret match {
......
...@@ -15,7 +15,7 @@ ClientReturnedRecord NativeClientInterface::JavaProxy::JavaProxy::get_record(con ...@@ -15,7 +15,7 @@ ClientReturnedRecord NativeClientInterface::JavaProxy::JavaProxy::get_record(con
JNIEnv * const jniEnv = djinni::jniGetThreadEnv(); JNIEnv * const jniEnv = djinni::jniGetThreadEnv();
djinni::JniLocalScope jscope(jniEnv, 10); djinni::JniLocalScope jscope(jniEnv, 10);
djinni::LocalRef<jstring> j_utf8string(jniEnv, ::djinni::HString::toJava(jniEnv, c_utf8string)); djinni::LocalRef<jstring> j_utf8string(jniEnv, ::djinni::HString::toJava(jniEnv, c_utf8string));
const NativeClientInterface & data = djinni::JniClass<NativeClientInterface>::get(); const auto & data = djinni::JniClass<::djinni_generated::NativeClientInterface>::get();
djinni::LocalRef<jobject> jret(jniEnv, jniEnv->CallObjectMethod(getGlobalRef(), data.method_getRecord, j_utf8string.get())); djinni::LocalRef<jobject> jret(jniEnv, jniEnv->CallObjectMethod(getGlobalRef(), data.method_getRecord, j_utf8string.get()));
djinni::jniExceptionCheck(jniEnv); djinni::jniExceptionCheck(jniEnv);
return NativeClientReturnedRecord::fromJava(jniEnv, jret.get()); return NativeClientReturnedRecord::fromJava(jniEnv, jret.get());
......
...@@ -13,7 +13,7 @@ public: ...@@ -13,7 +13,7 @@ public:
using CppType = std::shared_ptr<ClientInterface>; using CppType = std::shared_ptr<ClientInterface>;
using JniType = jobject; using JniType = jobject;
static std::shared_ptr<ClientInterface> fromJava(JNIEnv* jniEnv, jobject j) { return djinni::JniClass<NativeClientInterface>::get()._fromJava(jniEnv, j); } static std::shared_ptr<ClientInterface> fromJava(JNIEnv* jniEnv, jobject j) { return djinni::JniClass<::djinni_generated::NativeClientInterface>::get()._fromJava(jniEnv, j); }
const djinni::GlobalRef<jclass> clazz { djinni::jniFindClass("com/dropbox/djinni/test/ClientInterface") }; const djinni::GlobalRef<jclass> clazz { djinni::jniFindClass("com/dropbox/djinni/test/ClientInterface") };
const jmethodID method_getRecord { djinni::jniGetMethodID(clazz.get(), "getRecord", "(Ljava/lang/String;)Lcom/dropbox/djinni/test/ClientReturnedRecord;") }; const jmethodID method_getRecord { djinni::jniGetMethodID(clazz.get(), "getRecord", "(Ljava/lang/String;)Lcom/dropbox/djinni/test/ClientReturnedRecord;") };
...@@ -25,13 +25,13 @@ public: ...@@ -25,13 +25,13 @@ public:
private: private:
using djinni::JavaProxyCacheEntry::getGlobalRef; using djinni::JavaProxyCacheEntry::getGlobalRef;
friend class djinni::JniInterfaceJavaExt<ClientInterface, NativeClientInterface>; friend class djinni::JniInterfaceJavaExt<ClientInterface, ::djinni_generated::NativeClientInterface>;
friend class djinni::JavaProxyCache<JavaProxy>; friend class djinni::JavaProxyCache<JavaProxy>;
}; };
private: private:
NativeClientInterface(); NativeClientInterface();
friend class djinni::JniClass<NativeClientInterface>; friend class djinni::JniClass<::djinni_generated::NativeClientInterface>;
}; };
} // namespace djinni_generated } // namespace djinni_generated
...@@ -8,7 +8,7 @@ namespace djinni_generated { ...@@ -8,7 +8,7 @@ namespace djinni_generated {
jobject NativeClientReturnedRecord::toJava(JNIEnv* jniEnv, ClientReturnedRecord c) { jobject NativeClientReturnedRecord::toJava(JNIEnv* jniEnv, ClientReturnedRecord c) {
djinni::LocalRef<jstring> j_content(jniEnv, ::djinni::HString::toJava(jniEnv, c.content)); djinni::LocalRef<jstring> j_content(jniEnv, ::djinni::HString::toJava(jniEnv, c.content));
const NativeClientReturnedRecord & data = djinni::JniClass<NativeClientReturnedRecord>::get(); const auto & data = djinni::JniClass<::djinni_generated::NativeClientReturnedRecord>::get();
jobject r = jniEnv->NewObject(data.clazz.get(), data.jconstructor, j_content.get()); jobject r = jniEnv->NewObject(data.clazz.get(), data.jconstructor, j_content.get());
djinni::jniExceptionCheck(jniEnv); djinni::jniExceptionCheck(jniEnv);
return r; return r;
...@@ -16,7 +16,7 @@ jobject NativeClientReturnedRecord::toJava(JNIEnv* jniEnv, ClientReturnedRecord ...@@ -16,7 +16,7 @@ jobject NativeClientReturnedRecord::toJava(JNIEnv* jniEnv, ClientReturnedRecord
ClientReturnedRecord NativeClientReturnedRecord::fromJava(JNIEnv* jniEnv, jobject j) { ClientReturnedRecord NativeClientReturnedRecord::fromJava(JNIEnv* jniEnv, jobject j) {
assert(j != nullptr); assert(j != nullptr);
const NativeClientReturnedRecord & data = djinni::JniClass<NativeClientReturnedRecord>::get(); const auto & data = djinni::JniClass<::djinni_generated::NativeClientReturnedRecord>::get();
return ClientReturnedRecord( return ClientReturnedRecord(
::djinni::HString::fromJava(jniEnv, djinni::LocalRef<jstring>(jniEnv, static_cast<jstring>(jniEnv->GetObjectField(j, data.field_mContent))).get())); ::djinni::HString::fromJava(jniEnv, djinni::LocalRef<jstring>(jniEnv, static_cast<jstring>(jniEnv->GetObjectField(j, data.field_mContent))).get()));
} }
......
...@@ -22,7 +22,7 @@ public: ...@@ -22,7 +22,7 @@ public:
private: private:
NativeClientReturnedRecord() {} NativeClientReturnedRecord() {}
friend class djinni::JniClass<NativeClientReturnedRecord>; friend class djinni::JniClass<::djinni_generated::NativeClientReturnedRecord>;
}; };
} // namespace djinni_generated } // namespace djinni_generated
...@@ -13,13 +13,13 @@ public: ...@@ -13,13 +13,13 @@ public:
using CppType = std::shared_ptr<CppException>; using CppType = std::shared_ptr<CppException>;
using JniType = jobject; using JniType = jobject;
static jobject toJava(JNIEnv* jniEnv, std::shared_ptr<CppException> c) { return djinni::JniClass<NativeCppException>::get()._toJava(jniEnv, c); } static jobject toJava(JNIEnv* jniEnv, std::shared_ptr<CppException> c) { return djinni::JniClass<::djinni_generated::NativeCppException>::get()._toJava(jniEnv, c); }
static std::shared_ptr<CppException> fromJava(JNIEnv* jniEnv, jobject j) { return djinni::JniClass<NativeCppException>::get()._fromJava(jniEnv, j); } static std::shared_ptr<CppException> fromJava(JNIEnv* jniEnv, jobject j) { return djinni::JniClass<::djinni_generated::NativeCppException>::get()._fromJava(jniEnv, j); }
private: private:
NativeCppException(); NativeCppException();
friend class djinni::JniClass<NativeCppException>; friend class djinni::JniClass<::djinni_generated::NativeCppException>;
}; };
} // namespace djinni_generated } // namespace djinni_generated
...@@ -11,7 +11,7 @@ namespace djinni_generated { ...@@ -11,7 +11,7 @@ namespace djinni_generated {
jobject NativeMapListRecord::toJava(JNIEnv* jniEnv, MapListRecord c) { jobject NativeMapListRecord::toJava(JNIEnv* jniEnv, MapListRecord c) {
djinni::LocalRef<jobject> j_map_list(jniEnv, ::djinni::HList<::djinni::HMap<::djinni::HString, ::djinni::HI64>>::toJava(jniEnv, c.map_list)); djinni::LocalRef<jobject> j_map_list(jniEnv, ::djinni::HList<::djinni::HMap<::djinni::HString, ::djinni::HI64>>::toJava(jniEnv, c.map_list));
const NativeMapListRecord & data = djinni::JniClass<NativeMapListRecord>::get(); const auto & data = djinni::JniClass<::djinni_generated::NativeMapListRecord>::get();
jobject r = jniEnv->NewObject(data.clazz.get(), data.jconstructor, j_map_list.get()); jobject r = jniEnv->NewObject(data.clazz.get(), data.jconstructor, j_map_list.get());
djinni::jniExceptionCheck(jniEnv); djinni::jniExceptionCheck(jniEnv);
return r; return r;
...@@ -19,7 +19,7 @@ jobject NativeMapListRecord::toJava(JNIEnv* jniEnv, MapListRecord c) { ...@@ -19,7 +19,7 @@ jobject NativeMapListRecord::toJava(JNIEnv* jniEnv, MapListRecord c) {
MapListRecord NativeMapListRecord::fromJava(JNIEnv* jniEnv, jobject j) { MapListRecord NativeMapListRecord::fromJava(JNIEnv* jniEnv, jobject j) {
assert(j != nullptr); assert(j != nullptr);
const NativeMapListRecord & data = djinni::JniClass<NativeMapListRecord>::get(); const auto & data = djinni::JniClass<::djinni_generated::NativeMapListRecord>::get();
return MapListRecord( return MapListRecord(
::djinni::HList<::djinni::HMap<::djinni::HString, ::djinni::HI64>>::fromJava(jniEnv, djinni::LocalRef<jobject>(jniEnv, jniEnv->GetObjectField(j, data.field_mMapList)).get())); ::djinni::HList<::djinni::HMap<::djinni::HString, ::djinni::HI64>>::fromJava(jniEnv, djinni::LocalRef<jobject>(jniEnv, jniEnv->GetObjectField(j, data.field_mMapList)).get()));
} }
......
...@@ -22,7 +22,7 @@ public: ...@@ -22,7 +22,7 @@ public:
private: private:
NativeMapListRecord() {} NativeMapListRecord() {}
friend class djinni::JniClass<NativeMapListRecord>; friend class djinni::JniClass<::djinni_generated::NativeMapListRecord>;
}; };
} // namespace djinni_generated } // namespace djinni_generated
...@@ -10,7 +10,7 @@ namespace djinni_generated { ...@@ -10,7 +10,7 @@ namespace djinni_generated {
jobject NativeMapRecord::toJava(JNIEnv* jniEnv, MapRecord c) { jobject NativeMapRecord::toJava(JNIEnv* jniEnv, MapRecord c) {
djinni::LocalRef<jobject> j_map(jniEnv, ::djinni::HMap<::djinni::HString, ::djinni::HI64>::toJava(jniEnv, c.map)); djinni::LocalRef<jobject> j_map(jniEnv, ::djinni::HMap<::djinni::HString, ::djinni::HI64>::toJava(jniEnv, c.map));
const NativeMapRecord & data = djinni::JniClass<NativeMapRecord>::get(); const auto & data = djinni::JniClass<::djinni_generated::NativeMapRecord>::get();
jobject r = jniEnv->NewObject(data.clazz.get(), data.jconstructor, j_map.get()); jobject r = jniEnv->NewObject(data.clazz.get(), data.jconstructor, j_map.get());
djinni::jniExceptionCheck(jniEnv); djinni::jniExceptionCheck(jniEnv);
return r; return r;
...@@ -18,7 +18,7 @@ jobject NativeMapRecord::toJava(JNIEnv* jniEnv, MapRecord c) { ...@@ -18,7 +18,7 @@ jobject NativeMapRecord::toJava(JNIEnv* jniEnv, MapRecord c) {
MapRecord NativeMapRecord::fromJava(JNIEnv* jniEnv, jobject j) { MapRecord NativeMapRecord::fromJava(JNIEnv* jniEnv, jobject j) {
assert(j != nullptr); assert(j != nullptr);
const NativeMapRecord & data = djinni::JniClass<NativeMapRecord>::get(); const auto & data = djinni::JniClass<::djinni_generated::NativeMapRecord>::get();
return MapRecord( return MapRecord(
::djinni::HMap<::djinni::HString, ::djinni::HI64>::fromJava(jniEnv, djinni::LocalRef<jobject>(jniEnv, jniEnv->GetObjectField(j, data.field_mMap)).get())); ::djinni::HMap<::djinni::HString, ::djinni::HI64>::fromJava(jniEnv, djinni::LocalRef<jobject>(jniEnv, jniEnv->GetObjectField(j, data.field_mMap)).get()));
} }
......
...@@ -22,7 +22,7 @@ public: ...@@ -22,7 +22,7 @@ public:
private: private:
NativeMapRecord() {} NativeMapRecord() {}
friend class djinni::JniClass<NativeMapRecord>; friend class djinni::JniClass<::djinni_generated::NativeMapRecord>;
}; };
} // namespace djinni_generated } // namespace djinni_generated
...@@ -10,7 +10,7 @@ namespace djinni_generated { ...@@ -10,7 +10,7 @@ namespace djinni_generated {
jobject NativeNestedCollection::toJava(JNIEnv* jniEnv, NestedCollection c) { jobject NativeNestedCollection::toJava(JNIEnv* jniEnv, NestedCollection c) {
djinni::LocalRef<jobject> j_set_list(jniEnv, ::djinni::HList<::djinni::HSet<::djinni::HString>>::toJava(jniEnv, c.set_list)); djinni::LocalRef<jobject> j_set_list(jniEnv, ::djinni::HList<::djinni::HSet<::djinni::HString>>::toJava(jniEnv, c.set_list));
const NativeNestedCollection & data = djinni::JniClass<NativeNestedCollection>::get(); const auto & data = djinni::JniClass<::djinni_generated::NativeNestedCollection>::get();
jobject r = jniEnv->NewObject(data.clazz.get(), data.jconstructor, j_set_list.get()); jobject r = jniEnv->NewObject(data.clazz.get(), data.jconstructor, j_set_list.get());
djinni::jniExceptionCheck(jniEnv); djinni::jniExceptionCheck(jniEnv);
return r; return r;
...@@ -18,7 +18,7 @@ jobject NativeNestedCollection::toJava(JNIEnv* jniEnv, NestedCollection c) { ...@@ -18,7 +18,7 @@ jobject NativeNestedCollection::toJava(JNIEnv* jniEnv, NestedCollection c) {
NestedCollection NativeNestedCollection::fromJava(JNIEnv* jniEnv, jobject j) { NestedCollection NativeNestedCollection::fromJava(JNIEnv* jniEnv, jobject j) {
assert(j != nullptr); assert(j != nullptr);
const NativeNestedCollection & data = djinni::JniClass<NativeNestedCollection>::get(); const auto & data = djinni::JniClass<::djinni_generated::NativeNestedCollection>::get();
return NestedCollection( return NestedCollection(
::djinni::HList<::djinni::HSet<::djinni::HString>>::fromJava(jniEnv, djinni::LocalRef<jobject>(jniEnv, jniEnv->GetObjectField(j, data.field_mSetList)).get())); ::djinni::HList<::djinni::HSet<::djinni::HString>>::fromJava(jniEnv, djinni::LocalRef<jobject>(jniEnv, jniEnv->GetObjectField(j, data.field_mSetList)).get()));
} }
......
...@@ -22,7 +22,7 @@ public: ...@@ -22,7 +22,7 @@ public:
private: private:
NativeNestedCollection() {} NativeNestedCollection() {}
friend class djinni::JniClass<NativeNestedCollection>; friend class djinni::JniClass<::djinni_generated::NativeNestedCollection>;
}; };
} // namespace djinni_generated } // namespace djinni_generated
...@@ -9,7 +9,7 @@ namespace djinni_generated { ...@@ -9,7 +9,7 @@ namespace djinni_generated {
jobject NativePrimitiveList::toJava(JNIEnv* jniEnv, PrimitiveList c) { jobject NativePrimitiveList::toJava(JNIEnv* jniEnv, PrimitiveList c) {
djinni::LocalRef<jobject> j_list(jniEnv, ::djinni::HList<::djinni::HI64>::toJava(jniEnv, c.list)); djinni::LocalRef<jobject> j_list(jniEnv, ::djinni::HList<::djinni::HI64>::toJava(jniEnv, c.list));
const NativePrimitiveList & data = djinni::JniClass<NativePrimitiveList>::get(); const auto & data = djinni::JniClass<::djinni_generated::NativePrimitiveList>::get();
jobject r = jniEnv->NewObject(data.clazz.get(), data.jconstructor, j_list.get()); jobject r = jniEnv->NewObject(data.clazz.get(), data.jconstructor, j_list.get());
djinni::jniExceptionCheck(jniEnv); djinni::jniExceptionCheck(jniEnv);
return r; return r;
...@@ -17,7 +17,7 @@ jobject NativePrimitiveList::toJava(JNIEnv* jniEnv, PrimitiveList c) { ...@@ -17,7 +17,7 @@ jobject NativePrimitiveList::toJava(JNIEnv* jniEnv, PrimitiveList c) {
PrimitiveList NativePrimitiveList::fromJava(JNIEnv* jniEnv, jobject j) { PrimitiveList NativePrimitiveList::fromJava(JNIEnv* jniEnv, jobject j) {
assert(j != nullptr); assert(j != nullptr);
const NativePrimitiveList & data = djinni::JniClass<NativePrimitiveList>::get(); const auto & data = djinni::JniClass<::djinni_generated::NativePrimitiveList>::get();
return PrimitiveList( return PrimitiveList(
::djinni::HList<::djinni::HI64>::fromJava(jniEnv, djinni::LocalRef<jobject>(jniEnv, jniEnv->GetObjectField(j, data.field_mList)).get())); ::djinni::HList<::djinni::HI64>::fromJava(jniEnv, djinni::LocalRef<jobject>(jniEnv, jniEnv->GetObjectField(j, data.field_mList)).get()));
} }
......
...@@ -22,7 +22,7 @@ public: ...@@ -22,7 +22,7 @@ public:
private: private:
NativePrimitiveList() {} NativePrimitiveList() {}
friend class djinni::JniClass<NativePrimitiveList>; friend class djinni::JniClass<::djinni_generated::NativePrimitiveList>;
}; };
} // namespace djinni_generated } // namespace djinni_generated
...@@ -10,7 +10,7 @@ namespace djinni_generated { ...@@ -10,7 +10,7 @@ namespace djinni_generated {
jobject NativeRecordWithDerivings::toJava(JNIEnv* jniEnv, RecordWithDerivings c) { jobject NativeRecordWithDerivings::toJava(JNIEnv* jniEnv, RecordWithDerivings c) {
jint j_key1 = ::djinni::HI32::Unboxed::toJava(jniEnv, c.key1); jint j_key1 = ::djinni::HI32::Unboxed::toJava(jniEnv, c.key1);
djinni::LocalRef<jstring> j_key2(jniEnv, ::djinni::HString::toJava(jniEnv, c.key2)); djinni::LocalRef<jstring> j_key2(jniEnv, ::djinni::HString::toJava(jniEnv, c.key2));
const NativeRecordWithDerivings & data = djinni::JniClass<NativeRecordWithDerivings>::get(); const auto & data = djinni::JniClass<::djinni_generated::NativeRecordWithDerivings>::get();
jobject r = jniEnv->NewObject(data.clazz.get(), data.jconstructor, j_key1, j_key2.get()); jobject r = jniEnv->NewObject(data.clazz.get(), data.jconstructor, j_key1, j_key2.get());
djinni::jniExceptionCheck(jniEnv); djinni::jniExceptionCheck(jniEnv);
return r; return r;
...@@ -18,7 +18,7 @@ jobject NativeRecordWithDerivings::toJava(JNIEnv* jniEnv, RecordWithDerivings c) ...@@ -18,7 +18,7 @@ jobject NativeRecordWithDerivings::toJava(JNIEnv* jniEnv, RecordWithDerivings c)
RecordWithDerivings NativeRecordWithDerivings::fromJava(JNIEnv* jniEnv, jobject j) { RecordWithDerivings NativeRecordWithDerivings::fromJava(JNIEnv* jniEnv, jobject j) {
assert(j != nullptr); assert(j != nullptr);
const NativeRecordWithDerivings & data = djinni::JniClass<NativeRecordWithDerivings>::get(); const auto & data = djinni::JniClass<::djinni_generated::NativeRecordWithDerivings>::get();
return RecordWithDerivings( return RecordWithDerivings(
::djinni::HI32::Unboxed::fromJava(jniEnv, jniEnv->GetIntField(j, data.field_mKey1)), ::djinni::HI32::Unboxed::fromJava(jniEnv, jniEnv->GetIntField(j, data.field_mKey1)),
::djinni::HString::fromJava(jniEnv, djinni::LocalRef<jstring>(jniEnv, static_cast<jstring>(jniEnv->GetObjectField(j, data.field_mKey2))).get())); ::djinni::HString::fromJava(jniEnv, djinni::LocalRef<jstring>(jniEnv, static_cast<jstring>(jniEnv->GetObjectField(j, data.field_mKey2))).get()));
......
...@@ -23,7 +23,7 @@ public: ...@@ -23,7 +23,7 @@ public:
private: private:
NativeRecordWithDerivings() {} NativeRecordWithDerivings() {}
friend class djinni::JniClass<NativeRecordWithDerivings>; friend class djinni::JniClass<::djinni_generated::NativeRecordWithDerivings>;
}; };
} // namespace djinni_generated } // namespace djinni_generated
...@@ -10,7 +10,7 @@ namespace djinni_generated { ...@@ -10,7 +10,7 @@ namespace djinni_generated {
jobject NativeRecordWithNestedDerivings::toJava(JNIEnv* jniEnv, RecordWithNestedDerivings c) { jobject NativeRecordWithNestedDerivings::toJava(JNIEnv* jniEnv, RecordWithNestedDerivings c) {
jint j_key = ::djinni::HI32::Unboxed::toJava(jniEnv, c.key); jint j_key = ::djinni::HI32::Unboxed::toJava(jniEnv, c.key);
djinni::LocalRef<jobject> j_rec(jniEnv, NativeRecordWithDerivings::toJava(jniEnv, c.rec)); djinni::LocalRef<jobject> j_rec(jniEnv, NativeRecordWithDerivings::toJava(jniEnv, c.rec));
const NativeRecordWithNestedDerivings & data = djinni::JniClass<NativeRecordWithNestedDerivings>::get(); const auto & data = djinni::JniClass<::djinni_generated::NativeRecordWithNestedDerivings>::get();
jobject r = jniEnv->NewObject(data.clazz.get(), data.jconstructor, j_key, j_rec.get()); jobject r = jniEnv->NewObject(data.clazz.get(), data.jconstructor, j_key, j_rec.get());
djinni::jniExceptionCheck(jniEnv); djinni::jniExceptionCheck(jniEnv);
return r; return r;
...@@ -18,7 +18,7 @@ jobject NativeRecordWithNestedDerivings::toJava(JNIEnv* jniEnv, RecordWithNested ...@@ -18,7 +18,7 @@ jobject NativeRecordWithNestedDerivings::toJava(JNIEnv* jniEnv, RecordWithNested
RecordWithNestedDerivings NativeRecordWithNestedDerivings::fromJava(JNIEnv* jniEnv, jobject j) { RecordWithNestedDerivings NativeRecordWithNestedDerivings::fromJava(JNIEnv* jniEnv, jobject j) {
assert(j != nullptr); assert(j != nullptr);
const NativeRecordWithNestedDerivings & data = djinni::JniClass<NativeRecordWithNestedDerivings>::get(); const auto & data = djinni::JniClass<::djinni_generated::NativeRecordWithNestedDerivings>::get();
return RecordWithNestedDerivings( return RecordWithNestedDerivings(
::djinni::HI32::Unboxed::fromJava(jniEnv, jniEnv->GetIntField(j, data.field_mKey)), ::djinni::HI32::Unboxed::fromJava(jniEnv, jniEnv->GetIntField(j, data.field_mKey)),
NativeRecordWithDerivings::fromJava(jniEnv, djinni::LocalRef<jobject>(jniEnv, jniEnv->GetObjectField(j, data.field_mRec)).get())); NativeRecordWithDerivings::fromJava(jniEnv, djinni::LocalRef<jobject>(jniEnv, jniEnv->GetObjectField(j, data.field_mRec)).get()));
......
...@@ -23,7 +23,7 @@ public: ...@@ -23,7 +23,7 @@ public:
private: private:
NativeRecordWithNestedDerivings() {} NativeRecordWithNestedDerivings() {}
friend class djinni::JniClass<NativeRecordWithNestedDerivings>; friend class djinni::JniClass<::djinni_generated::NativeRecordWithNestedDerivings>;
}; };
} // namespace djinni_generated } // namespace djinni_generated
...@@ -9,7 +9,7 @@ namespace djinni_generated { ...@@ -9,7 +9,7 @@ namespace djinni_generated {
jobject NativeSetRecord::toJava(JNIEnv* jniEnv, SetRecord c) { jobject NativeSetRecord::toJava(JNIEnv* jniEnv, SetRecord c) {
djinni::LocalRef<jobject> j_set(jniEnv, ::djinni::HSet<::djinni::HString>::toJava(jniEnv, c.set)); djinni::LocalRef<jobject> j_set(jniEnv, ::djinni::HSet<::djinni::HString>::toJava(jniEnv, c.set));
const NativeSetRecord & data = djinni::JniClass<NativeSetRecord>::get(); const auto & data = djinni::JniClass<::djinni_generated::NativeSetRecord>::get();
jobject r = jniEnv->NewObject(data.clazz.get(), data.jconstructor, j_set.get()); jobject r = jniEnv->NewObject(data.clazz.get(), data.jconstructor, j_set.get());
djinni::jniExceptionCheck(jniEnv); djinni::jniExceptionCheck(jniEnv);
return r; return r;
...@@ -17,7 +17,7 @@ jobject NativeSetRecord::toJava(JNIEnv* jniEnv, SetRecord c) { ...@@ -17,7 +17,7 @@ jobject NativeSetRecord::toJava(JNIEnv* jniEnv, SetRecord c) {
SetRecord NativeSetRecord::fromJava(JNIEnv* jniEnv, jobject j) { SetRecord NativeSetRecord::fromJava(JNIEnv* jniEnv, jobject j) {
assert(j != nullptr); assert(j != nullptr);
const NativeSetRecord & data = djinni::JniClass<NativeSetRecord>::get(); const auto & data = djinni::JniClass<::djinni_generated::NativeSetRecord>::get();
return SetRecord( return SetRecord(
::djinni::HSet<::djinni::HString>::fromJava(jniEnv, djinni::LocalRef<jobject>(jniEnv, jniEnv->GetObjectField(j, data.field_mSet)).get())); ::djinni::HSet<::djinni::HString>::fromJava(jniEnv, djinni::LocalRef<jobject>(jniEnv, jniEnv->GetObjectField(j, data.field_mSet)).get()));
} }
......
...@@ -22,7 +22,7 @@ public: ...@@ -22,7 +22,7 @@ public:
private: private:
NativeSetRecord() {} NativeSetRecord() {}
friend class djinni::JniClass<NativeSetRecord>; friend class djinni::JniClass<::djinni_generated::NativeSetRecord>;
}; };
} // namespace djinni_generated } // namespace djinni_generated
...@@ -13,13 +13,13 @@ public: ...@@ -13,13 +13,13 @@ public:
using CppType = std::shared_ptr<TestHelpers>; using CppType = std::shared_ptr<TestHelpers>;
using JniType = jobject; using JniType = jobject;
static jobject toJava(JNIEnv* jniEnv, std::shared_ptr<TestHelpers> c) { return djinni::JniClass<NativeTestHelpers>::get()._toJava(jniEnv, c); } static jobject toJava(JNIEnv* jniEnv, std::shared_ptr<TestHelpers> c) { return djinni::JniClass<::djinni_generated::NativeTestHelpers>::get()._toJava(jniEnv, c); }
static std::shared_ptr<TestHelpers> fromJava(JNIEnv* jniEnv, jobject j) { return djinni::JniClass<NativeTestHelpers>::get()._fromJava(jniEnv, j); } static std::shared_ptr<TestHelpers> fromJava(JNIEnv* jniEnv, jobject j) { return djinni::JniClass<::djinni_generated::NativeTestHelpers>::get()._fromJava(jniEnv, j); }
private: private:
NativeTestHelpers(); NativeTestHelpers();
friend class djinni::JniClass<NativeTestHelpers>; friend class djinni::JniClass<::djinni_generated::NativeTestHelpers>;
}; };
} // namespace djinni_generated } // namespace djinni_generated
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment