LOGE ("Failed to Get ObjectClass for SyncType");\r
return NULL;\r
}\r
- jobject syncType;\r
switch (nsType)\r
{\r
case OIC::Service::NSSyncInfo::NSSyncType::NS_SYNC_UNREAD:\r
{\r
static jfieldID fieldID = env->GetStaticFieldID(cls_SyncType,\r
"UNREAD", "Lorg/iotivity/service/ns/common/SyncInfo$SyncType;");\r
- syncType = env->GetStaticObjectField(cls_SyncType, fieldID);\r
+ return env->GetStaticObjectField(cls_SyncType, fieldID);\r
}\r
case OIC::Service::NSSyncInfo::NSSyncType::NS_SYNC_READ :\r
{\r
static jfieldID fieldID = env->GetStaticFieldID(cls_SyncType,\r
"READ", "Lorg/iotivity/service/ns/common/SyncInfo$SyncType;");\r
- syncType = env->GetStaticObjectField(cls_SyncType, fieldID);\r
+ return env->GetStaticObjectField(cls_SyncType, fieldID);\r
}\r
case OIC::Service::NSSyncInfo::NSSyncType::NS_SYNC_DELETED :\r
{\r
static jfieldID fieldID = env->GetStaticFieldID(cls_SyncType,\r
"DELETED", "Lorg/iotivity/service/ns/common/SyncInfo$SyncType;");\r
- syncType = env->GetStaticObjectField(cls_SyncType, fieldID);\r
+ return env->GetStaticObjectField(cls_SyncType, fieldID);\r
}\r
-\r
- }\r
-\r
- if (syncType == NULL)\r
- {\r
- LOGD("Error: object of field Synctype is null");\r
+ default:\r
+ return NULL;\r
}\r
\r
- env->DeleteLocalRef(cls_SyncType);\r
LOGD ("ConsumerService_getJavaSyncType - OUT");\r
- return syncType;\r
+ return NULL;\r
}\r
\r
jobject getJavaTopicState(JNIEnv *env, OIC::Service::NSTopic::NSTopicState nsState)\r
}\r
env->SetObjectField(obj_message, fid_type, jType);\r
}\r
- \r
+\r
LOGD("Reading OCRepresentation Object from Native");\r
\r
OC::OCRepresentation *ocRepresentation = new OC::OCRepresentation(message->getExtraInfo());\r
}\r
LOGD ("setting extraInfo field");\r
env->SetObjectField(obj_message, fid_extraInfo, jRepresentation);\r
- \r
+\r
env->DeleteLocalRef(cls_message);\r
LOGD ("ConsumerService_getJavaMessage - OUT");\r
return obj_message;\r
jlong jttl = (jlong) env->GetLongField( jMsg, fid_ttl);
uint64_t ttl = jttl;
- LOGD("Message ID: %lld\n", ttl);
+ LOGD("TTL: %d\n", ttl);
// Message Title
jfieldID fid_title = env->GetFieldID( cls, "mTitle", "Ljava/lang/String;");
}
}
OIC::Service::NSMediaContents *media = new OIC::Service::NSMediaContents(std::string(iconImage));
- OIC::Service::NSMessage *nsMsg = OIC::Service::NSProviderService::getInstance()->createMessage();
+ OIC::Service::NSMessage *nsMsg;
+ jfieldID nativeHandle = env->GetFieldID(cls, "mNativeHandle", "J");
+ if (!nativeHandle)
+ {
+ LOGE("Error: fieldID for mNativeHandle is null");
+ return nullptr;
+ }
+ jlong jMessage = env->GetLongField(jMsg, nativeHandle);
+ if (jMessage)
+ {
+ LOGD ("calling sendMessage on mNativeHandle");
+ nsMsg = (OIC::Service::NSMessage *) (jMessage);
+ }
+ else
+ {
+ nsMsg = OIC::Service::NSProviderService::getInstance()->createMessage();
+ }
nsMsg->setType(type);
nsMsg->setTime(std::string(time));
LOGE ("Failed to Get ObjectClass for SyncType");
return NULL;
}
- jobject syncType;
switch (nsType)
{
case OIC::Service::NSSyncInfo::NSSyncType::NS_SYNC_UNREAD:
{
static jfieldID fieldID = env->GetStaticFieldID(cls_SyncType,
"UNREAD", "Lorg/iotivity/service/ns/common/SyncInfo$SyncType;");
- syncType = env->GetStaticObjectField(cls_SyncType, fieldID);
+ return env->GetStaticObjectField(cls_SyncType, fieldID);
}
case OIC::Service::NSSyncInfo::NSSyncType::NS_SYNC_READ :
{
static jfieldID fieldID = env->GetStaticFieldID(cls_SyncType,
"READ", "Lorg/iotivity/service/ns/common/SyncInfo$SyncType;");
- syncType = env->GetStaticObjectField(cls_SyncType, fieldID);
+ return env->GetStaticObjectField(cls_SyncType, fieldID);
}
case OIC::Service::NSSyncInfo::NSSyncType::NS_SYNC_DELETED :
{
static jfieldID fieldID = env->GetStaticFieldID(cls_SyncType,
"DELETED", "Lorg/iotivity/service/ns/common/SyncInfo$SyncType;");
- syncType = env->GetStaticObjectField(cls_SyncType, fieldID);
+ return env->GetStaticObjectField(cls_SyncType, fieldID);
}
-
- }
-
- if (syncType == NULL)
- {
- LOGE("Error: object of field Synctype is null");
+ default:
+ return NULL;
}
- env->DeleteLocalRef(cls_SyncType);
LOGD ("JNIProviderService: getJavaSyncType - OUT");
- return syncType;
+ return NULL;
}