diff options
author | Max Kellermann <max@duempel.org> | 2014-02-17 21:47:15 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2014-02-17 22:13:53 +0100 |
commit | de160bb2d1c04977fba2c0910bb98f9f602b5c73 (patch) | |
tree | d0b160a06f08e93b34f0fb8100ce05c810978d38 /src/Main.cxx | |
parent | ff62b6742ba989dd06faa135650371900b327e93 (diff) | |
download | mpd-de160bb2d1c04977fba2c0910bb98f9f602b5c73.tar.gz mpd-de160bb2d1c04977fba2c0910bb98f9f602b5c73.tar.xz mpd-de160bb2d1c04977fba2c0910bb98f9f602b5c73.zip |
Main: move code to db/Configured.cxx
Diffstat (limited to 'src/Main.cxx')
-rw-r--r-- | src/Main.cxx | 50 |
1 files changed, 11 insertions, 39 deletions
diff --git a/src/Main.cxx b/src/Main.cxx index ef5f46ee8..69e148700 100644 --- a/src/Main.cxx +++ b/src/Main.cxx @@ -67,7 +67,7 @@ #ifdef ENABLE_DATABASE #include "db/update/Service.hxx" -#include "db/DatabaseGlue.hxx" +#include "db/Configured.hxx" #include "db/plugins/SimpleDatabasePlugin.hxx" #include "storage/Configured.hxx" #include "storage/CompositeStorage.hxx" @@ -168,46 +168,18 @@ InitStorage(Error &error) static bool glue_db_init_and_load(void) { - const struct config_param *param = config_get_param(CONF_DATABASE); - const struct config_param *path = config_get_param(CONF_DB_FILE); - - if (param != nullptr && path != nullptr) - LogWarning(main_domain, - "Found both 'database' and 'db_file' setting - ignoring the latter"); - - if (instance->storage == nullptr) { - if (param != nullptr) - LogDefault(main_domain, - "Found database setting without " - "music_directory - disabling database"); - if (path != nullptr) - LogDefault(main_domain, - "Found db_file setting without " - "music_directory - disabling database"); - return true; - } - - struct config_param *allocated = nullptr; - - if (param == nullptr && path != nullptr) { - allocated = new config_param("database", path->line); - allocated->AddBlockParam("path", path->value.c_str(), - path->line); - param = allocated; - } - - if (param == nullptr) - return true; - bool is_simple; Error error; - instance->database = DatabaseGlobalInit(*instance->event_loop, - *instance, *param, - is_simple, error); - if (instance->database == nullptr) - FatalError(error); - - delete allocated; + instance->database = + CreateConfiguredDatabase(*instance->event_loop, *instance, + instance->storage != nullptr, + is_simple, error); + if (instance->database == nullptr) { + if (error.IsDefined()) + FatalError(error); + else + return true; + } if (!instance->database->Open(error)) FatalError(error); |