From 320ae2c5255401fa7237307f59064d49b27282a4 Mon Sep 17 00:00:00 2001 From: MikalaiR Date: Thu, 7 Jul 2016 11:44:27 +0000 Subject: SkypeWeb: status messages support git-svn-id: http://svn.miranda-ng.org/main/trunk@17075 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/SkypeWeb/src/skype_request.cpp | 38 +++++--------------------------- 1 file changed, 6 insertions(+), 32 deletions(-) (limited to 'protocols/SkypeWeb/src/skype_request.cpp') diff --git a/protocols/SkypeWeb/src/skype_request.cpp b/protocols/SkypeWeb/src/skype_request.cpp index 4ba0fbd43a..9322ef8451 100644 --- a/protocols/SkypeWeb/src/skype_request.cpp +++ b/protocols/SkypeWeb/src/skype_request.cpp @@ -17,35 +17,9 @@ along with this program. If not, see . #include "stdafx.h" -class SkypeResponseDelegate +void SkypeHttpResponse(const NETLIBHTTPREQUEST *response, void *arg) { -private: - CSkypeProto *proto; - SkypeResponseCallback responseCallback; - SkypeResponseWithArgCallback responseWithArgCallback; - - void *arg; - bool hasArg; - -public: - SkypeResponseDelegate(CSkypeProto *proto, SkypeResponseCallback responseCallback) - : proto(proto), responseCallback(responseCallback), responseWithArgCallback(NULL), arg(NULL), hasArg(false) {} - - SkypeResponseDelegate(CSkypeProto *proto, SkypeResponseWithArgCallback responseCallback, void *arg) - : proto(proto), responseCallback(NULL), responseWithArgCallback(responseCallback), arg(arg), hasArg(true) { } - - void Invoke(const NETLIBHTTPREQUEST *response) - { - if (hasArg) - (proto->*(responseWithArgCallback))(response, arg); - else - (proto->*(responseCallback))(response); - } -}; - -static void SkypeHttpResponse(const NETLIBHTTPREQUEST *response, void *arg) -{ - SkypeResponseDelegate *delegate = (SkypeResponseDelegate*)arg; + SkypeResponseDelegateBase *delegate = (SkypeResponseDelegateBase*)arg; delegate->Invoke(response); delete delegate; } @@ -57,13 +31,13 @@ void CSkypeProto::PushRequest(HttpRequest *request) void CSkypeProto::PushRequest(HttpRequest *request, SkypeResponseCallback response) { - SkypeResponseDelegate *delegate = new SkypeResponseDelegate(this, response); + SkypeResponseDelegateBase *delegate = new SkypeResponseDelegate(this, response); requestQueue->Push(request, SkypeHttpResponse, delegate); } void CSkypeProto::PushRequest(HttpRequest *request, SkypeResponseWithArgCallback response, void *arg) { - SkypeResponseDelegate *delegate = new SkypeResponseDelegate(this, response, arg); + SkypeResponseDelegateBase *delegate = new SkypeResponseDelegateWithArg(this, response, arg); requestQueue->Push(request, SkypeHttpResponse, delegate); } @@ -74,12 +48,12 @@ void CSkypeProto::SendRequest(HttpRequest *request) void CSkypeProto::SendRequest(HttpRequest *request, SkypeResponseCallback response) { - SkypeResponseDelegate *delegate = new SkypeResponseDelegate(this, response); + SkypeResponseDelegateBase *delegate = new SkypeResponseDelegate(this, response); requestQueue->Send(request, SkypeHttpResponse, delegate); } void CSkypeProto::SendRequest(HttpRequest *request, SkypeResponseWithArgCallback response, void *arg) { - SkypeResponseDelegate *delegate = new SkypeResponseDelegate(this, response, arg); + SkypeResponseDelegateBase *delegate = new SkypeResponseDelegateWithArg(this, response, arg); requestQueue->Send(request, SkypeHttpResponse, delegate); } \ No newline at end of file -- cgit v1.2.3