Send topic notification
authorch79.cho <ch79.cho@samsung.com>
Wed, 10 Aug 2016 03:40:23 +0000 (12:40 +0900)
committerMadan Lanka <lanka.madan@samsung.com>
Wed, 10 Aug 2016 12:28:43 +0000 (12:28 +0000)
Change-Id: Iaa85682a09c2b99542191df0df063ac94584e98d
Signed-off-by: ch79.cho <ch79.cho@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/10215
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Madan Lanka <lanka.madan@samsung.com>
service/notification/include/NSCommon.h
service/notification/src/provider/NSProviderNotification.c
service/notification/src/provider/NSProviderTopic.c
service/notification/src/provider/NSProviderTopic.h

index 6603fde..5806e3c 100644 (file)
@@ -178,6 +178,7 @@ typedef struct
     char * contentText;
     char * sourceName;
     NSMediaContents * mediaContents;
+    char * topic;
 
 } NSMessage;
 
index f6f7da9..7d42720 100644 (file)
@@ -108,6 +108,8 @@ NSResult NSSendNotification(NSMessage *msg)
         return NS_ERROR;
     }
 
+    NS_LOG_V(DEBUG, "this is topic message: %s", msg->topic);
+
     NSCacheElement * it = consumerSubList->head;
 
     while (it)
@@ -124,13 +126,30 @@ NSResult NSSendNotification(NSMessage *msg)
         {
             if(subData->messageObId != 0)
             {
-                obArray[obCount++] = subData->messageObId;
+                if(msg->topic)
+                {
+                    if(NSIsTopicSubscribed(subData->id, msg->topic))
+                    {
+                        obArray[obCount++] = subData->messageObId;
+                    }
+                }
+                else
+                {
+                    obArray[obCount++] = subData->messageObId;
+                }
             }
 
 #ifdef WITH_CLOUD
             if(subData->remote_messageObId != 0)
             {
-                obArray[obCount++] = subData->remote_messageObId;
+                if(NSIsTopicSubscribed(subData->id, msg->topic))
+                {
+                    obArray[obCount++] = subData->remote_messageObId;
+                }
+                else
+                {
+                    obArray[obCount++] = subData->remote_messageObId;
+                }
             }
 #endif
 
index 41aebb5..ecd9602 100644 (file)
@@ -39,6 +39,12 @@ NSTopicList * NSGetTopics(char *consumerId)
     return topicList;\r
 }\r
 \r
+bool NSIsTopicSubscribed(char * consumerId, char * topic)\r
+{\r
+    //TODO: implement function\r
+    return true;\r
+}\r
+\r
 void * NSTopicSchedule(void * ptr)\r
 {\r
     if (ptr == NULL)\r
index ef4abe6..e6ddb64 100644 (file)
@@ -28,4 +28,6 @@
 \r
 NSTopicList * NSGetTopics(char *consumerId);\r
 \r
+bool NSIsTopicSubscribed(char *consumerId, char *topic);\r
+\r
 #endif /* _NS_PROVIDER_TOPIC_H_ */\r