Twitch SDK (Internal)
getstreamtask.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 GetStreamTask;
17 }
18 
19 
21 {
22 public:
23  struct Result
24  {
25  std::unique_ptr<StreamInfo> streamInfo;
26  };
27 
28  typedef std::function<void(GetStreamTask* source, TTV_ErrorCode ec, const std::shared_ptr<Result>& result)> Callback;
29 
30 public:
31  GetStreamTask(ChannelId channelId, const std::string& oauthToken, Callback callback);
32  GetStreamTask(const std::string& channelName, const std::string& oauthToken, Callback callback);
33 
34  virtual void OnComplete() override;
35  virtual const char* GetTaskName() const override { return "GetStreamTask"; }
36 
37 protected:
38  virtual void FillHttpRequestInfo(HttpRequestInfo& requestInfo) override;
39  virtual void ProcessResponse(uint status, const std::vector<char>& response) override;
40 
41 private:
42  std::shared_ptr<Result> mResult;
44  std::string mChannelName;
46 };
std::function< void(GetStreamTask *source, TTV_ErrorCode ec, const std::shared_ptr< Result > &result)> Callback
Definition: getstreamtask.h:28
std::shared_ptr< Result > mResult
Definition: getstreamtask.h:42
Definition: httptask.h:19
std::string mChannelName
Definition: getstreamtask.h:44
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
Definition: getstreamtask.h:20
virtual void ProcessResponse(uint status, const std::vector< char > &response) override
unsigned int uint
Definition: coretypes.h:18
Definition: getstreamtask.h:23
virtual void OnComplete() override
Callback mCallback
Definition: getstreamtask.h:43
uint32_t ChannelId
Definition: coretypes.h:23
ChannelId mChannelId
Definition: getstreamtask.h:45
virtual void FillHttpRequestInfo(HttpRequestInfo &requestInfo) override
GetStreamTask(ChannelId channelId, const std::string &oauthToken, Callback callback)
virtual const char * GetTaskName() const override
Definition: getstreamtask.h:35
Definition: httptask.h:22
std::unique_ptr< StreamInfo > streamInfo
Definition: getstreamtask.h:25