SVACE fixes for C++ wrapper for Notification Service.
authorabitha.s <abitha.s@samsung.com>
Thu, 11 Aug 2016 13:35:29 +0000 (19:05 +0530)
committerMadan Lanka <lanka.madan@samsung.com>
Fri, 12 Aug 2016 05:08:12 +0000 (05:08 +0000)
Change-Id: I54d9508e5d79cb2579057d1346d1fd0b8be2c24a
Signed-off-by: abitha.s <abitha.s@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/10287
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Madan Lanka <lanka.madan@samsung.com>
service/notification/cpp-wrapper/common/NSMessage.cpp
service/notification/cpp-wrapper/common/NSMessage.h
service/notification/cpp-wrapper/common/NSSyncInfo.cpp
service/notification/cpp-wrapper/common/NSSyncInfo.h
service/notification/cpp-wrapper/common/NSUtils.h
service/notification/cpp-wrapper/consumer/src/NSConsumerService.cpp
service/notification/cpp-wrapper/consumer/src/NSProvider.cpp
service/notification/cpp-wrapper/provider/src/NSConsumer.cpp
service/notification/cpp-wrapper/provider/src/NSProviderService.cpp

index 0cf3e54..68f9e76 100755 (executable)
@@ -20,6 +20,7 @@
 \r
 #include "NSMessage.h"\r
 #include "string.h"\r
+#include "NSUtils.h"\r
 #include <cstdint>\r
 \r
 namespace OIC\r
