diff options
author | Max Kellermann <max@duempel.org> | 2014-07-29 23:16:46 +0200 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2014-07-29 23:35:09 +0200 |
commit | 12b5494906585297173c995fa4ed4ea8360b7ff5 (patch) | |
tree | b2282c2e9bbeb37643a9f9d4b5f3eea00b7bbfd0 | |
parent | aa0f06d6b712b1fe40536714ecdb2dd968417be3 (diff) | |
download | mpd-12b5494906585297173c995fa4ed4ea8360b7ff5.tar.gz mpd-12b5494906585297173c995fa4ed4ea8360b7ff5.tar.xz mpd-12b5494906585297173c995fa4ed4ea8360b7ff5.zip |
db/proxy: implement Update()
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | src/db/plugins/ProxyDatabasePlugin.cxx | 19 |
2 files changed, 20 insertions, 0 deletions
@@ -9,6 +9,7 @@ ver 0.19 (not yet released) - "list" and "count" allow grouping * database - proxy: forward "idle" events + - proxy: forward the "update" command - proxy: copy "Last-Modified" from remote directories - upnp: new plugin - cancel the update on shutdown diff --git a/src/db/plugins/ProxyDatabasePlugin.cxx b/src/db/plugins/ProxyDatabasePlugin.cxx index 918e6be49..0b358c0ba 100644 --- a/src/db/plugins/ProxyDatabasePlugin.cxx +++ b/src/db/plugins/ProxyDatabasePlugin.cxx @@ -120,6 +120,9 @@ public: DatabaseStats &stats, Error &error) const override; + virtual unsigned Update(const char *uri_utf8, bool discard, + Error &error) override; + virtual time_t GetUpdateStamp() const override { return update_stamp; } @@ -809,6 +812,22 @@ ProxyDatabase::GetStats(const DatabaseSelection &selection, return true; } +unsigned +ProxyDatabase::Update(const char *uri_utf8, bool discard, + Error &error) +{ + if (!EnsureConnected(error)) + return 0; + + unsigned id = discard + ? mpd_run_rescan(connection, uri_utf8) + : mpd_run_update(connection, uri_utf8); + if (id == 0) + CheckError(connection, error); + + return id; +} + const DatabasePlugin proxy_db_plugin = { "proxy", DatabasePlugin::FLAG_REQUIRE_STORAGE, |