CAResult_t CAIPJniSetContext() { OIC_LOG(DEBUG, IP_MONITOR_TAG, "CAIPJniSetContext"); g_context = (jobject) CANativeJNIGetContext(); if (!g_context) { OIC_LOG(ERROR, IP_MONITOR_TAG, "unable to get application context"); return CA_STATUS_FAILED; } return CA_STATUS_OK; }
CAResult_t CAIPJniInit() { OIC_LOG(DEBUG, TAG, "CAIPJniInit_IN"); JavaVM *jvm = CANativeJNIGetJavaVM(); if (!jvm) { OIC_LOG(ERROR, TAG, "Could not get JavaVM pointer"); return CA_STATUS_FAILED; } jobject context = CANativeJNIGetContext(); if (!context) { OIC_LOG(ERROR, TAG, "unable to get application context"); return CA_STATUS_FAILED; } JNIEnv* env; if ((*jvm)->GetEnv(jvm, (void**) &env, JNI_VERSION_1_6) != JNI_OK) { OIC_LOG(ERROR, TAG, "Could not get JNIEnv pointer"); return CA_STATUS_FAILED; } jmethodID mid_getApplicationContext = CAGetJNIMethodID(env, "android/content/Context", "getApplicationContext", "()Landroid/content/Context;"); if (!mid_getApplicationContext) { OIC_LOG(ERROR, TAG, "Could not get getApplicationContext method"); return CA_STATUS_FAILED; } jobject jApplicationContext = (*env)->CallObjectMethod(env, context, mid_getApplicationContext); if (!jApplicationContext) { OIC_LOG(ERROR, TAG, "Could not get application context"); return CA_STATUS_FAILED; } jclass cls_CaIpInterface = (*env)->FindClass(env, "org/iotivity/ca/CaIpInterface"); if (!cls_CaIpInterface) { OIC_LOG(ERROR, TAG, "Could not get CaIpInterface class"); return CA_STATUS_FAILED; } jmethodID mid_CaIpInterface_ctor = (*env)->GetMethodID(env, cls_CaIpInterface, "<init>", "(Landroid/content/Context;)V"); if (!mid_CaIpInterface_ctor) { OIC_LOG(ERROR, TAG, "Could not get CaIpInterface constructor method"); return CA_STATUS_FAILED; } (*env)->NewObject(env, cls_CaIpInterface, mid_CaIpInterface_ctor, jApplicationContext); OIC_LOG(DEBUG, TAG, "Create CaIpInterface instance, success"); OIC_LOG(DEBUG, TAG, "CAIPJniInit_OUT"); return CA_STATUS_OK; }
void CAEDRJniInitContext() { OIC_LOG(DEBUG, TAG, "CAEDRJniInitContext"); g_context = (jobject) CANativeJNIGetContext(); }
static void CANfcJNISetContext() { OIC_LOG(DEBUG, TAG, "CANfcJNISetContext"); g_context = (jobject) CANativeJNIGetContext(); g_activity = (jobject) CANativeGetActivity(); }