From 23f9f7712bfa33b5a488a447a6fabe6035cc3240 Mon Sep 17 00:00:00 2001 From: chriszero Date: Sat, 15 Nov 2014 19:43:07 +0100 Subject: initial commit --- SubscriptionManager.h | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 SubscriptionManager.h (limited to 'SubscriptionManager.h') diff --git a/SubscriptionManager.h b/SubscriptionManager.h new file mode 100644 index 0000000..a411256 --- /dev/null +++ b/SubscriptionManager.h @@ -0,0 +1,79 @@ +#ifndef SUBSCRIPTIONMANAGER_H +#define SUBSCRIPTIONMANAGER_H + +#include +#include +#include +#include +#include + +#include "player.h" + +namespace plexclient +{ + +class Subscriber +{ + public: + int m_iCommandId; + Subscriber() {}; + Subscriber(std::string protocol, std::string host, int port, std::string uuid, int commandId); + + std::string GetUuid() { + return m_sUuid; + } + + void SendUpdate(std::string msg, bool isNav); + + virtual std::string to_string() { + return "Subscriber-> Host: " + m_sHost + "; Port:" + std::to_string(m_iPort) + "; Uuid:" + m_sUuid + "; CmdID:" + std::to_string(m_iCommandId); + } + +private: + std::string m_sProtocol; + std::string m_sHost; + int m_iPort; + std::string m_sUuid; + + int m_iAge; +}; + + +class SubscriptionManager +{ +public: + static SubscriptionManager& GetInstance() { + static SubscriptionManager instance; + return instance; + } + void AddSubscriber(Subscriber subs); + void RemoveSubscriber(std::string uuid); + std::string GetMsg(std::string commandId); + void Notify(); + + private: + SubscriptionManager(); + std::mutex mutex; + std::map m_mSubcribers; +}; + +class ActionManager +{ + public: + static ActionManager& GetInstance() { + static ActionManager instance; + return instance; + } + void AddAction(std::string file); + std::string GetAction(); + bool IsAction(); + + private: + ActionManager(); + std::string m_sAction = ""; + bool m_isAction = false; +}; + +} + +#endif // SUBSCRIPTIONMANAGER_H -- cgit v1.2.3