diff options
author | Max Kellermann <max@duempel.org> | 2014-02-17 20:57:56 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2014-02-19 23:24:17 +0100 |
commit | 150443b014e3df20d9fcac0de88ff32574e4c471 (patch) | |
tree | 188ed2e936b6727f0c432ccb8d24871f125bb0cd /src/db | |
parent | 9e36af791615eb8adcaee956808421271cb1ddff (diff) | |
download | mpd-150443b014e3df20d9fcac0de88ff32574e4c471.tar.gz mpd-150443b014e3df20d9fcac0de88ff32574e4c471.tar.xz mpd-150443b014e3df20d9fcac0de88ff32574e4c471.zip |
DatabasePlugin: add FLAG_REQUIRE_STORAGE
Ignore the storage configuration if FLAG_REQUIRE_STORAGE is not set in
the DatabasePlugin.
Diffstat (limited to 'src/db')
-rw-r--r-- | src/db/DatabasePlugin.hxx | 10 | ||||
-rw-r--r-- | src/db/plugins/ProxyDatabasePlugin.cxx | 2 | ||||
-rw-r--r-- | src/db/plugins/SimpleDatabasePlugin.cxx | 2 |
3 files changed, 12 insertions, 2 deletions
diff --git a/src/db/DatabasePlugin.hxx b/src/db/DatabasePlugin.hxx index 7655d8e2d..831101786 100644 --- a/src/db/DatabasePlugin.hxx +++ b/src/db/DatabasePlugin.hxx @@ -33,6 +33,12 @@ class DatabaseListener; class Database; struct DatabasePlugin { + /** + * This plugin requires a #Storage instance. It contains only + * cached metadata from files in the #Storage. + */ + static constexpr unsigned FLAG_REQUIRE_STORAGE = 0x1; + const char *name; unsigned flags; @@ -43,6 +49,10 @@ struct DatabasePlugin { Database *(*create)(EventLoop &loop, DatabaseListener &listener, const config_param ¶m, Error &error); + + constexpr bool RequireStorage() const { + return flags & FLAG_REQUIRE_STORAGE; + } }; #endif diff --git a/src/db/plugins/ProxyDatabasePlugin.cxx b/src/db/plugins/ProxyDatabasePlugin.cxx index 824c1af46..e46b4b9e8 100644 --- a/src/db/plugins/ProxyDatabasePlugin.cxx +++ b/src/db/plugins/ProxyDatabasePlugin.cxx @@ -780,6 +780,6 @@ ProxyDatabase::GetStats(const DatabaseSelection &selection, const DatabasePlugin proxy_db_plugin = { "proxy", - 0, + DatabasePlugin::FLAG_REQUIRE_STORAGE, ProxyDatabase::Create, }; diff --git a/src/db/plugins/SimpleDatabasePlugin.cxx b/src/db/plugins/SimpleDatabasePlugin.cxx index 8632fa5af..48d014e55 100644 --- a/src/db/plugins/SimpleDatabasePlugin.cxx +++ b/src/db/plugins/SimpleDatabasePlugin.cxx @@ -337,6 +337,6 @@ SimpleDatabase::Save(Error &error) const DatabasePlugin simple_db_plugin = { "simple", - 0, + DatabasePlugin::FLAG_REQUIRE_STORAGE, SimpleDatabase::Create, }; |