20 class PubSubComponentBase;
51 virtual void AddTopic(
const std::string& topic);
81 template <
typename LISTENER>
98 void SetListener(
const std::shared_ptr<LISTENER>& listener) { mListener = listener; }
virtual void OnTopicSubscribeStateChanged(const std::string &topic, PubSubClient::SubscribeState::Enum state, TTV_ErrorCode ec)=0
virtual void OnTopicListenerRemoved(const std::string &topic, TTV_ErrorCode ec)
void SetListener(const std::shared_ptr< LISTENER > &listener)
Definition: pubsubcomponent.h:98
virtual TTV_ErrorCode Shutdown() override
Definition: pubsubcomponent.h:54
virtual void OnTopicMessageReceived(PubSubClient *source, const std::string &topic, const json::Value &msg) override
std::function< void()> DisposerFunc
Definition: pubsubcomponent.h:28
PubSubTopicListener(PubSubComponentBase *owner)
Definition: pubsubcomponent.h:57
Enum
Definition: pubsubclient.h:91
virtual TTV_ErrorCode SubscribeTopics()
std::shared_ptr< LISTENER > mListener
Definition: pubsubcomponent.h:101
virtual void OnTopicSubscribeStateChanged(PubSubClient *source, const std::string &topic, PubSubClient::SubscribeState::Enum state, TTV_ErrorCode ec) override
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
PubSubComponentBase * mOwner
Definition: pubsubcomponent.h:67
Represents a JSON value.
Definition: value.h:114
virtual void CompleteShutdown() override
Definition: pubsubclient.h:86
void SetDisposer(DisposerFunc &&func)
Definition: pubsubcomponent.h:33
virtual TTV_ErrorCode Initialize() override
virtual void OnTopicMessageReceived(const std::string &topic, const json::Value &msg)=0
PubSubComponent(const std::shared_ptr< User > &user)
Definition: pubsubcomponent.h:85
uint32_t TTV_ErrorCode
Definition: errortypes.h:30
Definition: component.h:87
std::shared_ptr< PubSubClient > mPubSub
Definition: pubsubcomponent.h:70
virtual void OnTopicListenerRemoved(PubSubClient *source, const std::string &topic, TTV_ErrorCode ec) override
virtual void CompleteShutdown() override
Definition: pubsubcomponent.h:91
Definition: pubsubclient.h:117
DisposerFunc mDisposerFunc
Definition: pubsubcomponent.h:73
Definition: pubsubcomponent.h:25
virtual void AddTopic(const std::string &topic)
virtual ~PubSubComponentBase()=default
std::vector< std::string > mPubSubTopics
Definition: pubsubcomponent.h:74
std::shared_ptr< PubSubTopicListener > mPubSubTopicListener
Definition: pubsubcomponent.h:71
virtual bool CheckShutdown() override
std::shared_ptr< PubSubTopicListenerHelper > mPubSubTopicListenerHelper
Definition: pubsubcomponent.h:72
Definition: pubsubcomponent.h:21
virtual std::string GetLoggerName() const override=0
PubSubComponentBase(const std::shared_ptr< User > &user)