diff options
author | Max Kellermann <max@duempel.org> | 2014-04-24 10:20:24 +0200 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2014-04-24 11:38:49 +0200 |
commit | ae178c77bdc47c954fd9a4b32ffc07fe6c4a8a49 (patch) | |
tree | fd96f595113e5044be4cf4b18f17c3a1fdbf3ff9 /src/db/plugins/upnp | |
parent | 22206512539aa9a888fdba68d60324c560389d5d (diff) | |
download | mpd-ae178c77bdc47c954fd9a4b32ffc07fe6c4a8a49.tar.gz mpd-ae178c77bdc47c954fd9a4b32ffc07fe6c4a8a49.tar.xz mpd-ae178c77bdc47c954fd9a4b32ffc07fe6c4a8a49.zip |
DatabaseCommands: "list" allows grouping
Diffstat (limited to 'src/db/plugins/upnp')
-rw-r--r-- | src/db/plugins/upnp/UpnpDatabasePlugin.cxx | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/src/db/plugins/upnp/UpnpDatabasePlugin.cxx b/src/db/plugins/upnp/UpnpDatabasePlugin.cxx index abc7638f8..66951f402 100644 --- a/src/db/plugins/upnp/UpnpDatabasePlugin.cxx +++ b/src/db/plugins/upnp/UpnpDatabasePlugin.cxx @@ -94,8 +94,8 @@ public: Error &error) const override; virtual bool VisitUniqueTags(const DatabaseSelection &selection, - TagType tag_type, - VisitString visit_string, + TagType tag_type, uint32_t group_mask, + VisitTag visit_tag, Error &error) const override; virtual bool GetStats(const DatabaseSelection &selection, @@ -721,11 +721,13 @@ UpnpDatabase::Visit(const DatabaseSelection &selection, bool UpnpDatabase::VisitUniqueTags(const DatabaseSelection &selection, - TagType tag, - VisitString visit_string, + TagType tag, gcc_unused uint32_t group_mask, + VisitTag visit_tag, Error &error) const { - if (!visit_string) + // TODO: use group_mask + + if (!visit_tag) return true; std::vector<ContentDirectoryService> servers; @@ -754,9 +756,12 @@ UpnpDatabase::VisitUniqueTags(const DatabaseSelection &selection, } } - for (const auto& value : values) - if (!visit_string(value.c_str(), error)) + for (const auto& value : values) { + TagBuilder builder; + builder.AddItem(tag, value.c_str()); + if (!visit_tag(builder.Commit(), error)) return false; + } return true; } |