aboutsummaryrefslogtreecommitdiffstats
path: root/src/db/upnp (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-01-13db/upnp: add fallback for emplace()Max Kellermann1-0/+4
The method emplace() was added in gcc 4.8. This commit restores compatibility with gcc 4.7.
2014-01-13db/upnp: use std::function for the libupnp callbackMax Kellermann3-31/+16
Replaces the bloated std::map.
2014-01-13db/upnp: fix "upnp:class" parserMax Kellermann1-7/+7
"upnp:class" is an element, not an attribute of element "item". This fixes a regression from commit 65ebfb16
2014-01-11db/upnp/Directory: parse item_class in StartElementMax Kellermann1-12/+8
Don't add to the std::map.
2014-01-11db/upnp/Object: add attribute "url"Max Kellermann2-1/+3
Don't store in the std::map.
2014-01-11db/upnp/Directory: parse durationMax Kellermann2-15/+20
Don't put all <res/> attributes to the attributes map; parse the "duration" attribute as soon as we receive it, and store it in an integer attribute. This reduces bloat.
2014-01-11db/upnp: move stringToTokens() to Util.cxxMax Kellermann2-0/+43
2014-01-11db/upnp/discovery: convert std::strings to const char *Max Kellermann1-11/+13
Reduce bloat.
2014-01-11db/upnp: remove unnecessary MutexMax Kellermann2-4/+0
2014-01-10db/upnp: remove unused method setMaxContentLength()Max Kellermann2-10/+1
2014-01-10db/upnp: remove "upnplog" optionMax Kellermann2-38/+1
We have removed all libupnp logging calls, and we don't need to debug libupnp.
2014-01-10db/upnp: remove unused macro PLOGINF()Max Kellermann1-9/+0
2014-01-10db/upnp: remove unused method errAsString()Max Kellermann2-12/+0
2014-01-10db/upnp/Device: remove unused attribute "m_tabs"Max Kellermann1-4/+1
2014-01-10db/upnp: remove unnecessary empty string checks from CharacterData()Max Kellermann2-5/+0
2014-01-10db/upnp/Directory: simplify checkobjok()Max Kellermann1-9/+9
2014-01-10db/upnp/Directory: don't log unknown itemsMax Kellermann1-8/+0
2014-01-10db/upnp/Directory: eliminate the "attributes" std::mapMax Kellermann1-11/+19
Look up attributes in the "atts" array. Reduce bloat.
2014-01-10db/upnp/Directory: move "res" attributes to arrayMax Kellermann1-7/+15
Reduce bloat.
2014-01-10db/upnp: use nullptr-terminated arrayMax Kellermann1-6/+4
Reduce bloat.
2014-01-10db/upnp/Directory: eliminate struct StackEl, use std::stringMax Kellermann1-11/+6
Reduces bloat.
2014-01-10db/upnp/Directory: make "attributes" a local variableMax Kellermann1-14/+14
We only need it inside StartElement(). Reduces bloat.
2014-01-10db/upnp/Directory: move "res" tag handler to StartElement()Max Kellermann1-12/+16
No need to handle this in EndElement() - in StartElement(), we already have all we need.
2014-01-10db/upnp/Directory: don't use std::map to parse upnp:classMax Kellermann1-9/+18
Reduce excessive bloat.
2014-01-10db/upnp/Object: use strictly-typed enumsMax Kellermann2-12/+21
At the same time, rename the enum types and the class attributes, and add an "UNKNOWN" type/class. The latter avoids the "-1" hack.
2014-01-10db/upnp: getprop() returns const char *Max Kellermann1-5/+3
Return the return value, instead returning it in a reference parameter. Reduces bloat by reducing unnecessary std::string usage.
2014-01-09UPnP database pluginJean-Francois Dockes18-0/+2282
[mk: renamed source files, applied coding style, reduced bloat, using MPD's threading library, using MPD's error reporting and logging library and refactoring, fixed lots of bugs]