17 #ifndef DEFAULTNOTIFICATONMANAGER_HPP_
18 #define DEFAULTNOTIFICATONMANAGER_HPP_
23 #include <boost/signals2.hpp>
24 #include <boost/thread/mutex.hpp>
25 #include <boost/shared_ptr.hpp>
28 #include "kaa/gen/EndpointGen.hpp"
93 virtual const std::map<std::string, Topic>&
getTopics() {
100 virtual void setTransport(boost::shared_ptr<NotificationTransport> transport);
102 void updateSubscriptionInfo(
const std::string&
id, SubscriptionCommandType type);
103 void onSubscriptionInfoUpdated();
106 typedef boost::signals2::signal<void (const Topics&)> TopicListeners;
108 typedef boost::signals2::signal<void (
const std::string&
109 ,
const std::vector<boost::uint8_t>& )> NotificationListeners;
112 boost::shared_ptr<NotificationTransport> transport_;
115 std::map<std::string, Topic> topics_;
116 boost::mutex topicsGuard_;
118 TopicListeners topicListeners_;
119 NotificationListeners mandatoryListeners_;
121 std::map<std::string, boost::shared_ptr<NotificationListeners> > notificationListeners_;
122 boost::mutex notificationListenersGuard_;
virtual const std::map< std::string, Topic > & getTopics()
boost::shared_ptr< IKaaClientStateStorage > IKaaClientStateStoragePtr
virtual void notificationReceived(const Notifications ¬ifications)
NotificationManager(IKaaClientStateStoragePtr status)
virtual void topicsListUpdated(const Topics &topics)
virtual void addMandatoryTopicsListener(INotificationListener *listener)
virtual void removeMandatoryTopicsListener(INotificationListener *listener)
virtual void updateTopicSubscriptions(const TopicSubscribers &subscribers)
std::multimap< std::string, TopicSubscriberInfo > TopicSubscribers
virtual void addTopicsListener(INotificationTopicsListener *listener)
std::vector< Notification > Notifications
std::list< SubscriptionCommand > SubscriptionCommands
virtual void setTransport(boost::shared_ptr< NotificationTransport > transport)
std::vector< Topic > Topics
virtual void removeTopicsListener(INotificationTopicsListener *listener)