jlong Java_org_dvb_dsmcc_DSMCCObject_createListener(JNIEnv* env, jobject obj, jlong nativeApp, jbyteArray pathAr) {
jlong Java_org_dvb_dsmcc_DSMCCObject_createListener(JNIEnv* env, jobject obj, jobject nativeApp, jstring java_path) {
jlong Java_org_dvb_dsmcc_DSMCCObject_createListener(JNIEnv* env, jobject obj, jlong nativeApp, jbyteArray pathAr) {   JNI::JNIEnvProvider::SetJavaEnv(env);   const char *path=(const char *)env->GetByteArrayElements(pathAr, 0);      DSMCCObjectListener *l=new DSMCCObjectListener();   l->dsmccObject.SetObject(obj);   l->cache=Mhp::LoadingManager::getManager()->getCache(*(ApplicationInfo::cApplication::Ptr *)nativeApp);      if (l->cache)      l->cache->addListener(path, l);   else      printf("Java_org_dvb_dsmcc_DSMCCObject_createListener: Cache is null!\n");         env->ReleaseByteArrayElements(pathAr, (jbyte *)path, JNI_ABORT);      return (jlong)l;}