Twitch SDK (Internal)
socialupdatefriendtask.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 SocialUpdateFriendTask;
20  }
21 }
22 
24 {
25 public:
26  enum class Action
27  {
32  GetStatus
33  };
34 
35  struct Result
36  {
37  Result();
38 
41  };
42 
43  typedef std::function<void(SocialUpdateFriendTask* source, TTV_ErrorCode ec, const std::shared_ptr<Result>& result)> Callback;
44 
45 public:
46  SocialUpdateFriendTask(UserId userId, const std::string& authToken, UserId friendUserId, Action action, Callback callback);
47 
48 protected:
49  virtual const char* GetTaskName() const { return "SocialUpdateFriendTask"; }
50 
51  virtual void FillHttpRequestInfo(HttpRequestInfo& requestInfo);
52  virtual bool ProcessHeaders(uint statusCode, const std::map<std::string, std::string>& headers);
53  virtual void ProcessResponse(uint statusCode, const std::vector<char>& response);
54  virtual void OnComplete();
55 
56 private:
57  std::shared_ptr<Result> mResult;
62 };
uint32_t UserId
Definition: coretypes.h:22
virtual bool ProcessHeaders(uint statusCode, const std::map< std::string, std::string > &headers)
Definition: socialupdatefriendtask.h:35
Definition: httptask.h:19
Action mAction
Definition: socialupdatefriendtask.h:61
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
SocialUpdateFriendTask(UserId userId, const std::string &authToken, UserId friendUserId, Action action, Callback callback)
Action
Definition: socialupdatefriendtask.h:26
std::shared_ptr< Result > mResult
Definition: socialupdatefriendtask.h:57
UserId mUserId
Definition: socialupdatefriendtask.h:59
std::function< void(SocialUpdateFriendTask *source, TTV_ErrorCode ec, const std::shared_ptr< Result > &result)> Callback
Definition: socialupdatefriendtask.h:43
FriendStatus
Definition: socialtypes.h:292
virtual void FillHttpRequestInfo(HttpRequestInfo &requestInfo)
unsigned int uint
Definition: coretypes.h:18
UpdateFriendResult result
Definition: socialupdatefriendtask.h:39
UserId mFriendUserId
Definition: socialupdatefriendtask.h:60
Callback mCallback
Definition: socialupdatefriendtask.h:58
virtual const char * GetTaskName() const
Definition: socialupdatefriendtask.h:49
virtual void ProcessResponse(uint statusCode, const std::vector< char > &response)
UpdateFriendResult
Definition: socialtypes.h:225
FriendStatus status
Definition: socialupdatefriendtask.h:40
Definition: socialupdatefriendtask.h:23
Definition: httptask.h:22