Updated C++ wrapper for new API Changes
[platform/upstream/iotivity.git] / service / notification / cpp-wrapper / provider / src / NSConsumer.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 "NSConsumer.h"\r
22 #include <cstring>\r
23 #include "NSProviderInterface.h"\r
24 #include "NSConstants.h"\r
25 #include "oic_string.h"\r
26 #include "oic_malloc.h"\r
27 \r
28 namespace OIC\r
29 {\r
30     namespace Service\r
31     {\r
32         ::NSConsumer *NSConsumer::getNSConsumer()\r
33         {\r
34             ::NSConsumer *nsCon = new ::NSConsumer;\r
35             OICStrcpy(nsCon->consumerId, NS_UTILS_UUID_STRING_SIZE, m_consumerId.c_str());\r
36             return nsCon;\r
37         }\r
38 \r
39         NSConsumer::NSConsumer(::NSConsumer *consumer)\r
40         {\r
41             if (consumer != nullptr)\r
42             {\r
43                 m_consumerId.assign(consumer->consumerId, NS_UTILS_UUID_STRING_SIZE - 1);\r
44             }\r
45         }\r
46 \r
47         std::string NSConsumer::getConsumerId() const\r
48         {\r
49             return m_consumerId;\r
50         }\r
51 \r
52         int NSConsumer::acceptSubscription(bool accepted)\r
53         {\r
54             NS_LOG(DEBUG, "acceptSubscription - IN");\r
55             NSResult result = (NSResult) NSAcceptSubscription(getConsumerId().c_str(), accepted);\r
56             NS_LOG(DEBUG, "acceptSubscription - OUT");\r
57             return (int) result;\r
58         }\r
59 \r
60         NSResult NSConsumer::setTopic(const std::string &topicName)\r
61         {\r
62             NS_LOG(DEBUG, "setTopic - IN");\r
63             NSResult result = (NSResult) NSProviderSetConsumerTopic(getConsumerId().c_str(),\r
64                               topicName.c_str());\r
65             NS_LOG(DEBUG, "setTopic - OUT");\r
66             return result;\r
67         }\r
68 \r
69         NSResult NSConsumer::unsetTopic(const std::string &topicName)\r
70         {\r
71             NS_LOG(DEBUG, "unsetTopic - IN");\r
72             NSResult result = (NSResult) NSProviderUnsetConsumerTopic(getConsumerId().c_str(),\r
73                               topicName.c_str());\r
74             NS_LOG(DEBUG, "unsetTopic - OUT");\r
75             return result;\r
76         }\r
77 \r
78         NSTopicsList *NSConsumer::getConsumerTopicList()\r
79         {\r
80             NS_LOG(DEBUG, "getConsumerTopicList - IN");\r
81             ::NSTopicLL *topics = NSProviderGetConsumerTopics(getConsumerId().c_str());\r
82 \r
83             NSTopicsList *nsTopics = new NSTopicsList(topics);\r
84             NS_LOG(DEBUG, "getConsumerTopicList - OUT");\r
85             return nsTopics;\r
86         }\r
87     }\r
88 }\r