Twitch SDK (Internal)
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
ttv::social::FriendList Class Reference

#include <friendlist.h>

Inheritance diagram for ttv::social::FriendList:
ttv::UserComponent ttv::Component ttv::IComponent

Classes

struct  FriendEntry
 
class  IListener
 
class  PubSubTopicListener
 

Public Types

using UpdateFriendshipCallback = std::function< void(TTV_ErrorCode ec, UpdateFriendResult result, FriendStatus status)>
 
using FetchFriendListCallback = std::function< void(TTV_ErrorCode ec, const std::vector< Friend > &friends)>
 
using FetchFriendStatusCallback = std::function< void(TTV_ErrorCode ec, FriendStatus status)>
 
using FetchFriendRequestsCallback = std::function< void(TTV_ErrorCode ec, const std::vector< FriendRequest > &requests)>
 
using FetchUnreadFriendRequestCountCallback = std::function< void(TTV_ErrorCode ec, uint32_t count)>
 
using MarkAllFriendRequestsReadCallback = std::function< void(TTV_ErrorCode ec)>
 
using FetchRecommendedFriendsCallback = std::function< void(TTV_ErrorCode ec, const std::vector< UserInfo > &recommendedFriends)>
 
using DismissRecommendedFriendCallback = std::function< void(TTV_ErrorCode ec)>
 
enum  State { State::Uninitialized, State::Initialized, State::ShuttingDown, State::Inert }
 

Public Member Functions

 FriendList (const std::shared_ptr< User > &user, const FeatureFlags &enabledFeatures)
 
virtual ~FriendList ()
 
void SetUserRepository (std::shared_ptr< UserRepository > repository)
 
std::shared_ptr< UserGetUser ()
 
void AddListener (std::shared_ptr< IListener > listener)
 
void RemoveListener (std::shared_ptr< IListener > listener)
 
virtual TTV_ErrorCode Initialize () override
 
TTV_ErrorCode FetchFriendList (const FetchFriendListCallback &callback)
 
TTV_ErrorCode UpdateFriendship (UserId otherUserId, FriendAction action, const UpdateFriendshipCallback &callback)
 
TTV_ErrorCode FetchFriendRequests (const FetchFriendRequestsCallback &callback)
 
TTV_ErrorCode FetchUnreadFriendRequestCount (const FetchUnreadFriendRequestCountCallback &callback)
 
TTV_ErrorCode MarkAllFriendRequestsRead (const MarkAllFriendRequestsReadCallback &callback)
 
TTV_ErrorCode FetchFriendStatus (UserId otherUserId, const FetchFriendStatusCallback &callback)
 
TTV_ErrorCode FetchRecommendedFriends (const FetchRecommendedFriendsCallback &callback)
 
TTV_ErrorCode DismissRecommendedFriend (UserId dismissUserId, const DismissRecommendedFriendCallback &callback)
 
virtual void SetTaskRunner (std::shared_ptr< TaskRunner > taskRunner) override
 
virtual void Update () override
 
virtual TTV_ErrorCode Shutdown () override
 
virtual std::string GetLoggerName () const override
 
std::shared_ptr< TaskRunnerGetTaskRunner ()
 
virtual State GetState () const override
 

Static Public Member Functions

static std::string GetComponentName ()
 

Protected Member Functions

virtual void OnUserLogInComplete (TTV_ErrorCode ec)
 
virtual void OnUserLogOutComplete (TTV_ErrorCode ec)
 
virtual void OnUserAuthenticationIssue (std::shared_ptr< const OAuthToken > oauthToken, TTV_ErrorCode ec)
 
void Log (TTV_MessageLevel level, const char *format,...)
 
TTV_ErrorCode StartTask (std::shared_ptr< Task > task)
 
void CompleteTask (Task *task)
 
bool IsTaskRunning (Task *task) const
 
virtual void SetState (State state)
 
virtual void SetClientState (State state)
 
virtual void SetServerState (State state)
 

Protected Attributes

std::weak_ptr< UsermUser
 
bool mOAuthIssue
 Whether or not the internal updates of the component are on hold because of an issue with the OAuth token. More...
 
ClientServerValue< StatemState
 
std::shared_ptr< TaskRunnermTaskRunner
 
std::vector< std::shared_ptr< Task > > mRunningTasks
 
std::mutex mTaskMutex
 
