class NSProvider\r
{\r
public:\r
+\r
+ /**\r
+ * Invoked when the provider state is changed\r
+ * @param[in] providerState NSProviderState of the notification resource\r
+ */\r
+ typedef void (* ProviderStateCallback)(NSProviderState);\r
+\r
/**\r
* Consumer use this callback function to receive notification message from provider\r
* synchronization\r
/**\r
* Constructor of NSProvider.\r
*/\r
- NSProvider(): m_topicList(new NSTopicsList()), m_messageCb(NULL), m_syncInfoCb(NULL) {}\r
+ NSProvider(): m_topicList(new NSTopicsList()), m_state(NSProviderState::DENY),\r
+ m_stateCb(NULL), m_messageCb(NULL), m_syncInfoCb(NULL) {}\r
\r
/**\r
* Constructor of NSProvider.\r
* @param providerId - providerId of the Notification.\r
*/\r
NSProvider(const std::string &providerId) : m_providerId(providerId),\r
- m_topicList(new NSTopicsList()), m_messageCb(NULL), m_syncInfoCb(NULL) {}\r
+ m_topicList(new NSTopicsList()), m_state(NSProviderState::DENY),\r
+ m_stateCb(NULL), m_messageCb(NULL), m_syncInfoCb(NULL) {}\r
\r
/**\r
* Constructor of NSProvider.\r
* @param topicList - NSTopicsList of interested Topics.\r
*/\r
NSProvider(const std::string &providerId, NSTopicsList *topicList) : m_providerId(\r
- providerId), m_topicList(topicList), m_messageCb(NULL), m_syncInfoCb(NULL) {}\r
+ providerId), m_topicList(topicList), m_state(NSProviderState::DENY),\r
+ m_stateCb(NULL), m_messageCb(NULL), m_syncInfoCb(NULL) {}\r
\r
/**\r
* Constructor of NSProvider.\r
*/\r
NSProvider(::NSProvider *provider);\r
\r
+ /**\r
+ * Copy Constructor of NSProvider.\r
+ *\r
+ * @param provider - NSProvider to initialize.\r
+ */\r
+ NSProvider(const NSProvider &provider);\r
+\r
+ /**\r
+ * Copy assignment operator of NSProvider.\r
+ *\r
+ * @param provider - NSProvider to initialize.\r
+ * @return NSProvider object reference\r
+ */\r
+ NSProvider &operator=(const NSProvider &provider);\r
\r
/**\r
* Destructor of NSProvider.\r
NSTopicsList *getTopicList() const;\r
\r
/**\r
+ * Update Topic list that is wanted to be subscribed from provider\r
+ *\r
+ * @param topicList - NSTopicsList of interested Topics.\r
+ * @return NSResult\r
+ */\r
+ NSResult updateTopicList(NSTopicsList *topicList);\r
+\r
+ /**\r
+ * This method is for getting ProviderState from the Notification service provider.\r
+ *\r
+ * @return ProviderState as NSProviderState.\r
+ */\r
+ NSProviderState getProviderState() const;\r
+\r
+ /**\r
* This method is for requesting subscription of Notification service.\r
*\r
*/\r
void subscribe();\r
\r
/**\r
- * This method is for requesting unsubscription of Notification service.\r
+ * This method is for requesting subscription status from Provider of Notification service.\r
*\r
*/\r
- void unSubscribe();\r
+ bool isSubscribed();\r
\r
/**\r
* This method is for Sending SyncInfo of Notification service.\r
* @param messageId - id of type message.\r
* @param type - NSSyncType of Notification service.\r
*/\r
- void SendSyncInfo(uint64_t messageId, NSSyncInfo::NSSyncType type);\r
+ void sendSyncInfo(uint64_t messageId, NSSyncInfo::NSSyncType type);\r
\r
/**\r
* This method is for registering for listeners of Notification .\r
*\r
+ * @param stateHandle - ProviderStateCallback callback.\r
* @param messageHandle - MessageReceivedCallback callback.\r
* @param syncHandle - SyncInfoReceivedCallback callback\r
*/\r
- void setListener(MessageReceivedCallback messageHandle,\r
+ void setListener(ProviderStateCallback stateHandle,\r
+ MessageReceivedCallback messageHandle,\r
SyncInfoReceivedCallback syncHandle);\r
\r
/**\r
- * Select Topic list that is wanted to subscribe from provider\r
- *\r
- * @param topicList - NSTopicsList of interested Topics.\r
- * @return NSResult\r
- */\r
- NSResult selectInterestTopics(NSTopicsList *topicList);\r
+ * This method is for getting the registered cb of Provider State received.\r
+ *\r
+ * @return stateCb - ProviderStateCallback .\r
+ */\r
+ ProviderStateCallback getProviderStateReceivedCb() const;\r
\r
/**\r
* This method is for getting the registered cb of Notification message received.\r
*\r
* @return messageCb - MessageReceivedCallback .\r
*/\r
- MessageReceivedCallback getMessageReceivedCb();\r
+ MessageReceivedCallback getMessageReceivedCb() const;\r
\r
/**\r
* This method is for getting the registered cb of Notification SyncInfo received.\r
*\r
* @return syncInfoCb - SyncInfoReceivedCallback .\r
*/\r
- SyncInfoReceivedCallback getSyncInfoReceivedCb();\r
+ SyncInfoReceivedCallback getSyncInfoReceivedCb() const;\r
+\r
+ /**\r
+ * This method is for setting NSTopic List for the Notification service provider.\r
+ *\r
+ * @param topicsList as NSTopicsList pointer.\r
+ */\r
+ void setTopicList(NSTopicsList *topicsList);\r
+\r
+ /**\r
+ * This method is for setting ProviderState for the Notification service provider.\r
+ *\r
+ * @param providerState as NSProviderState.\r
+ */\r
+ void setProviderState(const NSProviderState &providerState);\r
\r
private:\r
::NSProvider *getNSProvider();\r
private:\r
std::string m_providerId;\r
NSTopicsList *m_topicList;\r
+ NSProviderState m_state;\r
+\r
+ ProviderStateCallback m_stateCb;\r
MessageReceivedCallback m_messageCb;\r
SyncInfoReceivedCallback m_syncInfoCb;\r
-\r
};\r
}\r
}\r