Modified Android to resolve
[platform/upstream/iotivity.git] / android / android_api / base / jni / JniOcStack.cpp
index 61086b5..c5c3d7d 100644 (file)
@@ -59,6 +59,9 @@ jclass g_cls_OcPresenceStatus = nullptr;
 jclass g_cls_OcHeaderOption = nullptr;
 jclass g_cls_ObservationInfo = nullptr;
 jclass g_cls_OcResourceIdentifier = nullptr;
+jclass g_cls_OcProvisionResult = nullptr;
+jclass g_cls_OcSecureResource = nullptr;
+jclass g_cls_OcOicSecAcl = nullptr;
 
 jmethodID g_mid_Integer_ctor = nullptr;
 jmethodID g_mid_Double_ctor = nullptr;
@@ -89,6 +92,17 @@ jmethodID g_mid_OcHeaderOption_get_data = nullptr;
 jmethodID g_mid_ObservationInfo_N_ctor = nullptr;
 jmethodID g_mid_OcPresenceStatus_get = nullptr;
 jmethodID g_mid_OcResourceIdentifier_N_ctor = nullptr;
+jmethodID g_mid_OcProvisionResult_ctor = nullptr;
+jmethodID g_mid_OcSecureResource_ctor = nullptr;
+
+jmethodID g_mid_OcOicSecAcl_get_subject = nullptr;
+jmethodID g_mid_OcOicSecAcl_get_resources_cnt = nullptr;
+jmethodID g_mid_OcOicSecAcl_get_resources = nullptr;
+jmethodID g_mid_OcOicSecAcl_get_permission = nullptr;
+jmethodID g_mid_OcOicSecAcl_get_periods_cnt = nullptr;
+jmethodID g_mid_OcOicSecAcl_get_periods = nullptr;
+jmethodID g_mid_OcOicSecAcl_get_recurrences = nullptr;
+jmethodID g_mid_OcOicSecAcl_get_rownerID = nullptr;
 
 jobject getOcException(JNIEnv* env, const char* file, const char* functionName,
     const int line, const int code, const char* message)
@@ -400,6 +414,52 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void* reserved)
     g_mid_OcResourceIdentifier_N_ctor = env->GetMethodID(g_cls_OcResourceIdentifier, "<init>", "(J)V");
     if (!g_mid_OcResourceIdentifier_N_ctor) return JNI_ERR;
 
+    //OcSecureResource
+    clazz = env->FindClass("org/iotivity/base/OcSecureResource");
+    if (!clazz) return JNI_ERR;
+    g_cls_OcSecureResource =  (jclass)env->NewGlobalRef(clazz);
+    env->DeleteLocalRef(clazz);
+    g_mid_OcSecureResource_ctor = env->GetMethodID(g_cls_OcSecureResource, "<init>", "(J)V");
+    if (!g_mid_OcSecureResource_ctor) return JNI_ERR;
+
+    //ProvisionResult
+    clazz = env->FindClass("org/iotivity/base/ProvisionResult");
+    if (!clazz) return JNI_ERR;
+    g_cls_OcProvisionResult =  (jclass)env->NewGlobalRef(clazz);
+    env->DeleteLocalRef(clazz);
+    g_mid_OcProvisionResult_ctor = env->GetMethodID(g_cls_OcProvisionResult, "<init>", "(Ljava/lang/String;I)V");
+    if (!g_mid_OcProvisionResult_ctor) return JNI_ERR;
+
+    //OicSecAcl
+    clazz = env->FindClass("org/iotivity/base/OicSecAcl");
+    if (!clazz) return JNI_ERR;
+    g_cls_OcOicSecAcl =  (jclass)env->NewGlobalRef(clazz);
+    env->DeleteLocalRef(clazz);
+
+    g_mid_OcOicSecAcl_get_subject = env->GetMethodID(g_cls_OcOicSecAcl, "getSubject", "()Ljava/lang/String;");
+    if (!g_mid_OcOicSecAcl_get_subject) return JNI_ERR;
+
+    g_mid_OcOicSecAcl_get_resources_cnt = env->GetMethodID(g_cls_OcOicSecAcl, "getResourcesCount", "()I");
+    if (!g_mid_OcOicSecAcl_get_resources_cnt) return JNI_ERR;
+
+    g_mid_OcOicSecAcl_get_resources = env->GetMethodID(g_cls_OcOicSecAcl, "getResources", "(I)Ljava/lang/String;");
+    if (!g_mid_OcOicSecAcl_get_resources) return JNI_ERR;
+
+    g_mid_OcOicSecAcl_get_permission = env->GetMethodID(g_cls_OcOicSecAcl, "getPermission", "()I");
+    if (!g_mid_OcOicSecAcl_get_permission) return JNI_ERR;
+
+    g_mid_OcOicSecAcl_get_periods_cnt = env->GetMethodID(g_cls_OcOicSecAcl, "getPeriodsCount", "()I");
+    if (!g_mid_OcOicSecAcl_get_periods_cnt) return JNI_ERR;
+
+    g_mid_OcOicSecAcl_get_periods = env->GetMethodID(g_cls_OcOicSecAcl, "getPeriods", "(I)Ljava/lang/String;");
+    if (!g_mid_OcOicSecAcl_get_periods) return JNI_ERR;
+
+    g_mid_OcOicSecAcl_get_recurrences = env->GetMethodID(g_cls_OcOicSecAcl, "getRecurrences", "(I)Ljava/lang/String;");
+    if (!g_mid_OcOicSecAcl_get_recurrences) return JNI_ERR;
+
+    g_mid_OcOicSecAcl_get_rownerID = env->GetMethodID(g_cls_OcOicSecAcl, "getRownerID", "()Ljava/lang/String;");
+    if (!g_mid_OcOicSecAcl_get_rownerID) return JNI_ERR;
+
     return JNI_CURRENT_VERSION;
 }
 
@@ -446,4 +506,7 @@ JNIEXPORT void JNICALL JNI_OnUnload(JavaVM *vm, void *reserved)
     env->DeleteGlobalRef(g_cls_OcHeaderOption);
     env->DeleteGlobalRef(g_cls_ObservationInfo);
     env->DeleteGlobalRef(g_cls_OcResourceIdentifier);
+    env->DeleteGlobalRef(g_cls_OcSecureResource);
+    env->DeleteGlobalRef(g_cls_OcProvisionResult);
+    env->DeleteGlobalRef(g_cls_OcOicSecAcl);
 }
\ No newline at end of file