uint64_t mShutdownTimeMilliseconds
 

Private Types

typedef std::function< void(TTV_ErrorCode ec)> CompleteCallback
 
typedef std::function< void(UserId localUserId, UserId otherUserId, TTV_ErrorCode ec)> UserIdsLookupCallback
 
typedef std::function< void(std::shared_ptr< SocialFriendRequestsTask > task)> FriendRequestsTaskSetupCallback
 
typedef std::function< TTV_ErrorCode(std::shared_ptr< SocialFriendRequestsTask::Result > result)> FriendRequestsTaskProcessResultCallback
 
typedef std::function< void(TTV_ErrorCode ec)> GetUserInfoCompleteCallback
 
typedef std::function< UserInfo *(UserId userId)> GetUserInfoTargetCallback
 
typedef std::function< void(UserId ownerUserId, UserId otherUserId, TTV_ErrorCode ec)> FriendChangeSetupCallback
 
typedef std::map< UserId, FriendRequestFriendRequestMap
 

Private Member Functions

void OnTopicSubscribeStateChanged (const std::string &topic, PubSubClient::SubscribeState::Enum state, TTV_ErrorCode ec)
 
void OnTopicMessageReceived (const std::string &topic, const json::Value &msg)
 
virtual bool CheckShutdown () override
 
virtual void CompleteShutdown () override
 
virtual void OnUserInfoFetchComplete (TTV_ErrorCode ec) override
 
TTV_ErrorCode SubscribeTopics ()
 
void SetFriendPresence (UserId userId, Timestamp updateTime, uint64_t index, PresenceUserAvailability availability, std::unique_ptr< PresenceActivity > &&activity)
 
void RequestFriendsList ()
 
void HandleFriendsList (std::vector< FriendEntry > &&list)
 
void RequestFriendRequests ()
 
void RequestFriendRequestUnreadCount ()
 
void RequestRecommendedFriends ()
 
void NotifyFriendInfoChanges ()
 
void NotifyFriendAddsRemoves ()
 
TTV_ErrorCode PerformFriendRequestListManagement (FriendRequestsTaskSetupCallback setupCallback, FriendRequestsTaskProcessResultCallback processCallback, CompleteCallback completeCallback)
 
void AddToPendingFriendAdds (UserId userId)
 
void AddToPendingFriendRemoves (const FriendEntry &entry)
 
bool RemoveFriendRequest (UserId userId, FriendRequestRemovalReason reason)
 
TTV_ErrorCode HandleRealtimeFriendRequestReceived (UserId userId)
 
TTV_ErrorCode HandleFriendRequestAccepted (UserId userId, FriendRequestRemovalReason reason)
 
TTV_ErrorCode HandleFriendRequestRemoved (UserId userId, FriendRequestRemovalReason reason)
 
void HandleFriendRemoved (UserId userId)
 
void SetNumUnreadFriendRequests (uint32_t count)
 
std::vector< FriendBuildSocialFriendListResult (const std::unordered_set< UserId > &ids)
 
std::vector< FriendBuildSocialFriendListResult (const std::map< UserId, Friend > &users)
 

Private Attributes

std::shared_ptr< UserRepositorymUserRepository
 
std::shared_ptr< PubSubClientmPubSub
 
std::shared_ptr< PubSubTopicListenermPubSubTopicListener
 
std::shared_ptr< PubSubTopicListenerHelpermPubSubTopicListenerHelper
 
std::unordered_set< UserIdmPendingAddedFriends
 The set of friends who were added via a friend request. More...
 
std::map< UserId, FriendmPendingRemovedFriends
 The set of friends who were removed from the friend list. More...
 
std::unordered_set< UserIdmPendingInfoChanges
 The list of users who have had their info changed. More...
 
std::map< UserId, FriendEntrymFriendMap
 
std::vector< UserInfomRecommendedFriends
 
CallbackQueue< FetchFriendListCallbackmFetchFriendListCallbacks
 
CallbackQueue< FetchFriendRequestsCallbackmFetchFriendRequestsCallbacks
 
CallbackQueue< FetchUnreadFriendRequestCountCallbackmFetchUnreadFriendRequestCountCallbacks
 
CallbackQueue< FetchRecommendedFriendsCallbackmFetchRecommendedFriendsCallbacks
 
FriendRequestMap mFriendRequests
 
