* limitations under the License.
*
******************************************************************/
-#include "SSMCore.h"
#include "SSMInterface/SSMCore_JNI.h"
+
+#include "SSMCore.h"
#include "Common/PlatformLayer.h"
#define JNI_E_INVALIDARG -1001
jclass g_ClassDataReader = NULL;
jclass g_ClassModelData = NULL;
jclass g_ClassQueryEngineEvent = NULL;
-
jclass g_ClassReportReceiver = NULL;
jobject g_objReportReceiver = NULL;
ATTACH_CURRENT_THREAD(g_JVM, env);
jmethodID midReportReceiver =
- env->GetMethodID(g_ClassReportReceiver, "OnMessageReceived",
+ env->GetMethodID(g_ClassReportReceiver, "onMessageReceived",
"(Ljava/lang/String;Ljava/lang/String;)V");
- jclass nonVIrtualObject = env->GetObjectClass(g_objReportReceiver);
-
- env->CallNonvirtualVoidMethod(g_objReportReceiver, nonVIrtualObject, midReportReceiver,
- env->NewStringUTF(tag), env->NewStringUTF(msg));
+ env->CallVoidMethod(g_objReportReceiver, midReportReceiver,
+ env->NewStringUTF(tag), env->NewStringUTF(msg));
DETACH_CURRENT_THREAD(g_JVM);
}
}
- void SetQueryEngineEventObj(jobject objQueryEngineEvent)
+ void setQueryEngineEventObj(jobject objQueryEngineEvent)
{
if (m_objQueryEngineEvent != NULL)
{
m_objQueryEngineEvent = objQueryEngineEvent;
}
- SSMRESULT onQueryEngineEvent(IN int cqid, IN IDataReader *pResult)
+ SSMRESULT onQueryEngineEvent(int cqid, IDataReader *pResult)
{
JNIEnv *env;
g_JVM->GetEnv((void **) &env, JNI_VERSION_1_6);
ATTACH_CURRENT_THREAD(g_JVM, env);
jmethodID midQueryEngineEvent =
- env->GetMethodID(g_ClassQueryEngineEvent, "OnQueryEngineEvent",
- "(ILcom/sec/android/ssmcore/DataReader;)V");
-
- jclass nonVIrtualObject = env->GetObjectClass(m_objQueryEngineEvent);
+ env->GetMethodID(g_ClassQueryEngineEvent, "onQueryEngineEvent",
+ "(ILorg/iotivity/service/ssm/DataReader;)V");
jmethodID cid_DataReader = env->GetMethodID(g_ClassDataReader, "<init>", "(I)V");
if (cid_DataReader == NULL)
return SSM_E_FAIL;
- env->CallNonvirtualVoidMethod(m_objQueryEngineEvent, nonVIrtualObject, midQueryEngineEvent,
- (jint)cqid,
- env->NewObject(g_ClassDataReader, cid_DataReader, (jint)pResult));
+ env->CallVoidMethod(m_objQueryEngineEvent, midQueryEngineEvent,
+ (jint)cqid,
+ env->NewObject(g_ClassDataReader, cid_DataReader, (jint)pResult));
DETACH_CURRENT_THREAD(g_JVM);
return JNI_ERR;
g_ClassQueryEngine = (jclass) env->NewGlobalRef(
- env->FindClass("com/sec/android/ssmcore/QueryEngine"));
+ env->FindClass("org/iotivity/service/ssm/QueryEngine"));
g_ClassDataReader = (jclass) env->NewGlobalRef(
- env->FindClass("com/sec/android/ssmcore/DataReader"));
+ env->FindClass("org/iotivity/service/ssm/DataReader"));
- g_ClassModelData = (jclass) env->NewGlobalRef(env->FindClass("com/sec/android/ssmcore/ModelData"));
+ g_ClassModelData = (jclass) env->NewGlobalRef(env->FindClass("org/iotivity/service/ssm/ModelData"));
g_ClassQueryEngineEvent = (jclass) env->NewGlobalRef(
- env->FindClass("com/sec/android/ssmcore/IQueryEngineEvent"));
+ env->FindClass("org/iotivity/service/ssm/IQueryEngineEvent"));
g_ClassReportReceiver = (jclass) env->NewGlobalRef(
- env->FindClass("com/sec/android/ssmcore/IReportReceiver"));
+ env->FindClass("org/iotivity/service/ssm/IReportReceiver"));
g_JVM = jvm;
delete g_QueryEngineEventReceiver;
}
-JNIEXPORT void JNICALL Java_com_sec_android_ssmcore_CoreController_InitializeSSMCore
+JNIEXPORT void JNICALL Java_org_iotivity_service_ssm_CoreController_initializeSSMCore
(JNIEnv *env, jclass clz, jstring jstrXmlDescription)
{
+ if (jstrXmlDescription == NULL)
+ {
+ env->ThrowNew(env->FindClass("java/lang/IllegalArgumentException"),
+ "InitializeSSMCore failed with Invalid parameter");
+ return;
+ }
+
SSMRESULT res = SSM_E_FAIL;
const char *xmlDescription = env->GetStringUTFChars(jstrXmlDescription, NULL);
env->ThrowNew(env->FindClass("java/lang/IllegalArgumentException"), "InitializeSSMCore failed");
}
-JNIEXPORT void JNICALL Java_com_sec_android_ssmcore_CoreController_StartSSMCore
+JNIEXPORT void JNICALL Java_org_iotivity_service_ssm_CoreController_startSSMCore
(JNIEnv *env, jclass clz)
{
if (StartSSMCore() != SSM_S_OK)
env->ThrowNew(env->FindClass("java/lang/IllegalArgumentException"), "StartSSMCore failed");
}
-JNIEXPORT void JNICALL Java_com_sec_android_ssmcore_CoreController_StopSSMCore
+JNIEXPORT void JNICALL Java_org_iotivity_service_ssm_CoreController_stopSSMCore
(JNIEnv *env, jclass clz)
{
if (StopSSMCore() != SSM_S_OK)
env->ThrowNew(env->FindClass("java/lang/IllegalArgumentException"), "StopSSMCore failed");
}
-JNIEXPORT void JNICALL Java_com_sec_android_ssmcore_CoreController_TerminateSSMCore
+JNIEXPORT void JNICALL Java_org_iotivity_service_ssm_CoreController_terminateSSMCore
(JNIEnv *env, jclass clz)
{
if (TerminateSSMCore() != SSM_S_OK)
env->ThrowNew(env->FindClass("java/lang/IllegalArgumentException"), "TerminateSSMCore failed");
}
-JNIEXPORT jobject JNICALL Java_com_sec_android_ssmcore_CoreController_CreateQueryEngine
+JNIEXPORT jobject JNICALL Java_org_iotivity_service_ssm_CoreController_createQueryEngine
(JNIEnv *env, jclass clz)
{
IQueryEngine *pQueryEngine = NULL;
return env->NewObject(g_ClassQueryEngine, cid_QueryEngine, (jint)pQueryEngine);
}
-JNIEXPORT jint JNICALL Java_com_sec_android_ssmcore_CoreController_ReleaseQueryEngine
+JNIEXPORT jint JNICALL Java_org_iotivity_service_ssm_CoreController_releaseQueryEngine
(JNIEnv *env, jclass clz, jobject queryEngine)
{
IQueryEngine *pQueryEngine = NULL;
jmethodID mid_GetQueryEngineInstance = env->GetMethodID(g_ClassQueryEngine,
- "GetQueryEngineInstance", "()I");
+ "getQueryEngineInstance", "()I");
if (mid_GetQueryEngineInstance == NULL)
return JNI_E_METHODID;
return ReleaseQueryEngine(pQueryEngine);
}
-JNIEXPORT jint JNICALL Java_com_sec_android_ssmcore_CoreController_ExecuteContextQuery
+JNIEXPORT jint JNICALL Java_org_iotivity_service_ssm_CoreController_executeContextQuery
(JNIEnv *env, jclass clz, jint pQueryEngineInstance, jstring jstrContextQuery)
{
- int cqid = 0;
+ int cqid = -1;
+ if (jstrContextQuery == NULL)
+ {
+ env->ThrowNew(env->FindClass("java/lang/IllegalArgumentException"),
+ "ExecuteContextQuery with Invalid context query");
+ return cqid;
+ }
+
IQueryEngine *pQueryEngine = (IQueryEngine *)pQueryEngineInstance;
const char *contextQuery = env->GetStringUTFChars(jstrContextQuery, NULL);
return cqid;
}
-JNIEXPORT void JNICALL Java_com_sec_android_ssmcore_CoreController_RegisterQueryEvent
+JNIEXPORT void JNICALL Java_org_iotivity_service_ssm_CoreController_registerQueryEvent
(JNIEnv *env, jclass clz, jint pQueryEngineInstance, jobject queryEngineEvent)
{
IQueryEngine *pQueryEngine = (IQueryEngine *)pQueryEngineInstance;
return;
}
- g_QueryEngineEventReceiver->SetQueryEngineEventObj(env->NewGlobalRef(queryEngineEvent));
+ g_QueryEngineEventReceiver->setQueryEngineEventObj(env->NewGlobalRef(queryEngineEvent));
pQueryEngine->registerQueryEvent(g_QueryEngineEventReceiver);
}
-JNIEXPORT void JNICALL Java_com_sec_android_ssmcore_CoreController_KillContextQuery
+JNIEXPORT void JNICALL Java_org_iotivity_service_ssm_CoreController_killContextQuery
(JNIEnv *env, jclass clz, jint pQueryEngineInstance, jint cqid)
{
IQueryEngine *pQueryEngine = (IQueryEngine *)pQueryEngineInstance;
}
}
-JNIEXPORT jint JNICALL Java_com_sec_android_ssmcore_CoreController_GetDataId
+JNIEXPORT jint JNICALL Java_org_iotivity_service_ssm_CoreController_getDataId
(JNIEnv *env, jclass clz, jint pDataReaderInstance)
{
IModelData *pDataReader = (IModelData *)pDataReaderInstance;
return pDataReader->getDataId();
}
-JNIEXPORT jint JNICALL Java_com_sec_android_ssmcore_CoreController_GetPropertyCount
+JNIEXPORT jint JNICALL Java_org_iotivity_service_ssm_CoreController_getPropertyCount
(JNIEnv *env, jclass clz, jint pIModelDataInstance )
{
IModelData *pModelData = (IModelData *)pIModelDataInstance;
return pModelData->getPropertyCount();
}
-JNIEXPORT jstring JNICALL Java_com_sec_android_ssmcore_CoreController_GetPropertyName
+JNIEXPORT jstring JNICALL Java_org_iotivity_service_ssm_CoreController_getPropertyName
(JNIEnv *env, jclass clz, jint pIModelDataInstance, jint propertyIndex )
{
IModelData *pModelData = (IModelData *)pIModelDataInstance;
return env->NewStringUTF(pModelData->getPropertyName(propertyIndex).c_str());
}
-JNIEXPORT jstring JNICALL Java_com_sec_android_ssmcore_CoreController_GetPropertyValue
+JNIEXPORT jstring JNICALL Java_org_iotivity_service_ssm_CoreController_getPropertyValue
(JNIEnv *env, jclass clz, jint pIModelDataInstance, jint propertyIndex )
{
IModelData *pModelData = (IModelData *)pIModelDataInstance;
return env->NewStringUTF(pModelData->getPropertyValue(propertyIndex).c_str());
}
-JNIEXPORT jobject JNICALL Java_com_sec_android_ssmcore_CoreController_GetAffectedModels
+JNIEXPORT jobject JNICALL Java_org_iotivity_service_ssm_CoreController_getAffectedModels
(JNIEnv *env, jclass clz, jint pDataReaderInstance)
{
IDataReader *pDataReader = (IDataReader *)pDataReaderInstance;
return objAffectedModels;
}
-JNIEXPORT jint JNICALL Java_com_sec_android_ssmcore_CoreController_GetModelDataCount
+JNIEXPORT jint JNICALL Java_org_iotivity_service_ssm_CoreController_getModelDataCount
(JNIEnv *env, jclass clz, jint pDataReaderInstance, jstring jstrModelName)
{
IDataReader *pDataReader = (IDataReader *)pDataReaderInstance;
return modelCount;
}
//return IModelData
-JNIEXPORT jobject JNICALL Java_com_sec_android_ssmcore_CoreController_GetModelData
+JNIEXPORT jobject JNICALL Java_org_iotivity_service_ssm_CoreController_getModelData
(JNIEnv *env, jclass clz, jint pDataReaderInstance, jstring jstrModelName, jint jintDataIndex )
{
IDataReader *pDataReader = (IDataReader *)pDataReaderInstance;
return env->NewObject(g_ClassModelData, cid_ModelData, (jint)pModelData);
}
-JNIEXPORT void JNICALL Java_com_sec_android_ssmcore_CoreController_RegisterReportReceiver
+JNIEXPORT void JNICALL Java_org_iotivity_service_ssm_CoreController_registerReportReceiver
(JNIEnv *env, jclass clz, jobject reportReceiver)
{
if (g_objReportReceiver != NULL)