diff options
author | Max Kellermann <max@duempel.org> | 2014-11-08 10:55:59 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2014-11-08 10:55:59 +0100 |
commit | e67afc35b80943480964a39e9f65d9143d49461a (patch) | |
tree | db6a43e508fd27ef40e27391e7f225df181d938d /src/db | |
parent | 5e73007b1d44589bb9232a73b534814414bc56d7 (diff) | |
download | mpd-e67afc35b80943480964a39e9f65d9143d49461a.tar.gz mpd-e67afc35b80943480964a39e9f65d9143d49461a.tar.xz mpd-e67afc35b80943480964a39e9f65d9143d49461a.zip |
db/upnp/Directory: move checkobjok() to class UPnPDirObject
Diffstat (limited to 'src/db')
-rw-r--r-- | src/db/plugins/upnp/Directory.cxx | 12 | ||||
-rw-r--r-- | src/db/plugins/upnp/Object.hxx | 8 |
2 files changed, 9 insertions, 11 deletions
diff --git a/src/db/plugins/upnp/Directory.cxx b/src/db/plugins/upnp/Directory.cxx index c7fd04236..b6c40c69d 100644 --- a/src/db/plugins/upnp/Directory.cxx +++ b/src/db/plugins/upnp/Directory.cxx @@ -197,16 +197,6 @@ protected: } } - bool checkobjok() { - if (m_tobj.id.empty() || m_tobj.parent_id.empty() || - m_tobj.name.empty() || - (m_tobj.type == UPnPDirObject::Type::ITEM && - m_tobj.item_class == UPnPDirObject::ItemClass::UNKNOWN)) - return false; - - return true; - } - virtual void EndElement(const XML_Char *name) { if (tag_type != TAG_NUM_OF_ITEM_TYPES) { @@ -223,7 +213,7 @@ protected: } if ((!strcmp(name, "container") || !strcmp(name, "item")) && - checkobjok()) { + m_tobj.Check()) { tag.Commit(m_tobj.tag); m_dir.objects.emplace_back(std::move(m_tobj)); } diff --git a/src/db/plugins/upnp/Object.hxx b/src/db/plugins/upnp/Object.hxx index 55ceafcfa..6d71c158b 100644 --- a/src/db/plugins/upnp/Object.hxx +++ b/src/db/plugins/upnp/Object.hxx @@ -21,6 +21,7 @@ #define MPD_UPNP_OBJECT_HXX #include "tag/Tag.hxx" +#include "Compiler.h" #include <string> @@ -87,6 +88,13 @@ public: item_class = ItemClass::UNKNOWN; tag.Clear(); } + + gcc_pure + bool Check() const { + return !id.empty() && !parent_id.empty() && !name.empty() && + (type != UPnPDirObject::Type::ITEM || + item_class != UPnPDirObject::ItemClass::UNKNOWN); + } }; #endif /* _UPNPDIRCONTENT_H_X_INCLUDED_ */ |