uint32_t mNumUnreadFriendRequests
 The number of unread friend requests. More...
 
WaitForExpiry mFriendListFetchTimer
 
WaitForExpiry mFriendRequestFetchTimer
 
WaitForExpiry mFriendRequestUnreadCountFetchTimer
 
WaitForExpiry mRecommendedFriendsFetchTimer
 
EventSource< IListenermListeners
 
std::string mPresenceTopic
 
std::string mFriendshipTopic
 
FeatureFlags mEnabledFeatures
 
bool mReceivedFirstFriendListFetch
 
bool mReceivedFirstFriendRequestsFetch
 
bool mReceivedFirstFriendRequestUnreadCountFetch
 
bool mReceivedFirstRecommendedFriendsFetch
 
std::shared_ptr< PagedRequestFetchermFriendRequestFetcher
 

Detailed Description

Manages a user's friend list.


Class Documentation

◆ ttv::social::FriendList::FriendEntry

struct ttv::social::FriendList::FriendEntry
Class Members
Friend friendData
uint64_t presenceUpdateIndex

Member Typedef Documentation

◆ CompleteCallback

typedef std::function<void(TTV_ErrorCode ec)> ttv::social::FriendList::CompleteCallback
private

◆ DismissRecommendedFriendCallback

◆ FetchFriendListCallback

using ttv::social::FriendList::FetchFriendListCallback = std::function<void(TTV_ErrorCode ec, const std::vector<Friend>& friends)>

◆ FetchFriendRequestsCallback

using ttv::social::FriendList::FetchFriendRequestsCallback = std::function<void(TTV_ErrorCode ec, const std::vector<FriendRequest>& requests)>

◆ FetchFriendStatusCallback

◆ FetchRecommendedFriendsCallback

using ttv::social::FriendList::FetchRecommendedFriendsCallback = std::function<void(TTV_ErrorCode ec, const std::vector<UserInfo>& recommendedFriends)>

◆ FetchUnreadFriendRequestCountCallback

using ttv::social::FriendList::FetchUnreadFriendRequestCountCallback = std::function<void(TTV_ErrorCode ec, uint32_t count)>

◆ FriendChangeSetupCallback

typedef std::function<void(UserId ownerUserId, UserId otherUserId, TTV_ErrorCode ec)> ttv::social::FriendList::FriendChangeSetupCallback
private

◆ FriendRequestMap

◆ FriendRequestsTaskProcessResultCallback

◆ FriendRequestsTaskSetupCallback

typedef std::function<void(std::shared_ptr<SocialFriendRequestsTask> task)> ttv::social::FriendList::FriendRequestsTaskSetupCallback
private

◆ GetUserInfoCompleteCallback

◆ GetUserInfoTargetCallback

typedef std::function<UserInfo*(UserId userId)> ttv::social::FriendList::GetUserInfoTargetCallback
private

◆ MarkAllFriendRequestsReadCallback

◆ UpdateFriendshipCallback

◆ UserIdsLookupCallback

typedef std::function<void(UserId localUserId, UserId otherUserId, TTV_ErrorCode ec)> ttv::social::FriendList::UserIdsLookupCallback
private

Member Enumeration Documentation

◆ State

enum ttv::IComponent::State
stronginherited
Enumerator
Uninitialized 
Initialized 
ShuttingDown 
Inert 

The component doesn't require shutting down.

Constructor & Destructor Documentation

◆ FriendList()

ttv::social::FriendList::FriendList ( const std::shared_ptr< User > &  user,
const FeatureFlags enabledFeatures 
)

◆ ~FriendList()

virtual ttv::social::FriendList::~FriendList ( )
virtual

Member Function Documentation

◆ AddListener()

void ttv::social::FriendList::AddListener ( std::shared_ptr< IListener listener)

◆ AddToPendingFriendAdds()

void ttv::social::FriendList::AddToPendingFriendAdds ( UserId  userId)
private

◆ AddToPendingFriendRemoves()

void ttv::social::FriendList::AddToPendingFriendRemoves ( const FriendEntry entry)
private

◆ BuildSocialFriendListResult() [1/2]

std::vector<Friend> ttv::social::FriendList::BuildSocialFriendListResult ( const std::unordered_set< UserId > &  ids)
private

◆ BuildSocialFriendListResult() [2/2]

