90 virtual void Update()
override;
101 std::shared_ptr<GetUserTask>
task;
114 std::map<UserId, std::shared_ptr<User>>
mUsers;
uint32_t UserId
Definition: coretypes.h:22
UserInfoLookupCallback callback
Definition: userrepository.h:100
TTV_ErrorCode UnRegisterUser(UserId userId)
TTV_ErrorCode FetchUserInfoById(UserId userId, UserInfoLookupCallback callback)
virtual TTV_ErrorCode Initialize() override
std::shared_ptr< User > RegisterUser(UserId userId)
virtual TTV_ErrorCode Shutdown() override
virtual bool CheckShutdown() override
Definition: coretypes.h:32
std::shared_ptr< User > mAnonymousUser
Definition: userrepository.h:118
virtual void Update() override
TTV_ErrorCode GetUsers(std::vector< std::shared_ptr< User >> &users)
bool forceRefetch
Definition: userrepository.h:102
std::map< UserId, UserInfo > mUserInfo
A mapping of username to UserInfo.
Definition: userrepository.h:116
TTV_ErrorCode GetUserInfoByName(const std::string &username, UserInfo &result)
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
void CompleteUserInfoLookup(const UserInfo &userInfo, TTV_ErrorCode ec)
std::shared_ptr< GetUserTask > task
Definition: userrepository.h:101
UserId userId
Definition: userrepository.h:99
Definition: component.h:50
std::vector< UserInfoLookupEntry > mPendingUserInfoLookups
Definition: userrepository.h:117
bool mLookupInProgress
Definition: userrepository.h:120
uint32_t TTV_ErrorCode
Definition: errortypes.h:30
std::shared_ptr< User > GetUser(UserId userId)
std::function< void(TTV_ErrorCode ec, const UserInfo &userInfo)> UserInfoLookupCallback
Definition: userrepository.h:33
Definition: userrepository.h:30
TTV_ErrorCode GetUserInfoById(UserId userId, UserInfo &result)
std::shared_ptr< OAuthToken > authToken
Definition: userrepository.h:98
virtual void CompleteShutdown() override
virtual std::string GetLoggerName() const override
TTV_ErrorCode FetchUserInfoByAuthToken(const std::shared_ptr< OAuthToken > &authToken, UserInfoLookupCallback callback)
TTV_ErrorCode FetchUserInfoByName(const std::string &username, UserInfoLookupCallback callback)
std::shared_ptr< User > GetAnonymousUser() const
Definition: userrepository.h:41
TTV_ErrorCode ScheduleUserInfoLookup()
Definition: userrepository.h:95
std::vector< std::shared_ptr< User > > mCleanupUsers
The users that are shutting down.
Definition: userrepository.h:115
std::map< UserId, std::shared_ptr< User > > mUsers
Definition: userrepository.h:114
TTV_ErrorCode CacheUserInfo(const UserInfo &userInfo)
std::string username
Definition: userrepository.h:97