From 09b0b69187794abd4ff8ab9e30de3114f366885d Mon Sep 17 00:00:00 2001 From: "abitha.s" Date: Thu, 11 Aug 2016 19:05:29 +0530 Subject: [PATCH] SVACE fixes for C++ wrapper for Notification Service. Change-Id: I54d9508e5d79cb2579057d1346d1fd0b8be2c24a Signed-off-by: abitha.s Reviewed-on: https://gerrit.iotivity.org/gerrit/10287 Tested-by: jenkins-iotivity Reviewed-by: Madan Lanka --- service/notification/cpp-wrapper/common/NSMessage.cpp | 17 +++++++++++++---- service/notification/cpp-wrapper/common/NSMessage.h | 5 +++-- service/notification/cpp-wrapper/common/NSSyncInfo.cpp | 8 ++++---- service/notification/cpp-wrapper/common/NSSyncInfo.h | 2 +- service/notification/cpp-wrapper/common/NSUtils.h | 1 + .../cpp-wrapper/consumer/src/NSConsumerService.cpp | 9 ++++++--- .../cpp-wrapper/consumer/src/NSProvider.cpp | 6 +++--- .../cpp-wrapper/provider/src/NSConsumer.cpp | 6 +++--- .../cpp-wrapper/provider/src/NSProviderService.cpp | 7 ++++++- 9 files changed, 40 insertions(+), 21 deletions(-) diff --git a/service/notification/cpp-wrapper/common/NSMessage.cpp b/service/notification/cpp-wrapper/common/NSMessage.cpp index 0cf3e54..68f9e76 100755 --- a/service/notification/cpp-wrapper/common/NSMessage.cpp +++ b/service/notification/cpp-wrapper/common/NSMessage.cpp @@ -20,6 +20,7 @@ #include "NSMessage.h" #include "string.h" +#include "NSUtils.h" #include namespace OIC @@ -28,12 +29,15 @@ namespace OIC { NSMessage::NSMessage(::NSMessage *msg) { + m_messageId = 0; + m_type = NSMessage::NSMessageType::NS_MESSAGE_ALERT; + m_ttl = 0; + m_mediaContents = new NSMediaContents(); + if (msg != nullptr) { m_messageId = msg->messageId; - - if ((msg->providerId != nullptr) && strlen(msg->providerId)) - m_providerId.assign(msg->providerId, strlen(msg->providerId)); + m_providerId.assign(msg->providerId, NS_UTILS_UUID_STRING_SIZE); m_type = (NSMessageType)msg->type; @@ -51,7 +55,6 @@ namespace OIC if ((msg->sourceName != nullptr) && strlen(msg->sourceName)) m_sourceName.assign(msg->sourceName, strlen(msg->sourceName)); - m_mediaContents = new NSMediaContents(); if (msg->mediaContents != nullptr) if ((msg->mediaContents->iconImage != nullptr) && strlen(msg->mediaContents->iconImage)) m_mediaContents->setIconImage(msg->mediaContents->iconImage); @@ -59,6 +62,12 @@ namespace OIC } } + NSMessage::~NSMessage() + { + if(m_mediaContents != nullptr) + delete m_mediaContents; + } + uint64_t NSMessage::getMessageId() const { return m_messageId; diff --git a/service/notification/cpp-wrapper/common/NSMessage.h b/service/notification/cpp-wrapper/common/NSMessage.h index 3f3d09c..2e55e1c 100755 --- a/service/notification/cpp-wrapper/common/NSMessage.h +++ b/service/notification/cpp-wrapper/common/NSMessage.h @@ -53,7 +53,8 @@ namespace OIC /** * Constructor of NSMessage. */ - NSMessage(): m_mediaContents(new NSMediaContents) { } + NSMessage(): m_messageId(0), m_type(NSMessageType::NS_MESSAGE_ALERT), m_ttl(0), + m_mediaContents(new NSMediaContents) { } /** * Constructor of NSMessage. @@ -65,7 +66,7 @@ namespace OIC /** * Destructor of NSMessage. */ - ~NSMessage() = default; + ~NSMessage(); /** * This method is for getting Message Id from the Notification service Message. diff --git a/service/notification/cpp-wrapper/common/NSSyncInfo.cpp b/service/notification/cpp-wrapper/common/NSSyncInfo.cpp index 0962c11..c5f173c 100755 --- a/service/notification/cpp-wrapper/common/NSSyncInfo.cpp +++ b/service/notification/cpp-wrapper/common/NSSyncInfo.cpp @@ -20,6 +20,7 @@ #include "NSSyncInfo.h" #include "string.h" +#include "NSUtils.h" namespace OIC { @@ -27,13 +28,12 @@ namespace OIC { NSSyncInfo::NSSyncInfo(::NSSyncInfo *syncInfo) { + m_messageId = 0; + m_state = NSSyncInfo::NSSyncType::NS_SYNC_UNREAD; if (syncInfo != nullptr) { m_messageId = syncInfo->messageId; - - if ((syncInfo->providerId != nullptr) && strlen(syncInfo->providerId)) - m_providerId.assign(syncInfo->providerId, strlen(syncInfo->providerId)); - + m_providerId.assign(syncInfo->providerId, NS_UTILS_UUID_STRING_SIZE); m_state = (NSSyncType) syncInfo->state; } } diff --git a/service/notification/cpp-wrapper/common/NSSyncInfo.h b/service/notification/cpp-wrapper/common/NSSyncInfo.h index e3e5b65..dfcbf20 100755 --- a/service/notification/cpp-wrapper/common/NSSyncInfo.h +++ b/service/notification/cpp-wrapper/common/NSSyncInfo.h @@ -52,7 +52,7 @@ namespace OIC /** * Constructor of NSSyncInfo. */ - NSSyncInfo() = default; + NSSyncInfo(): m_messageId(0), m_state(NSSyncType::NS_SYNC_UNREAD) { }; /** * Constructor of NSSyncInfo. diff --git a/service/notification/cpp-wrapper/common/NSUtils.h b/service/notification/cpp-wrapper/common/NSUtils.h index dce760f..00c00a5 100755 --- a/service/notification/cpp-wrapper/common/NSUtils.h +++ b/service/notification/cpp-wrapper/common/NSUtils.h @@ -27,6 +27,7 @@ #ifndef _NS_UTILS_H_ #define _NS_UTILS_H_ +#define NS_UTILS_UUID_STRING_SIZE 37 namespace OIC { diff --git a/service/notification/cpp-wrapper/consumer/src/NSConsumerService.cpp b/service/notification/cpp-wrapper/consumer/src/NSConsumerService.cpp index 5be4b61..d4eb618 100755 --- a/service/notification/cpp-wrapper/consumer/src/NSConsumerService.cpp +++ b/service/notification/cpp-wrapper/consumer/src/NSConsumerService.cpp @@ -47,17 +47,20 @@ namespace OIC NS_LOG_V(DEBUG, "response : %d",(int)response); NSProvider *nsProvider = new NSProvider(provider); + auto changeCallback = NSConsumerService::getInstance()->getConsumerConfig().m_changedCb; if(response == NS_ALLOW) { NSConsumerService::getInstance()->getAcceptedProviders().push_back(nsProvider); + if (changeCallback != NULL) + changeCallback(nsProvider, (NSResponse) response); } else if(response == NS_DENY) { NSConsumerService::getInstance()->getAcceptedProviders().remove(nsProvider); + if (changeCallback != NULL) + changeCallback(nsProvider, (NSResponse) response); + delete nsProvider; } - if (NSConsumerService::getInstance()->getConsumerConfig().m_changedCb != NULL) - NSConsumerService::getInstance()->getConsumerConfig().m_changedCb( - nsProvider, (NSResponse) response); NS_LOG(DEBUG, "onNSProviderChanged - OUT"); } diff --git a/service/notification/cpp-wrapper/consumer/src/NSProvider.cpp b/service/notification/cpp-wrapper/consumer/src/NSProvider.cpp index fe4c228..7aa94be 100755 --- a/service/notification/cpp-wrapper/consumer/src/NSProvider.cpp +++ b/service/notification/cpp-wrapper/consumer/src/NSProvider.cpp @@ -23,6 +23,7 @@ #include "NSConsumerInterface.h" #include "NSConstants.h" #include "NSCommon.h" +#include "NSUtils.h" #include "oic_string.h" namespace OIC @@ -32,7 +33,7 @@ namespace OIC ::NSProvider *NSProvider::getNSProvider() { ::NSProvider *provider = new ::NSProvider; - OICStrcpy(provider->providerId, m_providerId.length(), m_providerId.c_str()); + OICStrcpy(provider->providerId, NS_UTILS_UUID_STRING_SIZE, m_providerId.c_str()); return provider; } @@ -42,8 +43,7 @@ namespace OIC m_syncInfoCb = NULL; if (provider != nullptr) { - if ((provider->providerId != nullptr) && strlen(provider->providerId)) - m_providerId.assign(provider->providerId, strlen(provider->providerId)); + m_providerId.assign(provider->providerId, NS_UTILS_UUID_STRING_SIZE); } } diff --git a/service/notification/cpp-wrapper/provider/src/NSConsumer.cpp b/service/notification/cpp-wrapper/provider/src/NSConsumer.cpp index b10d6b9..e4d35bf 100755 --- a/service/notification/cpp-wrapper/provider/src/NSConsumer.cpp +++ b/service/notification/cpp-wrapper/provider/src/NSConsumer.cpp @@ -22,6 +22,7 @@ #include #include "NSProviderInterface.h" #include "NSConstants.h" +#include "NSUtils.h" #include "oic_string.h" namespace OIC @@ -31,7 +32,7 @@ namespace OIC ::NSConsumer *NSConsumer::getNSConsumer() { ::NSConsumer *nsCon = new ::NSConsumer; - OICStrcpy(nsCon->consumerId, m_consumerId.length(), m_consumerId.c_str()); + OICStrcpy(nsCon->consumerId, NS_UTILS_UUID_STRING_SIZE, m_consumerId.c_str()); return nsCon; } @@ -39,8 +40,7 @@ namespace OIC { if (consumer != nullptr) { - if ((consumer->consumerId != nullptr) && strlen(consumer->consumerId)) - m_consumerId.assign(consumer->consumerId, strlen(consumer->consumerId)); + m_consumerId.assign(consumer->consumerId, NS_UTILS_UUID_STRING_SIZE); } } diff --git a/service/notification/cpp-wrapper/provider/src/NSProviderService.cpp b/service/notification/cpp-wrapper/provider/src/NSProviderService.cpp index 68ac038..af34fa6 100755 --- a/service/notification/cpp-wrapper/provider/src/NSProviderService.cpp +++ b/service/notification/cpp-wrapper/provider/src/NSProviderService.cpp @@ -133,7 +133,12 @@ namespace OIC NS_LOG(DEBUG, "SendMessage - IN"); NSResult result = NSResult::ERROR; if (msg != nullptr) - result = (NSResult) NSSendMessage(getNSMessage(msg)); + { + ::NSMessage * nsMsg = getNSMessage(msg); + result = (NSResult) NSSendMessage(nsMsg); + delete nsMsg->mediaContents; + delete nsMsg; + } else NS_LOG(DEBUG, "Empty Message"); NS_LOG(DEBUG, "SendMessage - OUT"); -- 2.7.4