std::vector<Friend> ttv::social::FriendList::BuildSocialFriendListResult ( const std::map< UserId, Friend > &  users)
private

◆ CheckShutdown()

virtual bool ttv::social::FriendList::CheckShutdown ( )
overrideprivatevirtual

Reimplemented from ttv::Component.

◆ CompleteShutdown()

virtual void ttv::social::FriendList::CompleteShutdown ( )
overrideprivatevirtual

Reimplemented from ttv::UserComponent.

◆ CompleteTask()

void ttv::Component::CompleteTask ( Task task)
protectedinherited

◆ DismissRecommendedFriend()

TTV_ErrorCode ttv::social::FriendList::DismissRecommendedFriend ( UserId  dismissUserId,
const DismissRecommendedFriendCallback callback 
)

◆ FetchFriendList()

TTV_ErrorCode ttv::social::FriendList::FetchFriendList ( const FetchFriendListCallback callback)

◆ FetchFriendRequests()

TTV_ErrorCode ttv::social::FriendList::FetchFriendRequests ( const FetchFriendRequestsCallback callback)

◆ FetchFriendStatus()

TTV_ErrorCode ttv::social::FriendList::FetchFriendStatus ( UserId  otherUserId,
const FetchFriendStatusCallback callback 
)

◆ FetchRecommendedFriends()

TTV_ErrorCode ttv::social::FriendList::FetchRecommendedFriends ( const FetchRecommendedFriendsCallback callback)

◆ FetchUnreadFriendRequestCount()

TTV_ErrorCode ttv::social::FriendList::FetchUnreadFriendRequestCount ( const FetchUnreadFriendRequestCountCallback callback)

◆ GetComponentName()

static std::string ttv::social::FriendList::GetComponentName ( )
inlinestatic

◆ GetLoggerName()

virtual std::string ttv::social::FriendList::GetLoggerName ( ) const
overridevirtual

Implements ttv::Component.

◆ GetState()

virtual State ttv::Component::GetState ( ) const
overridevirtualinherited

Implements ttv::IComponent.

◆ GetTaskRunner()

std::shared_ptr<TaskRunner> ttv::Component::GetTaskRunner ( )
inlineinherited

◆ GetUser()

std::shared_ptr<User> ttv::social::FriendList::GetUser ( )
inline

◆ HandleFriendRemoved()

void ttv::social::FriendList::HandleFriendRemoved ( UserId  userId)
private

◆ HandleFriendRequestAccepted()

TTV_ErrorCode ttv::social::FriendList::HandleFriendRequestAccepted ( UserId  userId,
FriendRequestRemovalReason  reason 
)
private

◆ HandleFriendRequestRemoved()

TTV_ErrorCode ttv::social::FriendList::HandleFriendRequestRemoved ( UserId  userId,
FriendRequestRemovalReason  reason 
)
private

◆ HandleFriendsList()

void ttv::social::FriendList::HandleFriendsList ( std::vector< FriendEntry > &&  list)
private

◆ HandleRealtimeFriendRequestReceived()

TTV_ErrorCode ttv::social::FriendList::HandleRealtimeFriendRequestReceived ( UserId  userId)
private

◆ Initialize()

virtual TTV_ErrorCode ttv::social::FriendList::Initialize ( )
overridevirtual

Reimplemented from ttv::UserComponent.

◆ IsTaskRunning()

bool ttv::Component::IsTaskRunning ( Task task) const
protectedinherited

◆ Log()

void ttv::UserComponent::Log ( TTV_MessageLevel  level,
const char *  format,
  ... 
)
protectedinherited

◆ MarkAllFriendRequestsRead()

TTV_ErrorCode ttv::social::FriendList::MarkAllFriendRequestsRead ( const MarkAllFriendRequestsReadCallback callback)

◆ NotifyFriendAddsRemoves()

void ttv::social::FriendList::NotifyFriendAddsRemoves ( )
private

◆ NotifyFriendInfoChanges()

void ttv::social::FriendList::NotifyFriendInfoChanges ( )
private

◆ OnTopicMessageReceived()

void ttv::social::FriendList::OnTopicMessageReceived ( const std::string &  topic,
const json::Value msg 
)
private

◆ OnTopicSubscribeStateChanged()

void ttv::social::FriendList::OnTopicSubscribeStateChanged ( const std::string &  topic,
PubSubClient::SubscribeState::Enum  state,
TTV_ErrorCode  ec 
)
private

