Privatize SharedRequestBase::source
This commit is contained in:
@@ -62,7 +62,7 @@ AssetRequestImpl::AssetRequestImpl(AssetRequest *request_, uv_loop_t *loop) : re
|
||||
path = url.substr(8);
|
||||
} else {
|
||||
// This is a relative path. Prefix with the application root.
|
||||
path = request->source.assetRoot + "/" + url.substr(8);
|
||||
path = request->assetRoot + "/" + url.substr(8);
|
||||
}
|
||||
|
||||
uv_fs_open(loop, &req, path.c_str(), O_RDONLY, S_IRUSR, fileOpened);
|
||||
@@ -207,8 +207,9 @@ void AssetRequestImpl::cleanup(uv_fs_t *req) {
|
||||
|
||||
// -------------------------------------------------------------------------------------------------
|
||||
|
||||
AssetRequest::AssetRequest(DefaultFileSource::Impl &source_, const Resource &resource_)
|
||||
: SharedRequestBase(source_, resource_) {
|
||||
AssetRequest::AssetRequest(DefaultFileSource::Impl &source_, const Resource &resource_, const std::string& assetRoot_)
|
||||
: SharedRequestBase(source_, resource_)
|
||||
, assetRoot(assetRoot_) {
|
||||
assert(algo::starts_with(resource.url, "asset://"));
|
||||
}
|
||||
|
||||
|
||||
@@ -114,7 +114,7 @@ AssetRequestImpl::~AssetRequestImpl() {
|
||||
AssetRequestImpl::AssetRequestImpl(AssetRequest *request_, uv_loop_t *loop)
|
||||
: context(*AssetZipContext::Get(loop)),
|
||||
request(request_),
|
||||
root(request->source.assetRoot),
|
||||
root(request->assetRoot),
|
||||
path(std::string { "assets/" } + request->resource.url.substr(8)) {
|
||||
auto zip = context.getHandle(root);
|
||||
if (zip) {
|
||||
@@ -274,8 +274,9 @@ void AssetRequestImpl::cancel() {
|
||||
|
||||
// -------------------------------------------------------------------------------------------------
|
||||
|
||||
AssetRequest::AssetRequest(DefaultFileSource::Impl &source_, const Resource &resource_)
|
||||
: SharedRequestBase(source_, resource_) {
|
||||
AssetRequest::AssetRequest(DefaultFileSource::Impl &source_, const Resource &resource_, const std::string& assetRoot_)
|
||||
: SharedRequestBase(source_, resource_)
|
||||
, assetRoot(assetRoot_) {
|
||||
assert(algo::starts_with(resource.url, "asset://"));
|
||||
}
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ namespace mbgl {
|
||||
|
||||
class AssetRequest : public SharedRequestBase {
|
||||
public:
|
||||
AssetRequest(DefaultFileSource::Impl &source, const Resource &resource);
|
||||
AssetRequest(DefaultFileSource::Impl&, const Resource&, const std::string& assetRoot);
|
||||
|
||||
void start(uv_loop_t *loop, std::shared_ptr<const Response> response = nullptr);
|
||||
void cancel();
|
||||
@@ -15,6 +15,7 @@ public:
|
||||
private:
|
||||
~AssetRequest();
|
||||
void *ptr = nullptr;
|
||||
const std::string& assetRoot;
|
||||
|
||||
friend class AssetRequestImpl;
|
||||
};
|
||||
|
||||
@@ -89,7 +89,7 @@ void DefaultFileSource::Impl::add(Request* req, uv_loop_t* loop) {
|
||||
if (!sharedRequest) {
|
||||
// There is no request for this URL yet. Create a new one and start it.
|
||||
if (algo::starts_with(resource.url, "asset://")) {
|
||||
sharedRequest = new AssetRequest(*this, resource);
|
||||
sharedRequest = new AssetRequest(*this, resource, assetRoot);
|
||||
} else {
|
||||
sharedRequest = new HTTPRequest(*this, resource);
|
||||
}
|
||||
|
||||
@@ -85,10 +85,8 @@ protected:
|
||||
public:
|
||||
const Resource resource;
|
||||
|
||||
protected:
|
||||
DefaultFileSource::Impl &source;
|
||||
|
||||
private:
|
||||
DefaultFileSource::Impl& source;
|
||||
std::set<Request *> observers;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user