24 class ChannelRepository;
33 typedef std::function<void(TTV_ErrorCode ec, const ChannelInfo& channelInfo)>
LookupCallback;
49 virtual void Update()
override;
59 std::shared_ptr<GetChannelTask>
task;
TTV_ErrorCode GetChannelInfo(ChannelId channelId, ChannelInfo &result)
void CompleteLookup(ChannelId channelId, const ChannelInfo &channelInfo, TTV_ErrorCode ec)
virtual std::string GetLoggerName() const override
TTV_ErrorCode ScheduleLookup()
std::shared_ptr< GetChannelTask > task
Definition: channelrepository.h:59
std::shared_ptr< ttv::IMutex > mMutex
Definition: channelrepository.h:69
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
Cache< ChannelId, ChannelInfo > mChannelInfoCache
Definition: channelrepository.h:70
std::function< void(TTV_ErrorCode ec, const ChannelInfo &channelInfo)> LookupCallback
Definition: channelrepository.h:33
TTV_ErrorCode CacheChannelInfo(const ChannelInfo &channelInfo)
ChannelId channelId
Definition: channelrepository.h:57
virtual bool CheckShutdown() override
Definition: component.h:50
bool mLookupInProgress
Definition: channelrepository.h:73
uint32_t TTV_ErrorCode
Definition: errortypes.h:30
virtual void CompleteShutdown() override
virtual TTV_ErrorCode Shutdown() override
Definition: channelrepository.h:55
TTV_ErrorCode FetchChannelInfo(ChannelId channelId, LookupCallback callback)
uint32_t ChannelId
Definition: coretypes.h:23
Definition: coretypes.h:58
LookupCallback callback
Definition: channelrepository.h:58
std::vector< LookupEntry > mPendingChannelInfoLookups
Definition: channelrepository.h:71
virtual void Update() override
Definition: channelrepository.h:30