◆ OnUserAuthenticationIssue()

virtual void ttv::UserComponent::OnUserAuthenticationIssue ( std::shared_ptr< const OAuthToken oauthToken,
TTV_ErrorCode  ec 
)
protectedvirtualinherited

◆ OnUserInfoFetchComplete()

virtual void ttv::social::FriendList::OnUserInfoFetchComplete ( TTV_ErrorCode  ec)
overrideprivatevirtual

Reimplemented from ttv::UserComponent.

◆ OnUserLogInComplete()

virtual void ttv::UserComponent::OnUserLogInComplete ( TTV_ErrorCode  ec)
protectedvirtualinherited

◆ OnUserLogOutComplete()

virtual void ttv::UserComponent::OnUserLogOutComplete ( TTV_ErrorCode  ec)
protectedvirtualinherited

◆ PerformFriendRequestListManagement()

TTV_ErrorCode ttv::social::FriendList::PerformFriendRequestListManagement ( FriendRequestsTaskSetupCallback  setupCallback,
FriendRequestsTaskProcessResultCallback  processCallback,
CompleteCallback  completeCallback 
)
private

◆ RemoveFriendRequest()

bool ttv::social::FriendList::RemoveFriendRequest ( UserId  userId,
FriendRequestRemovalReason  reason 
)
private

◆ RemoveListener()

void ttv::social::FriendList::RemoveListener ( std::shared_ptr< IListener listener)

◆ RequestFriendRequests()

void ttv::social::FriendList::RequestFriendRequests ( )
private

◆ RequestFriendRequestUnreadCount()

void ttv::social::FriendList::RequestFriendRequestUnreadCount ( )
private

◆ RequestFriendsList()

void ttv::social::FriendList::RequestFriendsList ( )
private

◆ RequestRecommendedFriends()

void ttv::social::FriendList::RequestRecommendedFriends ( )
private

◆ SetClientState()

virtual void ttv::Component::SetClientState ( State  state)
protectedvirtualinherited

◆ SetFriendPresence()

void ttv::social::FriendList::SetFriendPresence ( UserId  userId,
Timestamp  updateTime,
uint64_t  index,
PresenceUserAvailability  availability,
std::unique_ptr< PresenceActivity > &&  activity 
)
private

◆ SetNumUnreadFriendRequests()

void ttv::social::FriendList::SetNumUnreadFriendRequests ( uint32_t  count)
private

◆ SetServerState()

virtual void ttv::Component::SetServerState ( State  state)
protectedvirtualinherited

◆ SetState()

virtual void ttv::Component::SetState ( State  state)
protectedvirtualinherited

◆ SetTaskRunner()

virtual void ttv::social::FriendList::SetTaskRunner ( std::shared_ptr< TaskRunner taskRunner)
overridevirtual

Reimplemented from ttv::Component.

◆ SetUserRepository()

void ttv::social::FriendList::SetUserRepository ( std::shared_ptr< UserRepository repository)
inline

◆ Shutdown()

virtual TTV_ErrorCode ttv::social::FriendList::Shutdown ( )
overridevirtual

Reimplemented from ttv::Component.

◆ StartTask()

TTV_ErrorCode ttv::Component::StartTask ( std::shared_ptr< Task task)
protectedinherited

◆ SubscribeTopics()

TTV_ErrorCode ttv::social::FriendList::SubscribeTopics ( )
private

◆ Update()

virtual void ttv::social::FriendList::Update ( )
overridevirtual

Reimplemented from ttv::Component.

◆ UpdateFriendship()

TTV_ErrorCode ttv::social::FriendList::UpdateFriendship ( UserId  otherUserId,
FriendAction  action,
const UpdateFriendshipCallback callback 
)

Member Data Documentation

◆ mEnabledFeatures

FeatureFlags ttv::social::FriendList::mEnabledFeatures
private

◆ mFetchFriendListCallbacks

CallbackQueue<FetchFriendListCallback> ttv::social::FriendList::mFetchFriendListCallbacks
private

◆ mFetchFriendRequestsCallbacks

CallbackQueue<FetchFriendRequestsCallback> ttv::social::FriendList::mFetchFriendRequestsCallbacks
private

◆ mFetchRecommendedFriendsCallbacks

