diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2014-08-12 11:54:11 +0200 |
---|---|---|
committer | Konstantin Käfer <mail@kkaefer.com> | 2014-08-12 11:54:11 +0200 |
commit | 919947e6c7e1e414e9c9f462d1bf3769db73ecf1 (patch) | |
tree | e818438dcf2fc38d69f438faef055b13d911a0d0 /common | |
parent | 6f802642917136eb29d385d31d1817a98b562bbe (diff) | |
download | qtlocation-mapboxgl-919947e6c7e1e414e9c9f462d1bf3769db73ecf1.tar.gz |
remove uv.h dependency in darwin-specific code
Diffstat (limited to 'common')
-rw-r--r-- | common/foundation_request.mm | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/common/foundation_request.mm b/common/foundation_request.mm index 4684ff55fb..b7eafdb96c 100644 --- a/common/foundation_request.mm +++ b/common/foundation_request.mm @@ -12,28 +12,15 @@ #include <mbgl/platform/request.hpp> #include <mbgl/platform/platform.hpp> #include <mbgl/util/std.hpp> -#include <uv.h> +#include <mbgl/util/uv.hpp> -uv_once_t request_initialize = UV_ONCE_INIT; +dispatch_once_t request_initialize = 0; NSURLSession *session = nullptr; #if TARGET_OS_IPHONE std::atomic<int> active_tasks; #endif -void request_initialize_cb() { - NSURLSessionConfiguration *sessionConfig = - [NSURLSessionConfiguration defaultSessionConfiguration]; - sessionConfig.timeoutIntervalForResource = 30; - sessionConfig.HTTPMaximumConnectionsPerHost = 8; - sessionConfig.requestCachePolicy = NSURLRequestUseProtocolCachePolicy; - - session = [NSURLSession sessionWithConfiguration:sessionConfig]; - -#if TARGET_OS_IPHONE - active_tasks = 0; -#endif -} // We're using a child class to make sure ARC is working correctly, as well as to add activity // indicators on iOS. @@ -69,7 +56,19 @@ std::shared_ptr<mbgl::platform::Request> mbgl::platform::request_http(const std::string &url, std::function<void(Response *)> callback, std::shared_ptr<uv::loop> loop) { - uv_once(&request_initialize, request_initialize_cb); + dispatch_once(&request_initialize, ^{ + NSURLSessionConfiguration *sessionConfig = + [NSURLSessionConfiguration defaultSessionConfiguration]; + sessionConfig.timeoutIntervalForResource = 30; + sessionConfig.HTTPMaximumConnectionsPerHost = 8; + sessionConfig.requestCachePolicy = NSURLRequestUseProtocolCachePolicy; + + session = [NSURLSession sessionWithConfiguration:sessionConfig]; + +#if TARGET_OS_IPHONE + active_tasks = 0; +#endif + }); std::shared_ptr<FoundationRequest> req = std::make_shared<FoundationRequest>(url, callback, loop); |