Skip to content

tomtzook/jnikit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jnikit

A C++ toolkit for nicer work with JNI.

#include <jnikit.h>

DEFINE_OBJECT_TYPE(MyClass, "fully/qualified/name/MyClass");

jobject create(jnikit::Env& env, jint arg1, jint arg2) {
  auto cls = env.getClass<MyClass>();
  return cls.newInstance<jnikit::types::Int, jnikit::types::Int>(arg1, arg2);
}
#include <jnikit.h>

DEFINE_OBJECT_TYPE(MyClass, "package/MyClass");

extern "C"
JNIEXPORT jobjectArray JNICALL Java_package_MyClass_createArray
        (JNIEnv *env, jclass obj){
    return jnikit::context<jobjectArray>(env, [](jnikit::Env& env)->jobjectArray {
        auto cls = env.getClass<MyClass>();
        auto arr = cls.newArray(3);
        
        arr.setElement(0, cls.newInstance<>());
        
        return arr.array();
    });
}

About

Some helper stuff for JNI

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published