[core] Consolidate file source keys in the generic FileSource header
Thus we do not need to include specific headers to use `{set|get}Property`
API with key constants.
This commit is contained in:
@@ -7,12 +7,6 @@
|
||||
|
||||
namespace mbgl {
|
||||
|
||||
// Properties that may be supported by database file sources.
|
||||
|
||||
// Property to set database mode. When set, database opens in read-only mode; database opens in read-write-create mode
|
||||
// otherwise. type: bool
|
||||
constexpr const char* READ_ONLY_MODE_KEY = "read-only-mode";
|
||||
|
||||
class ResourceOptions;
|
||||
|
||||
// TODO: Split DatabaseFileSource into Ambient cache and Database interfaces.
|
||||
|
||||
@@ -84,4 +84,24 @@ protected:
|
||||
FileSource() = default;
|
||||
};
|
||||
|
||||
// Properties that may be supported by online file sources:
|
||||
|
||||
// Property name to set / get an access token.
|
||||
// type: std::string
|
||||
constexpr const char* ACCESS_TOKEN_KEY = "access-token";
|
||||
|
||||
// Property name to set / get base url.
|
||||
// type: std::string
|
||||
constexpr const char* API_BASE_URL_KEY = "api-base-url";
|
||||
|
||||
// Property name to set / get maximum number of concurrent requests.
|
||||
// type: unsigned
|
||||
constexpr const char* MAX_CONCURRENT_REQUESTS_KEY = "max-concurrent-requests";
|
||||
|
||||
// Properties that may be supported by database file sources:
|
||||
|
||||
// Property to set database mode. When set, database opens in read-only mode; database opens in read-write-create mode
|
||||
// otherwise. type: bool
|
||||
constexpr const char* READ_ONLY_MODE_KEY = "read-only-mode";
|
||||
|
||||
} // namespace mbgl
|
||||
|
||||
@@ -7,20 +7,6 @@ namespace mbgl {
|
||||
|
||||
class ResourceTransform;
|
||||
|
||||
// Properties that may be supported by online file sources.
|
||||
|
||||
// Property name to set / get an access token.
|
||||
// type: std::string
|
||||
constexpr const char* ACCESS_TOKEN_KEY = "access-token";
|
||||
|
||||
// Property name to set / get base url.
|
||||
// type: std::string
|
||||
constexpr const char* API_BASE_URL_KEY = "api-base-url";
|
||||
|
||||
// Property name to set / get maximum number of concurrent requests.
|
||||
// type: unsigned
|
||||
constexpr const char* MAX_CONCURRENT_REQUESTS_KEY = "max-concurrent-requests";
|
||||
|
||||
class OnlineFileSource : public FileSource {
|
||||
public:
|
||||
OnlineFileSource();
|
||||
|
||||
@@ -373,7 +373,7 @@ void OfflineDownload::continueDownload() {
|
||||
if (resourcesToBeMarkedAsUsed.size() >= kMarkBatchSize) markPendingUsedResources();
|
||||
|
||||
uint32_t maxConcurrentRequests = util::DEFAULT_MAXIMUM_CONCURRENT_REQUESTS;
|
||||
auto value = onlineFileSource.getProperty("max-concurrent-requests");
|
||||
auto value = onlineFileSource.getProperty(MAX_CONCURRENT_REQUESTS_KEY);
|
||||
if (uint64_t* maxRequests = value.getUint()) {
|
||||
maxConcurrentRequests = static_cast<uint32_t>(*maxRequests);
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ ProxyFileSource::ProxyFileSource(std::shared_ptr<FileSource> defaultResourceLoad
|
||||
assert(defaultResourceLoader);
|
||||
if (offline) {
|
||||
auto dbfs = FileSourceManager::get()->getFileSource(FileSourceType::Database, options);
|
||||
dbfs->setProperty("read-only-mode", true);
|
||||
dbfs->setProperty(READ_ONLY_MODE_KEY, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -385,7 +385,7 @@ TEST(OfflineDownload, DoesNotFloodTheFileSourceWithRequests) {
|
||||
fileSource.respond(Resource::Kind::Style, test.response("style.json"));
|
||||
test.loop.runOnce();
|
||||
|
||||
EXPECT_EQ(*fileSource.getProperty("max-concurrent-requests").getUint(), fileSource.requests.size());
|
||||
EXPECT_EQ(*fileSource.getProperty(MAX_CONCURRENT_REQUESTS_KEY).getUint(), fileSource.requests.size());
|
||||
}
|
||||
|
||||
TEST(OfflineDownload, GetStatusNoResources) {
|
||||
|
||||
@@ -449,7 +449,7 @@ TEST(OnlineFileSource, TEST_REQUIRES_SERVER(LowHighPriorityRequests)) {
|
||||
const std::size_t NUM_REQUESTS = 3;
|
||||
|
||||
NetworkStatus::Set(NetworkStatus::Status::Offline);
|
||||
fs.setProperty("max-concurrent-requests", 1u);
|
||||
fs.setProperty(MAX_CONCURRENT_REQUESTS_KEY, 1u);
|
||||
// After DefaultFileSource was split, OnlineFileSource lives on a separate
|
||||
// thread. Pause OnlineFileSource, so that messages are queued for processing.
|
||||
fs.pause();
|
||||
@@ -492,7 +492,7 @@ TEST(OnlineFileSource, TEST_REQUIRES_SERVER(LowHighPriorityRequestsMany)) {
|
||||
int correct_regular = 0;
|
||||
|
||||
NetworkStatus::Set(NetworkStatus::Status::Offline);
|
||||
fs.setProperty("max-concurrent-requests", 1u);
|
||||
fs.setProperty(MAX_CONCURRENT_REQUESTS_KEY, 1u);
|
||||
fs.pause();
|
||||
|
||||
std::vector<std::unique_ptr<AsyncRequest>> collector;
|
||||
@@ -542,10 +542,10 @@ TEST(OnlineFileSource, TEST_REQUIRES_SERVER(MaximumConcurrentRequests)) {
|
||||
util::RunLoop loop;
|
||||
OnlineFileSource fs;
|
||||
|
||||
ASSERT_EQ(*fs.getProperty("max-concurrent-requests").getUint(), 20u);
|
||||
ASSERT_EQ(*fs.getProperty(MAX_CONCURRENT_REQUESTS_KEY).getUint(), 20u);
|
||||
|
||||
fs.setProperty("max-concurrent-requests", 10u);
|
||||
ASSERT_EQ(*fs.getProperty("max-concurrent-requests").getUint(), 10u);
|
||||
fs.setProperty(MAX_CONCURRENT_REQUESTS_KEY, 10u);
|
||||
ASSERT_EQ(*fs.getProperty(MAX_CONCURRENT_REQUESTS_KEY).getUint(), 10u);
|
||||
}
|
||||
|
||||
TEST(OnlineFileSource, TEST_REQUIRES_SERVER(RequestSameUrlMultipleTimes)) {
|
||||
|
||||
Reference in New Issue
Block a user