Twitch SDK (Internal)
getprofileimageurltask.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-2017 Twitch Interactive, Inc.
7  *********************************************************************************************/
8 
9 #pragma once
10 
12 
13 namespace ttv
14 {
15  class GetProfileImageUrlTask;
16 }
17 
19 {
20 public:
21  struct Result
22  {
23  std::string uploadId; // The uploadId of the profile image upload.
24  std::string uploadUrl; // The URL to upload the profile image.
25  };
26 
27  typedef std::function<void(GetProfileImageUrlTask* source, TTV_ErrorCode ec, std::shared_ptr<Result> result)> Callback;
28 
29 public:
30  GetProfileImageUrlTask(UserId userId, const std::string& oauthToken, Callback callback);
31 
32 protected:
33  virtual const char* GetTaskName() const override { return "GetProfileImageUrlTask"; }
34 
35  virtual void FillHttpRequestInfo(HttpRequestInfo& requestInfo) override;
36  virtual void ProcessResponse(uint statusCode, const std::vector<char>& response) override;
37  virtual void OnComplete() override;
38 
39 private:
40  std::shared_ptr<Result> mResult;
42  std::string mUploadUrl;
44 };
uint32_t UserId
Definition: coretypes.h:22
virtual void ProcessResponse(uint statusCode, const std::vector< char > &response) override
UserId mUserId
Definition: getprofileimageurltask.h:43
std::function< void(GetProfileImageUrlTask *source, TTV_ErrorCode ec, std::shared_ptr< Result > result)> Callback
Definition: getprofileimageurltask.h:27
std::string uploadId
Definition: getprofileimageurltask.h:23
Definition: httptask.h:19
Definition: getprofileimageurltask.h:21
virtual const char * GetTaskName() const override
Definition: getprofileimageurltask.h:33
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
std::shared_ptr< Result > mResult
Definition: getprofileimageurltask.h:40
Callback mCallback
Definition: getprofileimageurltask.h:41
virtual void FillHttpRequestInfo(HttpRequestInfo &requestInfo) override
virtual void OnComplete() override
Definition: getprofileimageurltask.h:18
std::string mUploadUrl
Definition: getprofileimageurltask.h:42
unsigned int uint
Definition: coretypes.h:18
GetProfileImageUrlTask(UserId userId, const std::string &oauthToken, Callback callback)
Definition: httptask.h:22
std::string uploadUrl
Definition: getprofileimageurltask.h:24