CallbackQueue<FetchRecommendedFriendsCallback> ttv::social::FriendList::mFetchRecommendedFriendsCallbacks
private

◆ mFetchUnreadFriendRequestCountCallbacks

CallbackQueue<FetchUnreadFriendRequestCountCallback> ttv::social::FriendList::mFetchUnreadFriendRequestCountCallbacks
private

◆ mFriendListFetchTimer

WaitForExpiry ttv::social::FriendList::mFriendListFetchTimer
private

◆ mFriendMap

std::map<UserId, FriendEntry> ttv::social::FriendList::mFriendMap
private

◆ mFriendRequestFetcher

std::shared_ptr<PagedRequestFetcher> ttv::social::FriendList::mFriendRequestFetcher
private

◆ mFriendRequestFetchTimer

WaitForExpiry ttv::social::FriendList::mFriendRequestFetchTimer
private

◆ mFriendRequests

FriendRequestMap ttv::social::FriendList::mFriendRequests
private

◆ mFriendRequestUnreadCountFetchTimer

WaitForExpiry ttv::social::FriendList::mFriendRequestUnreadCountFetchTimer
private

◆ mFriendshipTopic

std::string ttv::social::FriendList::mFriendshipTopic
private

◆ mListeners

EventSource<IListener> ttv::social::FriendList::mListeners
private

◆ mNumUnreadFriendRequests

uint32_t ttv::social::FriendList::mNumUnreadFriendRequests
private

The number of unread friend requests.

◆ mOAuthIssue

bool ttv::UserComponent::mOAuthIssue
protectedinherited

Whether or not the internal updates of the component are on hold because of an issue with the OAuth token.

◆ mPendingAddedFriends

std::unordered_set<UserId> ttv::social::FriendList::mPendingAddedFriends
private

The set of friends who were added via a friend request.

◆ mPendingInfoChanges

std::unordered_set<UserId> ttv::social::FriendList::mPendingInfoChanges
private

The list of users who have had their info changed.

◆ mPendingRemovedFriends

std::map<UserId, Friend> ttv::social::FriendList::mPendingRemovedFriends
private

The set of friends who were removed from the friend list.

◆ mPresenceTopic

std::string ttv::social::FriendList::mPresenceTopic
private

◆ mPubSub

std::shared_ptr<PubSubClient> ttv::social::FriendList::mPubSub
private

◆ mPubSubTopicListener

std::shared_ptr<PubSubTopicListener> ttv::social::FriendList::mPubSubTopicListener
private

◆ mPubSubTopicListenerHelper

std::shared_ptr<PubSubTopicListenerHelper> ttv::social::FriendList::mPubSubTopicListenerHelper
private

◆ mReceivedFirstFriendListFetch

bool ttv::social::FriendList::mReceivedFirstFriendListFetch
private

◆ mReceivedFirstFriendRequestsFetch

bool ttv::social::FriendList::mReceivedFirstFriendRequestsFetch
private

◆ mReceivedFirstFriendRequestUnreadCountFetch

bool ttv::social::FriendList::mReceivedFirstFriendRequestUnreadCountFetch
private

◆ mReceivedFirstRecommendedFriendsFetch

bool ttv::social::FriendList::mReceivedFirstRecommendedFriendsFetch
private

◆ mRecommendedFriends

std::vector<UserInfo> ttv::social::FriendList::mRecommendedFriends
private

◆ mRecommendedFriendsFetchTimer

WaitForExpiry ttv::social::FriendList::mRecommendedFriendsFetchTimer
private

◆ mRunningTasks

std::vector<std::shared_ptr<Task> > ttv::Component::mRunningTasks
protectedinherited

◆ mShutdownTimeMilliseconds

uint64_t ttv::Component::mShutdownTimeMilliseconds
protectedinherited

◆ mState

ClientServerValue<State> ttv::Component::mState
protectedinherited

◆ mTaskMutex

std::mutex ttv::Component::mTaskMutex
mutableprotectedinherited

◆ mTaskRunner

std::shared_ptr<TaskRunner> ttv::Component::mTaskRunner
protectedinherited

◆ mUser

std::weak_ptr<User> ttv::UserComponent::mUser
protectedinherited

◆ mUserRepository

std::shared_ptr<UserRepository> ttv::social::FriendList::mUserRepository
private

The documentation for this class was generated from the following file: