diff options
author | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2015-07-28 12:10:35 +0300 |
---|---|---|
committer | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2015-07-28 19:27:13 +0300 |
commit | 590d9ab95c4ed97b060a1140597b78d95aa7b770 (patch) | |
tree | bc23cf6a63215e44cfc64a832fe63091b8ba348f /src/mbgl | |
parent | 785b34df2e064b54006617322464a634bb5cd124 (diff) | |
download | qtlocation-mapboxgl-590d9ab95c4ed97b060a1140597b78d95aa7b770.tar.gz |
Created HTTPRequestBase as base for HTTP requests
- Added HTTPRequestBase (inherits from RequestBase)
- retry() is now a pure virtual in HTTPRequestBase
- Moved cancelled bool to HTTPRequestBase
- HTTPContext now handles only HTTPRequestBase*
- Renamed HTTPNSURLRequest, HTTPCURLRequest
Diffstat (limited to 'src/mbgl')
-rw-r--r-- | src/mbgl/storage/http_context.cpp | 4 | ||||
-rw-r--r-- | src/mbgl/storage/http_context.hpp | 9 | ||||
-rw-r--r-- | src/mbgl/storage/http_request_base.hpp | 18 | ||||
-rw-r--r-- | src/mbgl/storage/request_base.hpp | 9 |
4 files changed, 29 insertions, 11 deletions
diff --git a/src/mbgl/storage/http_context.cpp b/src/mbgl/storage/http_context.cpp index c747490804..969ff94d34 100644 --- a/src/mbgl/storage/http_context.cpp +++ b/src/mbgl/storage/http_context.cpp @@ -13,11 +13,11 @@ HTTPContext::~HTTPContext() { NetworkStatus::Unsubscribe(reachability.get()); } -void HTTPContext::addRequest(RequestBase* request) { +void HTTPContext::addRequest(HTTPRequestBase* request) { requests.insert(request); } -void HTTPContext::removeRequest(RequestBase* request) { +void HTTPContext::removeRequest(HTTPRequestBase* request) { requests.erase(request); } diff --git a/src/mbgl/storage/http_context.hpp b/src/mbgl/storage/http_context.hpp index 64a8afa6dd..3d5380cdc0 100644 --- a/src/mbgl/storage/http_context.hpp +++ b/src/mbgl/storage/http_context.hpp @@ -2,6 +2,7 @@ #define MBGL_STORAGE_DEFAULT_HTTP_CONTEXT #include <mbgl/storage/request_base.hpp> +#include <mbgl/storage/http_request_base.hpp> #include <mbgl/storage/network_status.hpp> #include <mbgl/util/uv_detail.hpp> @@ -16,13 +17,13 @@ public: HTTPContext(uv_loop_t*); virtual ~HTTPContext(); - virtual RequestBase* createRequest(const Resource&, + virtual HTTPRequestBase* createRequest(const Resource&, RequestBase::Callback, uv_loop_t*, std::shared_ptr<const Response>) = 0; - void addRequest(RequestBase*); - void removeRequest(RequestBase*); + void addRequest(HTTPRequestBase*); + void removeRequest(HTTPRequestBase*); private: void retryRequests(); @@ -32,7 +33,7 @@ private: // A list of all pending HTTPRequestImpls that we need to notify when the network status // changes. - std::set<RequestBase*> requests; + std::set<HTTPRequestBase*> requests; }; } diff --git a/src/mbgl/storage/http_request_base.hpp b/src/mbgl/storage/http_request_base.hpp index 2e976a856a..508095e3c1 100644 --- a/src/mbgl/storage/http_request_base.hpp +++ b/src/mbgl/storage/http_request_base.hpp @@ -1,6 +1,8 @@ #ifndef MBGL_STORAGE_HTTP_REQUEST_BASE #define MBGL_STORAGE_HTTP_REQUEST_BASE +#include <mbgl/storage/request_base.hpp> + namespace mbgl { enum class ResponseStatus : uint8_t { @@ -31,6 +33,22 @@ enum class ResponseStatus : uint8_t { NotModified, }; +class HTTPRequestBase : public RequestBase { +public: + HTTPRequestBase(const Resource& resource_, Callback notify_) + : RequestBase(resource_, notify_) + , cancelled(false) { + } + + virtual ~HTTPRequestBase() = default; + virtual void cancel() override { cancelled = true; }; + virtual void retry(uint64_t timeout) = 0; + virtual void retry() = 0; + +protected: + bool cancelled; +}; + } // namespace mbgl #endif // MBGL_STORAGE_HTTP_REQUEST_BASE diff --git a/src/mbgl/storage/request_base.hpp b/src/mbgl/storage/request_base.hpp index c8dfad4778..a147ccacf0 100644 --- a/src/mbgl/storage/request_base.hpp +++ b/src/mbgl/storage/request_base.hpp @@ -1,5 +1,5 @@ -#ifndef MBGL_STORAGE_REQUEST -#define MBGL_STORAGE_REQUEST +#ifndef MBGL_STORAGE_REQUEST_BASE +#define MBGL_STORAGE_REQUEST_BASE #include <mbgl/util/noncopyable.hpp> #include <mbgl/storage/file_cache.hpp> @@ -23,13 +23,12 @@ public: virtual ~RequestBase() = default; virtual void cancel() = 0; - virtual void retry() {}; protected: Resource resource; Callback notify; }; -} +} // namespace mbgl -#endif +#endif // MBGL_STORAGE_REQUEST_BASE |