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
32 #include "NSCommon.h"
\r
33 #include "NSUtils.h"
\r
34 #include "NSTopicsList.h"
\r
42 * @brief This class provides a set of Notification service Consumer representation APIs.
\r
48 * Constructor of NSConsumer.
\r
50 NSConsumer() = default;
\r
53 * Constructor of NSConsumer.
\r
55 * @param consumerId -consumerId of the Notification service Consumer.
\r
57 NSConsumer(const std::string &consumerId)
\r
58 : m_consumerId(consumerId)
\r
63 * Constructor of NSConsumer.
\r
65 * @param consumer - NSConsumer struct to initialize.
\r
67 NSConsumer(::NSConsumer *consumer);
\r
70 * Destructor of NSConsumer.
\r
72 ~NSConsumer() = default;
\r
75 * This method is for getting ConsumerId from the Notification service Consumer.
\r
77 * @return ConsumerId as string.
\r
79 std::string getConsumerId() const;
\r
82 * This method is for setting icon image for the Notification service media contents.
\r
83 * This function is valid only when subControllability is set true.
\r
84 * @param accepted - as bool.
\r
86 int acceptSubscription(bool accepted);
\r
89 * Select a topic name for a consumer
\r
90 * @param[in] topicName Topic name to select
\r
91 * @return :: OK or result code of NSResult
\r
93 NSResult setTopic(const std::string &topicName);
\r
96 * Unselect a topic from the topic list for consumer
\r
97 * @param[in] topicName Topic name to unselect
\r
98 * @return :: OK or result code of NSResult
\r
100 NSResult unsetTopic(const std::string &topicName);
\r
103 * Request topic list with selection state for the consumer
\r
104 * @return :: Topic list
\r
106 NSTopicsList *getConsumerTopicList();
\r
109 ::NSConsumer *getNSConsumer();
\r
112 std::string m_consumerId;
\r
116 #endif /* _NS_CONSUMER_H_ */
\r