Twitch SDK (Internal)
metadatatask.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  namespace broadcast
17  {
18  class MetaDataTask;
19  }
20 }
21 
22 
24 {
25 public:
26  enum class EventClass
27  {
28  Action,
29  Start,
30  End,
31  };
32 
33  struct Result
34  {
35  };
36 
37  typedef std::function<void(MetaDataTask* source, TTV_ErrorCode ec, const std::shared_ptr<Result>& result)> Callback;
38 
39 public:
40  MetaDataTask(const std::string& authToken,
41  uint64_t streamId,
42  EventClass eventClass,
43  const std::string& name,
44  int64_t streamTime,
45  unsigned long sequenceNumber,
46  const std::string& humanDescription,
47  json::Value&& metaData,
48  Callback callback);
49 
50  virtual void OnComplete() override;
51  virtual const char* GetTaskName() const override { return "MetaDataTask"; }
52 
53 protected:
54  virtual void FillHttpRequestInfo(HttpRequestInfo& requestInfo) override;
55 
56 private:
57  std::shared_ptr<Result> mResult;
59 
60  uint64_t mStreamId;
62  std::string mName;
63  int64_t mStreamTime;
64  unsigned long mSequenceNumber;
65  std::string mHumanDescription;
67 };
MetaDataTask(const std::string &authToken, uint64_t streamId, EventClass eventClass, const std::string &name, int64_t streamTime, unsigned long sequenceNumber, const std::string &humanDescription, json::Value &&metaData, Callback callback)
Definition: metadatatask.h:23
EventClass
Definition: metadatatask.h:26
unsigned long mSequenceNumber
Definition: metadatatask.h:64
std::function< void(MetaDataTask *source, TTV_ErrorCode ec, const std::shared_ptr< Result > &result)> Callback
Definition: metadatatask.h:37
EventClass mEventClass
Definition: metadatatask.h:61
Definition: httptask.h:19
Definition: metadatatask.h:33
virtual void OnComplete() override
virtual const char * GetTaskName() const override
Definition: metadatatask.h:51
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
std::shared_ptr< Result > mResult
Definition: metadatatask.h:57
Represents a JSON value.
Definition: value.h:114
json::Value mMetaData
Definition: metadatatask.h:66
uint64_t mStreamId
Definition: metadatatask.h:60
std::string mName
Definition: metadatatask.h:62
std::string mHumanDescription
Definition: metadatatask.h:65
Callback mCallback
Definition: metadatatask.h:58
int64_t mStreamTime
Definition: metadatatask.h:63
virtual void FillHttpRequestInfo(HttpRequestInfo &requestInfo) override
Definition: httptask.h:22