[core] Cache file source base URL and access token

This caches the base URL and access token values when they are set
so that they can still be retrieved even when the thread is paused.
This commit is contained in:
Jesse Bounds
2017-02-27 12:02:06 -08:00
parent c689eed273
commit e1546644b5
3 changed files with 40 additions and 4 deletions

View File

@@ -176,19 +176,21 @@ DefaultFileSource::DefaultFileSource(const std::string& cachePath,
DefaultFileSource::~DefaultFileSource() = default;
void DefaultFileSource::setAPIBaseURL(const std::string& baseURL) {
thread->invokeSync(&Impl::setAPIBaseURL, baseURL);
thread->invoke(&Impl::setAPIBaseURL, baseURL);
cachedBaseURL = baseURL;
}
std::string DefaultFileSource::getAPIBaseURL() const {
return thread->invokeSync(&Impl::getAPIBaseURL);
return cachedBaseURL;
}
void DefaultFileSource::setAccessToken(const std::string& accessToken) {
thread->invokeSync(&Impl::setAccessToken, accessToken);
thread->invoke(&Impl::setAccessToken, accessToken);
cachedAccessToken = accessToken;
}
std::string DefaultFileSource::getAccessToken() const {
return thread->invokeSync(&Impl::getAccessToken);
return cachedAccessToken;
}
void DefaultFileSource::setResourceTransform(std::function<std::string(Resource::Kind, std::string&&)> transform) {