From 9e531e3ce7f5b3a1cc87b43beb6f72911cb41bdd Mon Sep 17 00:00:00 2001 From: Alexander Tkachev Date: Sat, 21 May 2016 23:21:42 +0600 Subject: CLOUD: Polish Callbacks Cleaned up all example code and old callbacks. New Callback classes are introduced in "common/callback.h" and documented. --- backends/networking/curl/curljsonrequest.cpp | 2 +- backends/networking/curl/curljsonrequest.h | 7 ++----- backends/networking/curl/request.h | 19 ++++--------------- 3 files changed, 7 insertions(+), 21 deletions(-) (limited to 'backends/networking') diff --git a/backends/networking/curl/curljsonrequest.cpp b/backends/networking/curl/curljsonrequest.cpp index c3064681ef..702de22f46 100644 --- a/backends/networking/curl/curljsonrequest.cpp +++ b/backends/networking/curl/curljsonrequest.cpp @@ -31,7 +31,7 @@ namespace Networking { -CurlJsonRequest::CurlJsonRequest(Common::BaseCallback* cb, const char *url) : Request(cb), _stream(0), _headersList(0), _contentsStream(DisposeAfterUse::YES) { +CurlJsonRequest::CurlJsonRequest(Common::BaseCallback<> *cb, const char *url): Request(cb), _stream(0), _headersList(0), _contentsStream(DisposeAfterUse::YES) { _url = url; } diff --git a/backends/networking/curl/curljsonrequest.h b/backends/networking/curl/curljsonrequest.h index 1098638609..50fa8183dd 100644 --- a/backends/networking/curl/curljsonrequest.h +++ b/backends/networking/curl/curljsonrequest.h @@ -25,10 +25,7 @@ #include "backends/networking/curl/request.h" #include "common/memstream.h" - -namespace Common { -class BaseCallback; -} +#include "common/json.h" struct curl_slist; @@ -47,7 +44,7 @@ class CurlJsonRequest : public Request { char *getPreparedContents(); public: - CurlJsonRequest(Common::BaseCallback *cb, const char *url); + CurlJsonRequest(Common::BaseCallback<> *cb, const char *url); virtual ~CurlJsonRequest(); virtual bool handle(); diff --git a/backends/networking/curl/request.h b/backends/networking/curl/request.h index 860784f2a7..d3efd588dc 100644 --- a/backends/networking/curl/request.h +++ b/backends/networking/curl/request.h @@ -22,30 +22,22 @@ #ifndef BACKENDS_NETWORKING_CURL_REQUEST_H #define BACKENDS_NETWORKING_CURL_REQUEST_H -#include + +#include "common/callback.h" namespace Networking { class Request { protected: - typedef void(*SimpleCallback)(Request* request, void *result); - /** * Callback, which should be called before Request returns true in handle(). * That's the way Requests pass the result to the code which asked to create this request. */ - Common::BaseCallback* _callback; - - /** - * Pointer, which could be set by Request creating code. It might be accessed - * from this Request when callback is called, for example. - */ - - void *_pointer; + Common::BaseCallback<> *_callback; public: - Request(Common::BaseCallback* cb): _callback(cb) {}; + Request(Common::BaseCallback<> *cb): _callback(cb) {}; virtual ~Request() {}; /** @@ -55,9 +47,6 @@ public: */ virtual bool handle() = 0; - - void setPointer(void *ptr) { _pointer = ptr; } - void *pointer() const { return _pointer; } }; } //end of namespace Cloud -- cgit v1.2.3