Twitch SDK (Internal)
chatchanneluserstask.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 ChatChannelUsersTask;
22  }
23 }
24 
26 {
27 public:
28  struct Result
29  {
30  Result();
31 
34  };
35 
36  typedef std::function<void(ChatChannelUsersTask* source, TTV_ErrorCode ec, std::shared_ptr<Result> result)> Callback;
37 
38  ChatChannelUsersTask(const std::string& channelName, Callback callback);
39 
40  virtual void OnComplete() override;
41 
42 protected:
43  virtual const char* GetTaskName() const override { return "ChatChannelUsersTask"; }
44 
45  virtual void FillHttpRequestInfo(HttpRequestInfo& requestInfo) override;
46  virtual bool ProcessHeaders(uint statusCode, const std::map<std::string, std::string>& headers) override;
47  virtual void ProcessResponse(uint statusCode, const std::vector<char>& response) override;
48 
49 private:
50  void ParseUserList(ttv::json::Value jGroup, std::vector<std::string>& users);
51 
52 private:
53  std::shared_ptr<Result> mResult;
55  std::string mChannelName;
56 };
std::string mChannelName
Definition: chatchanneluserstask.h:55
Definition: chattypes.h:758
virtual void ProcessResponse(uint statusCode, const std::vector< char > &response) override
Definition: httptask.h:19
Definition: chatchanneluserstask.h:25
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
virtual void FillHttpRequestInfo(HttpRequestInfo &requestInfo) override
UserList users
Definition: chatchanneluserstask.h:32
Represents a JSON value.
Definition: value.h:114
std::shared_ptr< Result > mResult
Definition: chatchanneluserstask.h:53
void ParseUserList(ttv::json::Value jGroup, std::vector< std::string > &users)
ChatChannelUsersTask(const std::string &channelName, Callback callback)
virtual bool ProcessHeaders(uint statusCode, const std::map< std::string, std::string > &headers) override
Callback mCallback
Definition: chatchanneluserstask.h:54
unsigned int uint
Definition: coretypes.h:18
virtual const char * GetTaskName() const override
Definition: chatchanneluserstask.h:43
uint32_t cacheControlMaxAgeSeconds
Definition: chatchanneluserstask.h:33
virtual void OnComplete() override
Definition: chatchanneluserstask.h:28
Definition: httptask.h:22
std::function< void(ChatChannelUsersTask *source, TTV_ErrorCode ec, std::shared_ptr< Result > result)> Callback
Definition: chatchanneluserstask.h:36