Twitch SDK (Internal)
getvodtask.h
Go to the documentation of this file.
1 
2 #pragma once
3 
5 
6 namespace ttv
7 {
8  class GetVodTask;
9 }
10 
12 {
13 public:
14  struct Result
15  {
16  std::string vodId; // The unique id of the VOD.
17  std::string title; // The user-defined title of the VOD.
18  BroadcastId broadcastId; // The stream id that the VOD is sourced from.
19  ChannelId channelId; // The id of the channel to which the VOD belongs
20  VodType vodType; // The type of VOD.
21  VodStatus status; // The current status of the VOD.
22  uint32_t durationSeconds; // The length of the VOD in seconds.
23  Timestamp recordedAtSeconds; // The unix timestamp in seconds.
24  };
25 
26  typedef std::function<void(GetVodTask* source, TTV_ErrorCode ec, std::shared_ptr<Result> result)> Callback;
27 
28 public:
29  GetVodTask(const std::string& vodId, Callback callback);
30 
31 protected:
32  virtual const char* GetTaskName() const override { return "GetVodTask"; }
33 
34  virtual void FillHttpRequestInfo(HttpRequestInfo& requestInfo) override;
35  virtual void ProcessResponse(uint statusCode, const std::vector<char>& response) override;
36  virtual void OnComplete() override;
37 
38 private:
39  std::shared_ptr<Result> mResult;
41  std::string mVodId;
42 };
VodStatus status
Definition: getvodtask.h:21
virtual const char * GetTaskName() const override
Definition: getvodtask.h:32
Callback mCallback
Definition: getvodtask.h:40
VodType
Definition: coretypes.h:174
uint32_t BroadcastId
Definition: coretypes.h:29
ChannelId channelId
Definition: getvodtask.h:19
Definition: getvodtask.h:14
virtual void ProcessResponse(uint statusCode, const std::vector< char > &response) override
Timestamp recordedAtSeconds
Definition: getvodtask.h:23
std::string vodId
Definition: getvodtask.h:16
uint32_t Timestamp
Definition: coretypes.h:27
Definition: httptask.h:19
VodStatus
Definition: coretypes.h:163
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
VodType vodType
Definition: getvodtask.h:20
uint32_t durationSeconds
Definition: getvodtask.h:22
std::shared_ptr< Result > mResult
Definition: getvodtask.h:39
GetVodTask(const std::string &vodId, Callback callback)
std::function< void(GetVodTask *source, TTV_ErrorCode ec, std::shared_ptr< Result > result)> Callback
Definition: getvodtask.h:26
virtual void FillHttpRequestInfo(HttpRequestInfo &requestInfo) override
std::string title
Definition: getvodtask.h:17
BroadcastId broadcastId
Definition: getvodtask.h:18
unsigned int uint
Definition: coretypes.h:18
virtual void OnComplete() override
uint32_t ChannelId
Definition: coretypes.h:23
std::string mVodId
Definition: getvodtask.h:41
Definition: getvodtask.h:11
Definition: httptask.h:22