diff --git a/spectrum/src/main.cpp b/spectrum/src/main.cpp index 33201230e8ddb25014231f1d5c5c58d8ec6bd16f..ef22af039aec49172d0c1f170c899f73edd383e0 100644 --- a/spectrum/src/main.cpp +++ b/spectrum/src/main.cpp @@ -55,15 +55,21 @@ int main(int argc, char **argv) Component transport(&eventLoop, &config, NULL); Logger logger(&transport); - SQLite3Backend sql(&config); - logger.setStorageBackend(&sql); - if (!sql.connect()) { - std::cerr << "Can't connect to database.\n"; + StorageBackend *storageBackend = NULL; + + if (CONFIG_STRING(&config, "database.type") == "sqlite3") { + storageBackend = new SQLite3Backend(&config); + logger.setStorageBackend(storageBackend); + if (!storageBackend->connect()) { + std::cerr << "Can't connect to database.\n"; + } } - UserManager userManager(&transport, &sql); - UserRegistration userRegistration(&transport, &userManager, &sql); - logger.setUserRegistration(&userRegistration); + UserManager userManager(&transport, storageBackend); + if (storageBackend) { + UserRegistration userRegistration(&transport, &userManager, storageBackend); + logger.setUserRegistration(&userRegistration); + } logger.setUserManager(&userManager); NetworkPluginServer plugin(&transport, &config, &userManager);