1 #include "jni_object.h"
4 #define LOG_TAG "TM_JObject"
8 JObject::JObject(JNIEnv *env) : m_pEnv( env ),
15 JObject::JObject(JNIEnv *env, jobject obj) : m_pEnv(NULL),
20 if ( NULL == env || NULL == obj)
27 m_pClazz = m_pEnv->GetObjectClass( obj );
30 JObject::JObject(JNIEnv *env, const char *classPath) : m_pEnv(NULL),
35 if ( NULL == env || NULL == classPath)
37 LOGI("JObject Invalid parameters");
42 //m_pClazz = GetJClass( classPath );
46 LOGE( "GetJClass failed [%s]" , classPath);
50 jmethodID mid = env->GetMethodID(m_pClazz, "<init>", "()V");
53 LOGE( "GetMethodID failed [%s]" , classPath);
57 m_pObject = env->NewObject(m_pClazz, mid);
64 if (m_pObject && m_fIsNewObject)
66 m_pEnv->DeleteLocalRef( m_pObject );
69 if (m_pClazz && !m_fIsNewObject)
71 m_pEnv->DeleteLocalRef( m_pClazz );
76 jobject JObject::getObject() const
82 void JObject::detachObject()
86 m_fIsNewObject = false;