Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | db/upnp/Directory: replace std::vector with a simple enum | Max Kellermann | 2014-01-22 | 1 | -20/+34 |
| | | | | Reduce bloat. | ||||
* | db/upnp/Directory: join all CDATA nodes for tag values | Max Kellermann | 2014-01-22 | 1 | -11/+43 |
| | | | | | | Expat can call CharacterData() multiple times if the CDATA contains entity references. We need to collect all of them in one large string. | ||||
* | db/upnp/Directory: make "m_dir" private | Max Kellermann | 2014-01-22 | 1 | -1/+2 |
| | |||||
* | db/upnp: don't use stringToTokens() in ParseDuration() | Max Kellermann | 2014-01-21 | 1 | -4/+20 |
| | | | Reduce bloat. | ||||
* | db/upnp: cache m_path.back() | Max Kellermann | 2014-01-18 | 1 | -4/+5 |
| | |||||
* | db/upnp/ixmlwrap: getFirstElementValue() returns const char * | Max Kellermann | 2014-01-18 | 1 | -2/+2 |
| | | | | Eliminate the std::string bloat. | ||||
* | db/upnp: use move operator to assign XML CDATA | Max Kellermann | 2014-01-18 | 1 | -1/+1 |
| | | | | Reduce runtime bloat. | ||||
* | db/upnp/Util: trimstring() constructs string from buffer | Max Kellermann | 2014-01-18 | 1 | -2/+1 |
| | | | | | Reduce overhead by omitting the part of the buffer that consists only of whitespace. | ||||
* | db/upnp/Object: add attribute "tag" | Max Kellermann | 2014-01-14 | 1 | -20/+19 |
| | | | | Replaces "m_title" and "m_props". More bloat removed. | ||||
* | db/upnp/Object: disallow copying, always move | Max Kellermann | 2014-01-14 | 1 | -1/+1 |
| | | | | Reduce bloat. | ||||
* | db/upnp/Directory: merge m_containers and m_items | Max Kellermann | 2014-01-14 | 1 | -9/+3 |
| | | | | | There is no use in duplicating these containers. It only means that we have to search both, duplicating the code. | ||||
* | db/upnp/Directory: eliminate one std::string copy with std::move() | Max Kellermann | 2014-01-14 | 1 | -2/+2 |
| | |||||
* | db/upnp/Object: add attribute "name" | Max Kellermann | 2014-01-14 | 1 | -3/+20 |
| | | | | Call titleToPathElt() only once for each object. | ||||
* | db/upnp: fix "upnp:class" parser | Max Kellermann | 2014-01-13 | 1 | -7/+7 |
| | | | | | "upnp:class" is an element, not an attribute of element "item". This fixes a regression from commit 65ebfb16 | ||||
* | db/upnp/Directory: parse item_class in StartElement | Max Kellermann | 2014-01-11 | 1 | -12/+8 |
| | | | | Don't add to the std::map. | ||||
* | db/upnp/Object: add attribute "url" | Max Kellermann | 2014-01-11 | 1 | -1/+1 |
| | | | | Don't store in the std::map. | ||||
* | db/upnp/Directory: parse duration | Max Kellermann | 2014-01-11 | 1 | -15/+14 |
| | | | | | | 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. | ||||
* | db/upnp: remove unnecessary empty string checks from CharacterData() | Max Kellermann | 2014-01-10 | 1 | -2/+0 |
| | |||||
* | db/upnp/Directory: simplify checkobjok() | Max Kellermann | 2014-01-10 | 1 | -9/+9 |
| | |||||
* | db/upnp/Directory: don't log unknown items | Max Kellermann | 2014-01-10 | 1 | -8/+0 |
| | |||||
* | db/upnp/Directory: eliminate the "attributes" std::map | Max Kellermann | 2014-01-10 | 1 | -11/+19 |
| | | | | Look up attributes in the "atts" array. Reduce bloat. | ||||
* | db/upnp/Directory: move "res" attributes to array | Max Kellermann | 2014-01-10 | 1 | -7/+15 |
| | | | | Reduce bloat. | ||||
* | db/upnp: use nullptr-terminated array | Max Kellermann | 2014-01-10 | 1 | -6/+4 |
| | | | | Reduce bloat. | ||||
* | db/upnp/Directory: eliminate struct StackEl, use std::string | Max Kellermann | 2014-01-10 | 1 | -11/+6 |
| | | | | Reduces bloat. | ||||
* | db/upnp/Directory: make "attributes" a local variable | Max Kellermann | 2014-01-10 | 1 | -14/+14 |
| | | | | We only need it inside StartElement(). Reduces bloat. | ||||
* | db/upnp/Directory: move "res" tag handler to StartElement() | Max Kellermann | 2014-01-10 | 1 | -12/+16 |
| | | | | | No need to handle this in EndElement() - in StartElement(), we already have all we need. | ||||
* | db/upnp/Directory: don't use std::map to parse upnp:class | Max Kellermann | 2014-01-10 | 1 | -9/+18 |
| | | | | Reduce excessive bloat. | ||||
* | db/upnp/Object: use strictly-typed enums | Max Kellermann | 2014-01-10 | 1 | -6/+6 |
| | | | | | At the same time, rename the enum types and the class attributes, and add an "UNKNOWN" type/class. The latter avoids the "-1" hack. | ||||
* | UPnP database plugin | Jean-Francois Dockes | 2014-01-09 | 1 | -0/+177 |
[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] |