17 #include <unordered_set> 29 class ChatUserThreads;
31 class ChatGetUserThreadsTask;
73 using FetchMessagesCallback = std::function<void(TTV_ErrorCode ec, const std::vector<WhisperMessage>& messages)>;
79 ChatUserThread(
const std::string& threadId,
const std::shared_ptr<User>& user);
92 void AddListener(std::shared_ptr<Listener> listener);
96 virtual void Update()
override;
133 ChatUserThread(
const std::string& threadId,
const std::shared_ptr<User>& user,
bool placeholder);
Definition: chattypes.h:528
TTV_ErrorCode FetchMetadata()
void GetMetadata(ThreadData &thread) const
virtual void OnMetadataFetchComplete(ChatUserThread *source, TTV_ErrorCode ec)=0
ChatUserThread(const std::string &threadId, const std::shared_ptr< User > &user, const ThreadData &data)
bool mParticipantsUpdated
Definition: chatuserthread.h:161
virtual void Update() override
virtual void OnMuteStatusChanged(ChatUserThread *source, bool muted)=0
Definition: chatuserthread.h:42
void BumpLastMessage(const WhisperMessage &message)
std::string GetId() const
Definition: chatuserthread.h:82
void AddListener(std::shared_ptr< Listener > listener)
uint32_t MessageId
Definition: chattypes.h:26
std::string mThreadId
Definition: chatuserthread.h:149
std::function< void(TTV_ErrorCode ec)> SetMutedCallback
Definition: chatuserthread.h:74
virtual void CompleteShutdown() override
uint32_t Timestamp
Definition: coretypes.h:27
MessageId GetLastReadMessageId() const
Definition: chatuserthread.h:121
MessageId GetLastMessageId() const
Definition: chatuserthread.h:120
std::function< void(TTV_ErrorCode ec, const std::vector< WhisperMessage > &messages)> FetchMessagesCallback
Definition: chatuserthread.h:73
bool mMuted
Definition: chatuserthread.h:159
MessageId mLastMessageId
Definition: chatuserthread.h:152
void RemoveListener(std::shared_ptr< Listener > listener)
void SetFailedSend(bool failed)
Definition: chatuserthread.h:89
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
virtual ~ChatUserThread()
Definition: eventsource.h:18
std::shared_ptr< BitsConfiguration > mBitsConfiguration
Definition: chatuserthread.h:144
std::vector< ChatUserInfo > mParticipants
Definition: chatuserthread.h:147
bool mArchived
Definition: chatuserthread.h:160
bool GetFetchFailed() const
Definition: chatuserthread.h:88
TTV_ErrorCode SetArchived(bool archived, const SetMutedCallback &callback)
bool GetPlaceholder() const
Definition: chatuserthread.h:87
const std::vector< ChatUserInfo > & GetParticipants()
Definition: chatuserthread.h:118
uint32_t TTV_ErrorCode
Definition: errortypes.h:30
Definition: component.h:87
void UpdateMetadata(const ThreadData &thread)
std::function< void(TTV_ErrorCode ec)> SetLastMessageReadIdCallback
Definition: chatuserthread.h:76
Definition: chatuserthread.h:39
EventSource< Listener > mListeners
Definition: chatuserthread.h:143
WaitForExpiry mMetadataFetchTimer
Definition: chatuserthread.h:150
Timestamp mLastUpdateTimestamp
Definition: chatuserthread.h:154
void AddRealtimeMessage(const WhisperMessage &message)
void SetUnreadMessageWindow(MessageId lastMessageId, MessageId lastReadMessageId)
bool mUnreadMessageWindowUpdate
Definition: chatuserthread.h:163
Timestamp GetLastUpdateTimestamp() const
Definition: chatuserthread.h:119
virtual void OnParticipantsUpdated(ChatUserThread *source, const std::vector< ChatUserInfo > &participants)=0
Timestamp mLastFetchedTimestamp
Definition: chatuserthread.h:155
std::function< void(TTV_ErrorCode ec)> SetArchivedCallback
Definition: chatuserthread.h:75
bool mPlaceholder
Definition: chatuserthread.h:164
TTV_ErrorCode SetLastMessageReadId(MessageId id, const SetLastMessageReadIdCallback &callback)
bool mFetchMetadataFailed
Definition: chatuserthread.h:165
void SetBitsConfiguration(std::shared_ptr< BitsConfiguration > bitsConfiguration)
Definition: chatuserthread.h:85
void UpdateParticipants(const WhisperMessage &message)
TokenizationOptions mTokenizationOptions
Definition: chatuserthread.h:157
bool GetFailedSend() const
Definition: chatuserthread.h:90
void SetTokenizationOptions(const TokenizationOptions &tokenizationOptions)
Definition: chatuserthread.h:84
Definition: chattypes.h:126
Definition: chattypes.h:343
Definition: chattypes.h:41
virtual std::string GetLoggerName() const override
TTV_ErrorCode FetchMessages(MessageId start, uint32_t beforeCount, const FetchMessagesCallback &callback)
bool mLastMessageUpdated
Definition: chatuserthread.h:162
TTV_ErrorCode SetMuted(bool muted, const SetMutedCallback &callback)
bool mFailedSend
Definition: chatuserthread.h:166
virtual void OnUnreadMessageWindowChanged(ChatUserThread *source, MessageId lastMessageId, MessageId lastReadMessageId)=0
bool GetLocalParticipant(ChatUserInfo &userInfo) const
virtual void OnRealtimeMessageReceived(ChatUserThread *source, const WhisperMessage &messageList)=0
MessageId mLastReadMessageId
Definition: chatuserthread.h:153
std::shared_ptr< WhisperMessage > mLastMessage
Definition: chatuserthread.h:146