bug fixes logic for subscription cache update.
authorjaesick.shin <jaesick.shin@samsung.com>
Mon, 22 Aug 2016 07:15:55 +0000 (16:15 +0900)
committerUze Choi <uzchoi@samsung.com>
Tue, 23 Aug 2016 11:16:24 +0000 (11:16 +0000)
If consumer have controlled access
then provider always allowed for subscription.
Added call function of subscription updateState.

second patch included,
remove not required code.
change NSSendSubscriptionResponse to NSSendConsumerSubResponse.

Change-Id: Ia39766e814130bd492193e5c3a57436493b9e409
Signed-off-by: jaesick.shin <jaesick.shin@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/10719
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Chihyun Cho <ch79.cho@samsung.com>
Reviewed-by: Uze Choi <uzchoi@samsung.com>
service/notification/src/provider/NSProviderSubscription.c
service/notification/src/provider/NSProviderSubscription.h

index db2b8a0..29f2223 100644 (file)
@@ -173,7 +173,7 @@ void NSHandleSubscription(OCEntityHandlerRequest *entityHandlerRequest, NSResour
         else if (currPolicy == NS_POLICY_CONSUMER)\r
         {\r
             NS_LOG(DEBUG, "NSGetSubscriptionAccepter == NS_ACCEPTER_CONSUMER");\r
-            NSSendSubscriptionResponse(entityHandlerRequest, true);\r
+            NSSendConsumerSubResponse(entityHandlerRequest);\r
         }\r
     }\r
     else if (resourceType == NS_RESOURCE_SYNC)\r
@@ -291,7 +291,7 @@ NSResult NSSendResponse(const char * id, bool accepted)
     return NS_OK;\r
 }\r
 \r
-NSResult NSSendSubscriptionResponse(OCEntityHandlerRequest *entityHandlerRequest, bool accepted)\r
+NSResult NSSendConsumerSubResponse(OCEntityHandlerRequest * entityHandlerRequest)\r
 {\r
     NS_LOG(DEBUG, "NSSendSubscriptionResponse - IN");\r
 \r
@@ -310,33 +310,9 @@ NSResult NSSendSubscriptionResponse(OCEntityHandlerRequest *entityHandlerRequest
         return NS_ERROR;\r
     }\r
 \r
-    if (accepted)\r
-    {\r
-        NS_LOG(DEBUG, "accepted is true");\r
-        NSCacheElement * element = (NSCacheElement *) OICMalloc(sizeof(NSCacheElement));\r
-        NSCacheSubData * subData = (NSCacheSubData *) OICMalloc(sizeof(NSCacheSubData));\r
-\r
-        OICStrcpy(subData->id, UUID_STRING_SIZE, id);\r
-\r
-        subData->isWhite = true;\r
-        subData->remote_messageObId = 0;\r
-        subData->remote_syncObId = 0;\r
-        subData->syncObId = 0;\r
-        subData->messageObId = entityHandlerRequest->obsInfo.obsId;\r
-\r
-        element->data = (void*) subData;\r
-        element->next = NULL;\r
-\r
-        if (NSStorageWrite(consumerSubList, element) != NS_OK)\r
-        {\r
-            NS_LOG(ERROR, "fail to write consumer white list");\r
-        }\r
-    }\r
-\r
-    NSSendResponse(id, accepted);\r
-\r
+    NSCacheUpdateSubScriptionState(consumerSubList, id, true);\r
+    NSSendResponse(id, true);\r
     NSFreeOCEntityHandlerRequest(entityHandlerRequest);\r
-\r
     NS_LOG(DEBUG, "NSSendSubscriptionResponse - OUT");\r
     return NS_OK;\r
 }\r
index a8f2139..9813250 100644 (file)
@@ -42,7 +42,7 @@ NSResult NSSendAccessPolicyResponse(OCEntityHandlerRequest *entityHandlerRequest
 void NSHandleSubscription(OCEntityHandlerRequest *entityHandlerRequest, NSResourceType resourceType);\r
 void NSHandleUnsubscription(OCEntityHandlerRequest *entityHandlerRequest);\r
 void NSAskAcceptanceToUser(OCEntityHandlerRequest *entityHandlerRequest);\r
-NSResult NSSendSubscriptionResponse(OCEntityHandlerRequest *entityHandlerRequest, bool accepted);\r
+NSResult NSSendConsumerSubResponse(OCEntityHandlerRequest *entityHandlerRequest);\r
 NSResult NSSendResponse(const char * id, bool accepted);\r
 \r
 #endif /* _NS_PROVIDER_SUBSCRIPTION_H_ */\r