Twitch SDK (Internal)
chatroomupdateinfotask.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 namespace ttv
16 {
17  namespace chat
18  {
19  class ChatRoomUpdateInfoTask;
20  }
21 }
22 
24 {
25 public:
26  using Callback = std::function<void(ChatRoomUpdateInfoTask* source, TTV_ErrorCode ec, UpdateRoomError error, ChatRoomInfo&& info)>;
27 
28  ChatRoomUpdateInfoTask(const std::string& roomId, const std::string& authToken, Callback&& callback);
29 
30  void SetName(const std::string& name);
31  void SetTopic(const std::string& topic);
32  void SetRoomRole(RoomRole role);
33  void SetIsPreviewable(bool isPreviewable);
34 
35  virtual void OnComplete() override;
36 
37 protected:
38  virtual const char* GetTaskName() const override { return "ChatRoomUpdateInfoTask"; }
39 
40  virtual void FillHttpRequestInfo(HttpRequestInfo& requestInfo) override;
41  virtual void ProcessResponse(uint statusCode, const std::vector<char>& response) override;
42 
43 private:
47  std::string mRoomId;
48  std::string mInput;
49  std::string mRoomName;
50  std::string mRoomTopic;
53 };
void SetTopic(const std::string &topic)
RoomRole
Definition: chattypes.h:775
std::string mRoomTopic
Definition: chatroomupdateinfotask.h:50
void SetRoomRole(RoomRole role)
ChatRoomInfo mResult
Definition: chatroomupdateinfotask.h:45
Definition: httptask.h:19
virtual void FillHttpRequestInfo(HttpRequestInfo &requestInfo) override
virtual void OnComplete() override
Callback mCallback
Definition: chatroomupdateinfotask.h:44
virtual const char * GetTaskName() const override
Definition: chatroomupdateinfotask.h:38
Definition: chatroomupdateinfotask.h:23
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
ChatRoomUpdateInfoTask(const std::string &roomId, const std::string &authToken, Callback &&callback)
std::function< void(ChatRoomUpdateInfoTask *source, TTV_ErrorCode ec, UpdateRoomError error, ChatRoomInfo &&info)> Callback
Definition: chatroomupdateinfotask.h:26
std::string mInput
Definition: chatroomupdateinfotask.h:48
RoomRole mRoomRole
Definition: chatroomupdateinfotask.h:51
void SetIsPreviewable(bool isPreviewable)
void SetName(const std::string &name)
UpdateRoomError mError
Definition: chatroomupdateinfotask.h:46
unsigned int uint
Definition: coretypes.h:18
std::string mRoomName
Definition: chatroomupdateinfotask.h:49
virtual void ProcessResponse(uint statusCode, const std::vector< char > &response) override
Definition: chaterrortypes.h:144
bool mRoomIsPreviewable
Definition: chatroomupdateinfotask.h:52
std::string mRoomId
Definition: chatroomupdateinfotask.h:47
Definition: chattypes.h:816
Definition: httptask.h:22