Twitch SDK (Internal)
chatgetbadgestask.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 ChatGetBadgesTask;
22  }
23 }
24 
26 {
27 public:
28  using Callback = std::function<void(ChatGetBadgesTask* source, TTV_ErrorCode ec, BadgeSet&& badges)>;
29 
30 public:
31  ChatGetBadgesTask(ChannelId channelId, Callback&& callback);
32 
33  void SetLanguage(const std::string& language);
34 
35  virtual void OnComplete() override;
36 
37 protected:
39  bool ParseBadge(const ttv::json::ValueConstIterator& jIter, Badge& badgeSet);
40 
41  virtual const char* GetTaskName() const override { return "ChatGetBadgesTask"; }
42 
43  virtual void FillHttpRequestInfo(HttpRequestInfo& requestInfo) override;
44  virtual void ProcessResponse(uint statusCode, const std::vector<char>& response) override;
45 
46 private:
50  std::string mLanguage;
51 };
Definition: chattypes.h:616
void SetLanguage(const std::string &language)
bool ParseBadgeVersion(const ttv::json::ValueConstIterator &jIter, BadgeVersion &version)
std::function< void(ChatGetBadgesTask *source, TTV_ErrorCode ec, BadgeSet &&badges)> Callback
Definition: chatgetbadgestask.h:28
Definition: httptask.h:19
Definition: chattypes.h:626
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
Callback mCallback
Definition: chatgetbadgestask.h:48
Definition: chatgetbadgestask.h:25
std::string mLanguage
Definition: chatgetbadgestask.h:50
virtual void FillHttpRequestInfo(HttpRequestInfo &requestInfo) override
unsigned int uint
Definition: coretypes.h:18
BadgeSet mResult
Definition: chatgetbadgestask.h:47
ChannelId mChannelId
Definition: chatgetbadgestask.h:49
virtual void OnComplete() override
ChatGetBadgesTask(ChannelId channelId, Callback &&callback)
Definition: chattypes.h:584
virtual void ProcessResponse(uint statusCode, const std::vector< char > &response) override
const iterator for object and array value.
Definition: value.h:954
uint32_t ChannelId
Definition: coretypes.h:23
Definition: httptask.h:22
virtual const char * GetTaskName() const override
Definition: chatgetbadgestask.h:41
bool ParseBadge(const ttv::json::ValueConstIterator &jIter, Badge &badgeSet)