Twitch SDK (Internal)
chatupdateuserthreadtask.h
Go to the documentation of this file.
1 /********************************************************************************************
2 * Twitch Broadcasting SDK
3 *
4 * This software is supplied under the terms of a license agreement with Twitch Interactive, Inc. and
5 * may not be copied or used except in accordance with the terms of that agreement
6 * Copyright (c) 2012-2016 Twitch Interactive, Inc.
7 *********************************************************************************************/
8 
9 #pragma once
10 
15 #include <map>
16 
17 namespace ttv
18 {
19  namespace chat
20  {
21  class ChatUpdateUserThreadTask;
22  }
23 }
24 
26 {
27 public:
28  struct Result
29  {
31  };
32 
33  typedef std::function<void(ChatUpdateUserThreadTask* source, TTV_ErrorCode ec, std::shared_ptr<Result> result)> Callback;
34 
35 public:
36  ChatUpdateUserThreadTask(const std::string& username, const std::string& authToken, const std::string& threadId, const TokenizationOptions& tokenizationOptions, const std::shared_ptr<BitsConfiguration>& bitsConfiguration, Callback callback);
37 
38  void SetLastRead(MessageId lastReadMessageId);
39  void SetMuted(bool muted);
40  void SetArchived(bool archived);
41 
42  // Stores the local user's names for properly parsing mentions
43  void SetLocalUserNames(const std::vector<std::string>& localUserNames) { mLocalUserNames = localUserNames; }
44 
45 protected:
46  virtual const char* GetTaskName() const override { return "ChatUpdateUserThreadTask"; }
47 
48  virtual void FillHttpRequestInfo(HttpRequestInfo& requestInfo) override;
49  virtual void ResponseCallback(uint statusCode, const std::vector<char>& response, void* userData) override;
50  virtual void ProcessResponse(const std::vector<char>& response) override;
51  virtual void OnComplete() override;
52 
53 private:
54  std::shared_ptr<BitsConfiguration> mBitsConfiguration;
55  std::shared_ptr<Result> mResult;
56  std::vector<std::string> mLocalUserNames;
58  std::string mUserName;
59  std::string mThreadId;
62  bool mMuted;
63  bool mArchived;
64 
68 };
virtual const char * GetTaskName() const override
Definition: chatupdateuserthreadtask.h:46
Callback mCallback
Definition: chatupdateuserthreadtask.h:57
Definition: chattypes.h:528
TokenizationOptions mTokenizationOptions
Definition: chatupdateuserthreadtask.h:61
std::string mThreadId
Definition: chatupdateuserthreadtask.h:59
std::function< void(ChatUpdateUserThreadTask *source, TTV_ErrorCode ec, std::shared_ptr< Result > result)> Callback
Definition: chatupdateuserthreadtask.h:33
bool mUpdateLastRead
Definition: chatupdateuserthreadtask.h:65
uint32_t MessageId
Definition: chattypes.h:26
std::shared_ptr< Result > mResult
Definition: chatupdateuserthreadtask.h:55
MessageId mLastReadMessageId
Definition: chatupdateuserthreadtask.h:60
bool mUpdateArchived
Definition: chatupdateuserthreadtask.h:67
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
Definition: chatupdateuserthreadtask.h:25
bool mMuted
Definition: chatupdateuserthreadtask.h:62
Definition: chatapitask.h:26
void SetLastRead(MessageId lastReadMessageId)
Definition: chatupdateuserthreadtask.h:28
bool mUpdateMuted
Definition: chatupdateuserthreadtask.h:66
virtual void OnComplete() override
void SetLocalUserNames(const std::vector< std::string > &localUserNames)
Definition: chatupdateuserthreadtask.h:43
unsigned int uint
Definition: coretypes.h:18
virtual void FillHttpRequestInfo(HttpRequestInfo &requestInfo) override
std::string mUserName
Definition: chatupdateuserthreadtask.h:58
ChatUpdateUserThreadTask(const std::string &username, const std::string &authToken, const std::string &threadId, const TokenizationOptions &tokenizationOptions, const std::shared_ptr< BitsConfiguration > &bitsConfiguration, Callback callback)
virtual void ResponseCallback(uint statusCode, const std::vector< char > &response, void *userData) override
std::vector< std::string > mLocalUserNames
Definition: chatupdateuserthreadtask.h:56
Definition: chattypes.h:41
ThreadData threadData
Definition: chatupdateuserthreadtask.h:30
virtual void ProcessResponse(const std::vector< char > &response) override
std::shared_ptr< BitsConfiguration > mBitsConfiguration
Definition: chatupdateuserthreadtask.h:54
Definition: chatapitask.h:23
bool mArchived
Definition: chatupdateuserthreadtask.h:63