Twitch SDK (Internal)
chatraidtask.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 
14 
15 #include <map>
16 
17 namespace ttv
18 {
19  namespace chat
20  {
21  class ChatRaidTask;
22  }
23 }
24 
25 
27 {
28 public:
29  enum class ChangeType
30  {
31  Join,
32  Leave,
33  Start,
34  Cancel,
35  Invalid
36  };
37 
38  using Callback = std::function<void(ChatRaidTask* source, TTV_ErrorCode result)>;
39 
40 public:
41  ChatRaidTask(UserId sourceUserId, const std::string& authToken, Callback&& callback);
42 
43  void Join(const std::string& raidId);
44  void Leave(const std::string& raidId);
45  void Start(UserId targetUserId);
46  void Cancel(UserId targetUserId);
47 
48 protected:
49  virtual const char* GetTaskName() const override { return "ChatRaidTask"; }
50 
51  virtual void FillHttpRequestInfo(HttpRequestInfo& requestInfo) override;
52  virtual void ProcessResponse(uint statusCode, const std::vector<char>& response) override;
53  virtual void OnComplete() override;
54 
55 private:
57  std::string mRaidId;
62 };
virtual void OnComplete() override
uint32_t UserId
Definition: coretypes.h:22
std::function< void(ChatRaidTask *source, TTV_ErrorCode result)> Callback
Definition: chatraidtask.h:38
ChatRaidTask(UserId sourceUserId, const std::string &authToken, Callback &&callback)
Definition: chatraidtask.h:26
virtual void FillHttpRequestInfo(HttpRequestInfo &requestInfo) override
ChangeType mChangeType
Definition: chatraidtask.h:61
Definition: httptask.h:19
Definition: chattypes.h:853
UserId mSourceUserId
Definition: chatraidtask.h:58
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
ChangeType
Definition: chatraidtask.h:29
UserId mTargetUserId
Definition: chatraidtask.h:59
virtual void ProcessResponse(uint statusCode, const std::vector< char > &response) override
unsigned int uint
Definition: coretypes.h:18
std::string mRaidId
Definition: chatraidtask.h:57
Callback mCallback
Definition: chatraidtask.h:56
virtual const char * GetTaskName() const override
Definition: chatraidtask.h:49
Definition: httptask.h:22
RaidStatus mResult
Definition: chatraidtask.h:60