Twitch SDK (Internal)
socialgetfriendspresencetask.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 
14 
15 namespace ttv
16 {
17  namespace social
18  {
19  class SocialGetFriendsPresenceTask;
20  }
21 }
22 
24 {
25 public:
26  static const uint32_t kMaxLimit = 500;
27 
29  {
32  };
33 
34  struct Result
35  {
36  std::vector<PresenceEntry> presenceList;
37  };
38 
39  typedef std::function<void(SocialGetFriendsPresenceTask* source, TTV_ErrorCode ec, const std::shared_ptr<Result>& result)> Callback;
40 
41 public:
42  SocialGetFriendsPresenceTask(UserId userId, const std::string& authToken, Callback callback);
43 
44 protected:
45  virtual const char* GetTaskName() const { return "SocialGetFriendsPresenceTask"; }
46 
47  virtual void FillHttpRequestInfo(HttpRequestInfo& requestInfo);
48  virtual bool ProcessHeaders(uint statusCode, const std::map<std::string, std::string>& headers);
49  virtual void ProcessResponse(uint statusCode, const std::vector<char>& response);
50  virtual void OnComplete();
51 
52 private:
53  std::shared_ptr<Result> mResult;
56 };
uint32_t UserId
Definition: coretypes.h:22
Definition: socialgetfriendspresencetask.h:34
std::function< void(SocialGetFriendsPresenceTask *source, TTV_ErrorCode ec, const std::shared_ptr< Result > &result)> Callback
Definition: socialgetfriendspresencetask.h:39
Definition: httptask.h:19
Definition: socialtypes.h:334
UserId mUserId
Definition: socialgetfriendspresencetask.h:55
virtual const char * GetTaskName() const
Definition: socialgetfriendspresencetask.h:45
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
Definition: socialgetfriendspresencetask.h:28
Friend friendData
Definition: socialgetfriendspresencetask.h:30
unsigned int uint
Definition: coretypes.h:18
std::vector< PresenceEntry > presenceList
Definition: socialgetfriendspresencetask.h:36
Callback mCallback
Definition: socialgetfriendspresencetask.h:54
Definition: socialgetfriendspresencetask.h:23
virtual void ProcessResponse(uint statusCode, const std::vector< char > &response)
virtual bool ProcessHeaders(uint statusCode, const std::map< std::string, std::string > &headers)
virtual void FillHttpRequestInfo(HttpRequestInfo &requestInfo)
SocialGetFriendsPresenceTask(UserId userId, const std::string &authToken, Callback callback)
uint64_t presenceUpdateIndex
Definition: socialgetfriendspresencetask.h:31
std::shared_ptr< Result > mResult
Definition: socialgetfriendspresencetask.h:53
Definition: httptask.h:22
static const uint32_t kMaxLimit
Definition: socialgetfriendspresencetask.h:26