Twitch SDK (Internal)
simplejsonhttptask.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 
13 
14 namespace ttv
15 {
16  class SimpleJsonHttpTask;
17 }
18 
19 
21 {
22 public:
23  struct Result
24  {
26  };
27 
28  typedef std::function<void(SimpleJsonHttpTask* source, TTV_ErrorCode ec, std::shared_ptr<Result> result)> Callback;
29 
30 public:
31  SimpleJsonHttpTask(const std::string& url, HttpRequestType method, const std::string& oauthToken, Callback callback);
32 
33  void SetNumRetries(uint numRetries) { mNumRetries = numRetries; }
34 
35  virtual void OnComplete() override;
36  virtual const char* GetTaskName() const override { return "SimpleJsonHttpTask"; }
37 
38 protected:
39  virtual void FillHttpRequestInfo(HttpRequestInfo& requestInfo) override;
40  virtual void ProcessResponse(uint statusCode, const std::vector<char>& response) override;
41 
42 private:
43  std::shared_ptr<Result> mResult;
44  std::string mUrl;
48 };
virtual const char * GetTaskName() const override
Definition: simplejsonhttptask.h:36
HttpRequestType
Definition: httprequest.h:25
HttpRequestType mMethod
Definition: simplejsonhttptask.h:45
std::shared_ptr< Result > mResult
Definition: simplejsonhttptask.h:43
virtual void FillHttpRequestInfo(HttpRequestInfo &requestInfo) override
Definition: httptask.h:19
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
Represents a JSON value.
Definition: value.h:114
Definition: simplejsonhttptask.h:23
virtual void ProcessResponse(uint statusCode, const std::vector< char > &response) override
std::function< void(SimpleJsonHttpTask *source, TTV_ErrorCode ec, std::shared_ptr< Result > result)> Callback
Definition: simplejsonhttptask.h:28
Callback mCallback
Definition: simplejsonhttptask.h:47
virtual void OnComplete() override
json::Value json
Definition: simplejsonhttptask.h:25
unsigned int uint
Definition: coretypes.h:18
void SetNumRetries(uint numRetries)
Definition: simplejsonhttptask.h:33
uint mNumRetries
Definition: simplejsonhttptask.h:46
std::string mUrl
Definition: simplejsonhttptask.h:44
Definition: simplejsonhttptask.h:20
Definition: httptask.h:22
SimpleJsonHttpTask(const std::string &url, HttpRequestType method, const std::string &oauthToken, Callback callback)