Added CA BLE packet format changed codes
[platform/upstream/iotivity.git] / service / notification / cpp-wrapper / common / NSMessage.cpp
1 //******************************************************************\r
2 //\r
3 // Copyright 2016 Samsung Electronics All Rights Reserved.\r
4 //\r
5 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
6 //\r
7 // Licensed under the Apache License, Version 2.0 (the "License");\r
8 // you may not use this file except in compliance with the License.\r
9 // You may obtain a copy of the License at\r
10 //\r
11 //      http://www.apache.org/licenses/LICENSE-2.0\r
12 //\r
13 // Unless required by applicable law or agreed to in writing, software\r
14 // distributed under the License is distributed on an "AS IS" BASIS,\r
15 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16 // See the License for the specific language governing permissions and\r
17 // limitations under the License.\r
18 //\r
19 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
20 \r
21 #include "NSMessage.h"\r
22 #include "string.h"\r
23 #include "NSUtils.h"\r
24 #include <cstdint>\r
25 \r
26 namespace OIC\r
27 {\r
28     namespace Service\r
29     {\r
30         NSMessage::NSMessage(::NSMessage *msg)\r
31         {\r
32             m_messageId = 0;\r
33             m_type = NSMessage::NSMessageType::NS_MESSAGE_ALERT;\r
34             m_ttl = 0;\r
35             m_mediaContents = new NSMediaContents();\r
36 \r
37             if (msg != nullptr)\r
38             {\r
39                 m_messageId = msg->messageId;\r
40                 m_providerId = msg->providerId;\r
41 \r
42                 m_type = (NSMessageType)msg->type;\r
43 \r
44                 if ((msg->dateTime != nullptr) && strlen(msg->dateTime))\r
45                     m_time.assign(msg->dateTime, strlen(msg->dateTime));\r
46 \r
47                 m_ttl =  msg->ttl;\r
48 \r
49                 if ((msg->title != nullptr) && strlen(msg->title))\r
50                     m_title.assign(msg->title, strlen(msg->title));\r
51 \r
52                 if ((msg->contentText != nullptr) && strlen(msg->contentText))\r
53                     m_contentText.assign(msg->contentText, strlen(msg->contentText));\r
54 \r
55                 if ((msg->sourceName != nullptr) && strlen(msg->sourceName))\r
56                     m_sourceName.assign(msg->sourceName, strlen(msg->sourceName));\r
57 \r
58                 if (msg->mediaContents != nullptr)\r
59                     if ((msg->mediaContents->iconImage != nullptr) && strlen(msg->mediaContents->iconImage))\r
60                         m_mediaContents->setIconImage(msg->mediaContents->iconImage);\r
61 \r
62                 if ((msg->topic != nullptr) && strlen(msg->topic))\r
63                     m_topic.assign(msg->topic, strlen(msg->topic));\r
64 \r
65             }\r
66         }\r
67 \r
68         NSMessage::~NSMessage()\r
69         {\r
70             if (m_mediaContents != nullptr)\r
71                 delete m_mediaContents;\r
72         }\r
73 \r
74         uint64_t NSMessage::getMessageId() const\r
75         {\r
76             return m_messageId;\r
77         }\r
78 \r
79         std::string NSMessage::getProviderId() const\r
80         {\r
81             return m_providerId;\r
82         }\r
83 \r
84         NSMessage::NSMessageType NSMessage::getType() const\r
85         {\r
86             return m_type;\r
87         }\r
88 \r
89         std::string NSMessage::getTime() const\r
90         {\r
91             return m_time;\r
92         }\r
93 \r
94         uint64_t NSMessage::getTTL() const\r
95         {\r
96             return m_ttl;\r
97         }\r
98 \r
99         std::string NSMessage::getTitle() const\r
100         {\r
101             return m_title;\r
102         }\r
103 \r
104         std::string NSMessage::getContentText() const\r
105         {\r
106             return m_contentText;\r
107         }\r
108 \r
109         std::string NSMessage::getSourceName() const\r
110         {\r
111             return m_sourceName;\r
112         }\r
113 \r
114         NSMediaContents *NSMessage::getMediaContents() const\r
115         {\r
116             return m_mediaContents;\r
117         }\r
118 \r
119         std::string NSMessage::getTopic() const\r
120         {\r
121             return m_topic;\r
122         }\r
123 \r
124         void NSMessage::setType(const NSMessageType &type)\r
125         {\r
126             m_type = type;\r
127         }\r
128 \r
129         void NSMessage::setTime(const std::string &time)\r
130         {\r
131             m_time = time;\r
132         }\r
133 \r
134         void NSMessage::setTTL(const uint64_t &ttl)\r
135         {\r
136             m_ttl = ttl;\r
137         }\r
138 \r
139         void NSMessage::setTitle(const std::string &title)\r
140         {\r
141             m_title = title;\r
142         }\r
143 \r
144         void NSMessage::setContentText(const std::string &contextText)\r
145         {\r
146             m_contentText = contextText;\r
147         }\r
148 \r
149         void NSMessage::setSourceName(const std::string &sourceName)\r
150         {\r
151             m_sourceName = sourceName;\r
152         }\r
153 \r
154         void NSMessage::setMediaContents(NSMediaContents *mediaContents)\r
155         {\r
156             m_mediaContents = mediaContents;\r
157         }\r
158     }\r
159 }\r