Main: support arbitrary storage plugins
This commit is contained in:
parent
a0088ccce1
commit
3fdc678aae
3
NEWS
3
NEWS
|
@ -8,6 +8,9 @@ ver 0.19 (not yet released)
|
||||||
- proxy: forward "idle" events
|
- proxy: forward "idle" events
|
||||||
- proxy: copy "Last-Modified" from remote directories
|
- proxy: copy "Last-Modified" from remote directories
|
||||||
- upnp: new plugin
|
- upnp: new plugin
|
||||||
|
* storage
|
||||||
|
- music_directory can point to a remote file server
|
||||||
|
- smbclient: new plugin
|
||||||
* playlist
|
* playlist
|
||||||
- soundcloud: use https instead of http
|
- soundcloud: use https instead of http
|
||||||
- soundcloud: add default API key
|
- soundcloud: add default API key
|
||||||
|
|
12
src/Main.cxx
12
src/Main.cxx
|
@ -55,6 +55,7 @@
|
||||||
#include "unix/SignalHandlers.hxx"
|
#include "unix/SignalHandlers.hxx"
|
||||||
#include "unix/Daemon.hxx"
|
#include "unix/Daemon.hxx"
|
||||||
#include "system/FatalError.hxx"
|
#include "system/FatalError.hxx"
|
||||||
|
#include "util/UriUtil.hxx"
|
||||||
#include "util/Error.hxx"
|
#include "util/Error.hxx"
|
||||||
#include "util/Domain.hxx"
|
#include "util/Domain.hxx"
|
||||||
#include "thread/Id.hxx"
|
#include "thread/Id.hxx"
|
||||||
|
@ -63,6 +64,7 @@
|
||||||
#include "config/ConfigData.hxx"
|
#include "config/ConfigData.hxx"
|
||||||
#include "config/ConfigDefaults.hxx"
|
#include "config/ConfigDefaults.hxx"
|
||||||
#include "config/ConfigOption.hxx"
|
#include "config/ConfigOption.hxx"
|
||||||
|
#include "config/ConfigError.hxx"
|
||||||
#include "Stats.hxx"
|
#include "Stats.hxx"
|
||||||
|
|
||||||
#ifdef ENABLE_DATABASE
|
#ifdef ENABLE_DATABASE
|
||||||
|
@ -71,6 +73,7 @@
|
||||||
#include "db/DatabaseSimple.hxx"
|
#include "db/DatabaseSimple.hxx"
|
||||||
#include "db/plugins/SimpleDatabasePlugin.hxx"
|
#include "db/plugins/SimpleDatabasePlugin.hxx"
|
||||||
#include "storage/plugins/LocalStorage.hxx"
|
#include "storage/plugins/LocalStorage.hxx"
|
||||||
|
#include "storage/Registry.hxx"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef ENABLE_NEIGHBOR_PLUGINS
|
#ifdef ENABLE_NEIGHBOR_PLUGINS
|
||||||
|
@ -148,6 +151,15 @@ glue_mapper_init(Error &error)
|
||||||
static bool
|
static bool
|
||||||
InitStorage(Error &error)
|
InitStorage(Error &error)
|
||||||
{
|
{
|
||||||
|
auto uri = config_get_string(CONF_MUSIC_DIR, nullptr);
|
||||||
|
if (uri != nullptr && uri_has_scheme(uri)) {
|
||||||
|
instance->storage = CreateStorageURI(uri, error);
|
||||||
|
if (instance->storage == nullptr && !error.IsDefined())
|
||||||
|
error.Format(config_domain,
|
||||||
|
"Unrecognized storage URI: %s", uri);
|
||||||
|
return instance->storage != nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
auto path_fs = config_get_path(CONF_MUSIC_DIR, error);
|
auto path_fs = config_get_path(CONF_MUSIC_DIR, error);
|
||||||
if (path_fs.IsNull() && error.IsDefined())
|
if (path_fs.IsNull() && error.IsDefined())
|
||||||
return false;
|
return false;
|
||||||
|
|
Loading…
Reference in New Issue