Added API about create message and memory allocate, deallocate
[platform/upstream/iotivity.git] / service / notification / src / provider / NSProviderInterface.c
index 4b3deda..272cbed 100644 (file)
@@ -105,7 +105,6 @@ NSResult NSStartProvider(NSAccessPolicy policy, NSSubscribeRequestCallback subsc
     pthread_mutex_unlock(&nsInitMutex);\r
 \r
     NS_LOG(DEBUG, "NSStartProvider - OUT");\r
-\r
     return NS_OK;\r
 }\r
 \r
@@ -121,7 +120,6 @@ void NSSetList()
 NSResult NSStopProvider()\r
 {\r
     NS_LOG(DEBUG, "NSStopProvider - IN");\r
-\r
     pthread_mutex_lock(&nsInitMutex);\r
 \r
     if(initProvider)\r
@@ -156,9 +154,6 @@ NSResult NSSendMessage(NSMessage *msg)
     }\r
 \r
     NSMessage * newMsg = NSDuplicateMessage(msg);\r
-\r
-    OICStrcpy(newMsg->providerId, UUID_STRING_SIZE, NSGetProviderInfo()->providerId);\r
-\r
     NSPushQueue(NOTIFICATION_SCHEDULER, TASK_SEND_NOTIFICATION, newMsg);\r
 \r
     pthread_mutex_unlock(&nsInitMutex);\r
@@ -170,16 +165,15 @@ NSResult NSSendMessage(NSMessage *msg)
 NSResult NSProviderSendSyncInfo(uint64_t messageId, NSSyncType type)\r
 {\r
     NS_LOG(DEBUG, "NSProviderReadCheck - IN");\r
-\r
     pthread_mutex_lock(&nsInitMutex);\r
+\r
     NSSyncInfo * syncInfo = (NSSyncInfo *)OICMalloc(sizeof(NSSyncInfo));\r
     OICStrcpy(syncInfo->providerId, UUID_STRING_SIZE, NSGetProviderInfo()->providerId);\r
     syncInfo->messageId = messageId;\r
     syncInfo->state = type;\r
-\r
     NSPushQueue(NOTIFICATION_SCHEDULER, TASK_SEND_READ, syncInfo);\r
-    pthread_mutex_unlock(&nsInitMutex);\r
 \r
+    pthread_mutex_unlock(&nsInitMutex);\r
     NS_LOG(DEBUG, "NSProviderReadCheck - OUT");\r
     return NS_OK;\r
 }\r
@@ -208,6 +202,20 @@ NSResult NSAccept(NSConsumer *consumer, bool accepted)
     return NS_OK;\r
 }\r
 \r
+NSMessage * NSCreateMessage()\r
+{\r
+    NS_LOG(DEBUG, "NSCreateMessage - IN");\r
+\r
+    pthread_mutex_lock(&nsInitMutex);\r
+    NSMessage * msg = NSInitializeMessage();\r
+    msg->messageId = OICGetCurrentTime(TIME_IN_MS);\r
+    OICStrcpy(msg->providerId, UUID_STRING_SIZE, NSGetProviderInfo()->providerId);\r
+    pthread_mutex_unlock(&nsInitMutex);\r
+\r
+    NS_LOG(DEBUG, "NSCreateMessage - OUT");\r
+    return msg;\r
+}\r
+\r
 void * NSInterfaceSchedule(void * ptr)\r
 {\r
     if (ptr == NULL)\r
@@ -267,7 +275,6 @@ void * NSInterfaceSchedule(void * ptr)
         }\r
 \r
         pthread_mutex_unlock(&NSMutex[INTERFACE_SCHEDULER]);\r
-\r
     }\r
 \r
     NS_LOG(DEBUG, "Destroy NSResponseSchedule");\r