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
24 * This file contains Notification service Consumer representation.
\r
27 #ifndef _NS_CONSUMER_H_
\r
28 #define _NS_CONSUMER_H_
\r
33 #include "NSCommon.h"
\r
34 #include "NSUtils.h"
\r
35 #include "NSTopicsList.h"
\r
43 * @brief This class provides a set of Notification service Consumer representation APIs.
\r
49 * Constructor of NSConsumer.
\r
51 NSConsumer() = default;
\r
54 * Constructor of NSConsumer.
\r
56 * @param consumerId -consumerId of the Notification service Consumer.
\r
58 NSConsumer(const std::string &consumerId)
\r
59 : m_consumerId(consumerId)
\r
64 * Constructor of NSConsumer.
\r
66 * @param consumer - NSConsumer struct to initialize.
\r
68 NSConsumer(::NSConsumer *consumer);
\r
71 * Destructor of NSConsumer.
\r
73 ~NSConsumer() = default;
\r
76 * This method is for getting ConsumerId from the Notification service Consumer.
\r
78 * @return ConsumerId as string.
\r
80 std::string getConsumerId() const;
\r
83 * This method is for setting icon image for the Notification service media contents.
\r
84 * This function is valid only when subControllability is set true.
\r
85 * @param accepted - as bool.
\r
86 * @return :: OK or result code of NSResult
\r
88 NSResult acceptSubscription(bool accepted);
\r
91 * Select a topic name for a consumer
\r
92 * @param[in] topicName Topic name to select
\r
93 * @return :: OK or result code of NSResult
\r
95 NSResult setTopic(const std::string &topicName);
\r
98 * Unselect a topic from the topic list for consumer
\r
99 * @param[in] topicName Topic name to unselect
\r
100 * @return :: OK or result code of NSResult
\r
102 NSResult unsetTopic(const std::string &topicName);
\r
105 * Request topic list with selection state for the consumer
\r
106 * @return :: Topic list
\r
108 std::shared_ptr<NSTopicsList> getConsumerTopicList();
\r
111 ::NSConsumer *getNSConsumer();
\r
112 bool isValid() const;
\r
115 std::string m_consumerId;
\r
119 #endif /* _NS_CONSUMER_H_ */
\r