1 //******************************************************************
\r
3 // Copyright 2016 Samsung Electronics All Rights Reserved.
\r
5 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
\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
11 // http://www.apache.org/licenses/LICENSE-2.0
\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
19 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
\r
21 #include "NSMessage.h"
\r
23 #include "NSUtils.h"
\r
30 NSMessage::NSMessage(::NSMessage *msg)
\r
33 m_type = NSMessage::NSMessageType::NS_MESSAGE_ALERT;
\r
35 m_mediaContents = nullptr;
\r
39 m_messageId = msg->messageId;
\r
40 m_providerId.assign(msg->providerId, NS_UTILS_UUID_STRING_SIZE - 1);
\r
42 m_type = (NSMessageType)msg->type;
\r
44 if ((msg->dateTime != nullptr) && strlen(msg->dateTime))
\r
46 m_time.assign(msg->dateTime, strlen(msg->dateTime));
\r
51 if ((msg->title != nullptr) && strlen(msg->title))
\r
53 m_title.assign(msg->title, strlen(msg->title));
\r
56 if ((msg->contentText != nullptr) && strlen(msg->contentText))
\r
58 m_contentText.assign(msg->contentText, strlen(msg->contentText));
\r
61 if ((msg->sourceName != nullptr) && strlen(msg->sourceName))
\r
63 m_sourceName.assign(msg->sourceName, strlen(msg->sourceName));
\r
66 if (msg->mediaContents != nullptr)
\r
68 m_mediaContents = new NSMediaContents();
\r
69 if ((msg->mediaContents->iconImage != nullptr) && strlen(msg->mediaContents->iconImage))
\r
71 m_mediaContents->setIconImage(msg->mediaContents->iconImage);
\r
75 if ((msg->topic != nullptr) && strlen(msg->topic))
\r
77 m_topic.assign(msg->topic, strlen(msg->topic));
\r
80 if (msg->extraInfo != nullptr)
\r
82 OC::MessageContainer info;
\r
83 info.setPayload(msg->extraInfo);
\r
84 const std::vector<OC::OCRepresentation> &reps = info.representations();
\r
85 if (reps.size() > 0)
\r
87 std::vector<OC::OCRepresentation>::const_iterator itr = reps.begin();
\r
88 std::vector<OC::OCRepresentation>::const_iterator back = reps.end();
\r
92 for (; itr != back; ++itr)
\r
94 m_extraInfo.addChild(*itr);
\r
101 NSMessage::NSMessage(const NSMessage &msg)
\r
103 m_messageId = msg.getMessageId();
\r
104 m_providerId = msg.getProviderId();
\r
106 m_type = msg.getType();
\r
107 m_time = msg.getTime();
\r
108 m_ttl = msg.getTTL();
\r
109 m_title = msg.getTitle();
\r
110 m_contentText = msg.getContentText();
\r
111 m_sourceName = msg.getSourceName();
\r
113 if (msg.getMediaContents() != nullptr)
\r
115 m_mediaContents = new NSMediaContents(msg.getMediaContents()->getIconImage());
\r
119 m_mediaContents = new NSMediaContents();
\r
121 m_topic = msg.getTopic();
\r
122 m_extraInfo = OC::OCRepresentation(msg.getExtraInfo());
\r
125 NSMessage &NSMessage::operator=(const NSMessage &msg)
\r
127 this->m_messageId = msg.getMessageId();
\r
128 this->m_providerId = msg.getProviderId();
\r
130 this->m_type = msg.getType();
\r
131 this->m_time = msg.getTime();
\r
132 this->m_ttl = msg.getTTL();
\r
133 this->m_title = msg.getTitle();
\r
134 this->m_contentText = msg.getContentText();
\r
135 this->m_sourceName = msg.getSourceName();
\r
137 if (msg.getMediaContents() != nullptr)
\r
139 this->m_mediaContents = new NSMediaContents(msg.getMediaContents()->getIconImage());
\r
143 this->m_mediaContents = new NSMediaContents();
\r
145 this->m_topic = msg.getTopic();
\r
146 this->m_extraInfo = OC::OCRepresentation(msg.getExtraInfo());
\r
150 NSMessage::~NSMessage()
\r
152 if (m_mediaContents != nullptr)
\r
154 delete m_mediaContents;
\r
158 uint64_t NSMessage::getMessageId() const
\r
160 return m_messageId;
\r
163 std::string NSMessage::getProviderId() const
\r
165 return m_providerId;
\r
168 NSMessage::NSMessageType NSMessage::getType() const
\r
173 std::string NSMessage::getTime() const
\r
178 uint64_t NSMessage::getTTL() const
\r
183 std::string NSMessage::getTitle() const
\r
188 std::string NSMessage::getContentText() const
\r
190 return m_contentText;
\r
193 std::string NSMessage::getSourceName() const
\r
195 return m_sourceName;
\r
198 NSMediaContents *NSMessage::getMediaContents() const
\r
200 return m_mediaContents;
\r
203 std::string NSMessage::getTopic() const
\r
208 void NSMessage::setType(const NSMessageType &type)
\r
213 void NSMessage::setTime(const std::string &time)
\r
218 void NSMessage::setTTL(const uint64_t &ttl)
\r
223 void NSMessage::setTitle(const std::string &title)
\r
228 void NSMessage::setContentText(const std::string &contextText)
\r
230 m_contentText = contextText;
\r
233 void NSMessage::setSourceName(const std::string &sourceName)
\r
235 m_sourceName = sourceName;
\r
238 void NSMessage::setMediaContents(NSMediaContents *mediaContents)
\r
240 m_mediaContents = mediaContents;
\r
243 void NSMessage::setTopic(const std::string &topic)
\r
248 OC::OCRepresentation NSMessage::getExtraInfo() const
\r
250 return OC::OCRepresentation(m_extraInfo);
\r
253 void NSMessage::setExtraInfo(const OC::OCRepresentation &extraInfo)
\r
255 m_extraInfo = OC::OCRepresentation(extraInfo);
\r