summaryrefslogtreecommitdiff
path: root/src/mbgl
diff options
context:
space:
mode:
authorBruno de Oliveira Abinader <bruno@mapbox.com>2015-07-28 12:10:35 +0300
committerBruno de Oliveira Abinader <bruno@mapbox.com>2015-07-28 19:27:13 +0300
commit590d9ab95c4ed97b060a1140597b78d95aa7b770 (patch)
treebc23cf6a63215e44cfc64a832fe63091b8ba348f /src/mbgl
parent785b34df2e064b54006617322464a634bb5cd124 (diff)
downloadqtlocation-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.cpp4
-rw-r--r--src/mbgl/storage/http_context.hpp9
-rw-r--r--src/mbgl/storage/http_request_base.hpp18
-rw-r--r--src/mbgl/storage/request_base.hpp9
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