#ifndef __SubscriptionManager_h__ #define __SubscriptionManager_h__ #include "Command.h" #include "Subscription.h" #include "SubscriptionHandler.h" #include "TCPSession.h" #include "ZString.h" #include #include namespace core { class SubscriptionHandlerFactory; class SubscriptionManager : public Command { public: SubscriptionManager(); virtual ~SubscriptionManager(); int add(Subscription &subscription); int removeSessionSubscriptions(TCPSession &session); int processCommand(coreutils::ZString &request, TCPSession &session) override; SubscriptionHandlerFactory *factory; private: Subscription *subscription; std::map subscriptions; Subscription *newSubscription; std::mutex lock; }; } #endif