JNIEXPORT jlong JNICALL Java_com__getComponent(JNIEnv* env, jclass, jstring name) { std::shared_ptr component = sm->getComponent(JString{name, env}); if (!component) return 0; return (jlong)(new std::shared_ptr(component)); } JNIEXPORT void JNICALL Java_com_releaseComponent(JNIEnv*, jclass, jlong component) { if(component != 0) { std::shared_ptr* cr = (std::shared_ptr*)component; delete cr; } }