aboutsummaryrefslogtreecommitdiffstats
path: root/src/db/upnp (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-01-14db/upnp/Directory: merge m_containers and m_itemsMax Kellermann2-11/+14
There is no use in duplicating these containers. It only means that we have to search both, duplicating the code.
2014-01-14db/upnp/Directory: eliminate one std::string copy with std::move()Max Kellermann1-2/+2
2014-01-14db/upnp/Object: add attribute "name"Max Kellermann2-5/+28
Call titleToPathElt() only once for each object.
2014-01-14db/upnp/WorkQueue: remove unused attributes "high", "low"Max Kellermann1-17/+3
2014-01-14db/upnp/WorkQueue: initialize "ok" to false, eliminate redundant checksMax Kellermann1-21/+10
2014-01-14db/upnp/WorkQueue: remove IsOK() check from put()Max Kellermann1-6/+0
Not necessary, not worth the check.
2014-01-14db/upnp/WorkQueue: remove redundant n_workers_exited check from IsOK()Max Kellermann1-1/+1
2014-01-14db/upnp/WorkQueue: include cleanupMax Kellermann1-3/+0
2014-01-14db/upnp/WorkQueue: remove unnecessary "waiting" attributesMax Kellermann1-24/+9
2014-01-14db/upnp/WorkQueue: remove unused method waitIdle()Max Kellermann1-42/+0
Contrary to setTerminateAndWait()'s documentation, the method does wait for worker threads to exit via pthread_join().
2014-01-14db/upnp/WorkQueue: use array instead of std::listMax Kellermann1-15/+19
Reduce bloat further.
2014-01-14db/upnp/WorkQueue: use std::list instead of std::unordered_mapMax Kellermann1-18/+6
Reduce bloat.
2014-01-14db/upnp/WorkQueue: rename attributesMax Kellermann1-78/+78
2014-01-14db/upnp/WorkQueue: pass reference to take()Max Kellermann2-3/+3
2014-01-14db/upnp/WorkQueue: remove unused method qsize()Max Kellermann1-8/+0
2014-01-14db/upnp/WorkQueue: remove unused "szp" parameter from take()Max Kellermann2-5/+2
2014-01-14db/upnp/WorkQueue: remove unused statisticsMax Kellermann1-17/+2
2014-01-13copyright year 2014Max Kellermann2-2/+2
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]