From ae178c77bdc47c954fd9a4b32ffc07fe6c4a8a49 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Thu, 24 Apr 2014 10:20:24 +0200 Subject: DatabaseCommands: "list" allows grouping --- src/db/plugins/upnp/UpnpDatabasePlugin.cxx | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'src/db/plugins/upnp') 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 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; } -- cgit v1.2.3