@@ -28,12 +29,15 @@ namespace OIC
     {\r
         NSMessage::NSMessage(::NSMessage *msg)\r
         {\r
+            m_messageId = 0;\r
+            m_type = NSMessage::NSMessageType::NS_MESSAGE_ALERT;\r
+            m_ttl = 0;\r
+            m_mediaContents = new NSMediaContents();\r
+            \r
             if (msg != nullptr)\r
             {\r
                 m_messageId = msg->messageId;\r
-\r
-                if ((msg->providerId != nullptr) && strlen(msg->providerId))\r
-                    m_providerId.assign(msg->providerId, strlen(msg->providerId));\r
+                m_providerId.assign(msg->providerId, NS_UTILS_UUID_STRING_SIZE);\r
 \r
                 m_type = (NSMessageType)msg->type;\r
 \r
@@ -51,7 +55,6 @@ namespace OIC
                 if ((msg->sourceName != nullptr) && strlen(msg->sourceName))\r
                     m_sourceName.assign(msg->sourceName, strlen(msg->sourceName));\r
 \r
-                m_mediaContents = new NSMediaContents();\r
                 if (msg->mediaContents != nullptr)\r
                     if ((msg->mediaContents->iconImage != nullptr) && strlen(msg->mediaContents->iconImage))\r
                         m_mediaContents->setIconImage(msg->mediaContents->iconImage);\r
@@ -59,6 +62,12 @@ namespace OIC
             }\r
         }\r
 \r
+        NSMessage::~NSMessage()\r
+        {\r
+            if(m_mediaContents != nullptr)\r
+                delete m_mediaContents;\r
+        }\r
+\r
         uint64_t NSMessage::getMessageId() const\r
         {\r
             return m_messageId;\r
index 3f3d09c..2e55e1c 100755 (executable)
@@ -53,7 +53,8 @@ namespace OIC
                 /**\r
                         * Constructor of NSMessage.\r
                         */\r
-                NSMessage(): m_mediaContents(new NSMediaContents) { }\r
+                NSMessage(): m_messageId(0), m_type(NSMessageType::NS_MESSAGE_ALERT), m_ttl(0),\r
+                                            m_mediaContents(new NSMediaContents) { }\r
 \r
                 /**\r
                         * Constructor of NSMessage.\r
@@ -65,7 +66,7 @@ namespace OIC
                 /**\r
                         * Destructor of NSMessage.\r
                         */\r
-                ~NSMessage() = default;\r
+                ~NSMessage();\r
 \r
                 /**\r
                      * This method is for getting Message Id from the Notification service Message.\r
index 0962c11..c5f173c 100755 (executable)
@@ -20,6 +20,7 @@
 \r
 #include "NSSyncInfo.h"\r
 #include "string.h"\r
+#include "NSUtils.h"\r
 \r
 namespace OIC\r
 {\r
@@ -27,13 +28,12 @@ namespace OIC
     {\r
         NSSyncInfo::NSSyncInfo(::NSSyncInfo *syncInfo)\r
         {\r
+            m_messageId = 0;\r
+            m_state = NSSyncInfo::NSSyncType::NS_SYNC_UNREAD;\r
             if (syncInfo != nullptr)\r
             {\r
                 m_messageId = syncInfo->messageId;\r
-\r
-                if ((syncInfo->providerId != nullptr) && strlen(syncInfo->providerId))\r
-                    m_providerId.assign(syncInfo->providerId, strlen(syncInfo->providerId));\r
-\r
+                m_providerId.assign(syncInfo->providerId, NS_UTILS_UUID_STRING_SIZE);\r
                 m_state = (NSSyncType) syncInfo->state;\r
             }\r
         }\r
index e3e5b65..dfcbf20 100755 (executable)
@@ -52,7 +52,7 @@ namespace OIC
                 /**\r
                         * Constructor of NSSyncInfo.\r
                         */\r
-                NSSyncInfo() = default;\r
+                NSSyncInfo(): m_messageId(0), m_state(NSSyncType::NS_SYNC_UNREAD) { };\r
 \r
                 /**\r
                         * Constructor of NSSyncInfo.\r
index dce760f..00c00a5 100755 (executable)
@@ -27,6 +27,7 @@
 #ifndef _NS_UTILS_H_
 #define _NS_UTILS_H_
 
+#define NS_UTILS_UUID_STRING_SIZE 37
 
 namespace OIC
 {
index 5be4b61..d4eb618 100755 (executable)
@@ -47,17 +47,20 @@ namespace OIC
             NS_LOG_V(DEBUG, "response : %d",(int)response);\r
             \r
             NSProvider *nsProvider = new NSProvider(provider);\r
+            auto changeCallback = NSConsumerService::getInstance()->getConsumerConfig().m_changedCb;\r
             if(response == NS_ALLOW)\r
             {\r
                 NSConsumerService::getInstance()->getAcceptedProviders().push_back(nsProvider);\r
+                if (changeCallback != NULL)\r
+                    changeCallback(nsProvider, (NSResponse) response);\r
             }\r
             else if(response == NS_DENY)\r
             {\r
                 NSConsumerService::getInstance()->getAcceptedProviders().remove(nsProvider);\r
+                if (changeCallback != NULL)\r
+                    changeCallback(nsProvider, (NSResponse) response);\r
+                delete nsProvider;\r
             }\r
-            if (NSConsumerService::getInstance()->getConsumerConfig().m_changedCb != NULL)\r
-                NSConsumerService::getInstance()->getConsumerConfig().m_changedCb(\r
-                                                            nsProvider, (NSResponse) response);\r
             NS_LOG(DEBUG, "onNSProviderChanged - OUT");\r
         }\r
 \r
index fe4c228..7aa94be 100755 (executable)
@@ -23,6 +23,7 @@
 #include "NSConsumerInterface.h"\r
 #include "NSConstants.h"\r
 #include "NSCommon.h"\r
+#include "NSUtils.h"\r
 #include "oic_string.h"\r
 \r
 namespace OIC\r
@@ -32,7 +33,7 @@ namespace OIC
         ::NSProvider *NSProvider::getNSProvider()\r
         {\r
             ::NSProvider *provider = new ::NSProvider;\r
-            OICStrcpy(provider->providerId, m_providerId.length(), m_providerId.c_str());\r
+            OICStrcpy(provider->providerId, NS_UTILS_UUID_STRING_SIZE, m_providerId.c_str());\r
             return provider;\r
         }\r
 \r
@@ -42,8 +43,7 @@ namespace OIC
             m_syncInfoCb = NULL;\r
             if (provider != nullptr)\r
             {\r
-                if ((provider->providerId != nullptr) && strlen(provider->providerId))\r
-                    m_providerId.assign(provider->providerId, strlen(provider->providerId));\r
+                m_providerId.assign(provider->providerId, NS_UTILS_UUID_STRING_SIZE);\r
             }\r
         }\r
 \r
index b10d6b9..e4d35bf 100755 (executable)
@@ -22,6 +22,7 @@
 #include <cstring>\r
 #include "NSProviderInterface.h"\r
 #include "NSConstants.h"\r
+#include "NSUtils.h"\r
 #include "oic_string.h"\r
 \r
 namespace OIC\r
@@ -31,7 +32,7 @@ namespace OIC
         ::NSConsumer *NSConsumer::getNSConsumer()\r
         {\r
             ::NSConsumer *nsCon = new ::NSConsumer;\r
-            OICStrcpy(nsCon->consumerId, m_consumerId.length(), m_consumerId.c_str());\r
+            OICStrcpy(nsCon->consumerId, NS_UTILS_UUID_STRING_SIZE, m_consumerId.c_str());\r
             return nsCon;\r
         }\r
 \r
@@ -39,8 +40,7 @@ namespace OIC
         {\r
             if (consumer != nullptr)\r
             {\r
-                if ((consumer->consumerId != nullptr) && strlen(consumer->consumerId))\r
-                    m_consumerId.assign(consumer->consumerId, strlen(consumer->consumerId));\r
+                m_consumerId.assign(consumer->consumerId, NS_UTILS_UUID_STRING_SIZE);\r
             }\r
         }\r
 \r
index 68ac038..af34fa6 100755 (executable)
@@ -133,7 +133,12 @@ namespace OIC
             NS_LOG(DEBUG, "SendMessage - IN");\r
             NSResult result = NSResult::ERROR;\r
             if (msg != nullptr)\r
-                result = (NSResult) NSSendMessage(getNSMessage(msg));\r
+            {\r
+                ::NSMessage * nsMsg = getNSMessage(msg);\r
+                result = (NSResult) NSSendMessage(nsMsg);\r
+                delete nsMsg->mediaContents;\r
+                delete nsMsg;\r
+            }\r
             else\r
                 NS_LOG(DEBUG, "Empty Message");\r
             NS_LOG(DEBUG, "SendMessage - OUT");\r