aboutsummaryrefslogtreecommitdiffstats
path: root/src/db/UpnpDatabasePlugin.cxx (follow)
Commit message (Collapse)AuthorAgeFilesLines
* db/upnp: don't initialize attributes to nullptrMax Kellermann2014-01-161-4/+0
| | | | Not necessary, these are not used.
* db/upnp: remove redundant m_root nullptr checksMax Kellermann2014-01-161-5/+1
|
* db/upnp/Object: add attribute "tag"Max Kellermann2014-01-141-37/+2
| | | | Replaces "m_title" and "m_props". More bloat removed.
* db/upnp: move upnp_tags to Tags.cxxMax Kellermann2014-01-141-11/+1
|
* db/upnp/Object: disallow copying, always moveMax Kellermann2014-01-141-5/+4
| | | | Reduce bloat.
* db/upnp: getTagValue() returns string pointerMax Kellermann2014-01-141-19/+13
| | | | Reduce bloat.
* db/upnp/Directory: merge m_containers and m_itemsMax Kellermann2014-01-141-52/+59
| | | | | There is no use in duplicating these containers. It only means that we have to search both, duplicating the code.
* db/upnp: pass const reference to getTagValue()Max Kellermann2014-01-141-1/+1
|
* db/upnp: Namei() returns error when no object was foundMax Kellermann2014-01-141-2/+5
| | | | Don't fail silently.
* db/upnp/Object: add attribute "name"Max Kellermann2014-01-141-19/+5
| | | | Call titleToPathElt() only once for each object.
* db/upnp: use std::replace() in titleToPath()Max Kellermann2014-01-141-10/+4
|
* db/upnp: pass std::string to titleToPathElt()Max Kellermann2014-01-141-2/+2
|
* db/upnp: don't sanitize the title tagMax Kellermann2014-01-141-2/+2
| | | We need this only for path names.
* copyright year 2014Max Kellermann2014-01-131-1/+1
|
* db/upnp: add fallback for emplace()Max Kellermann2014-01-131-1/+6
| | | | | The method emplace() was added in gcc 4.8. This commit restores compatibility with gcc 4.7.
* db/upnp/Object: add attribute "url"Max Kellermann2014-01-111-1/+1
| | | | Don't store in the std::map.
* db/upnp/Directory: parse durationMax Kellermann2014-01-111-13/+2
| | | | | | 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: move stringToTokens() to Util.cxxMax Kellermann2014-01-111-36/+1
|
* db/upnp: move lazy Open() call to new class LazyDatabaseMax Kellermann2014-01-111-29/+9
| | | | Generic approach for the workaround.
* DatabasePlugin: add interface DatabaseListenerMax Kellermann2014-01-111-2/+5
| | | | Allow database plugins to announce that they have been modified.
* db/upnp: remove "upnplog" optionMax Kellermann2014-01-101-6/+1
| | | | | We have removed all libupnp logging calls, and we don't need to debug libupnp.
* db/upnp/Object: use strictly-typed enumsMax Kellermann2014-01-101-32/+53
| | | | | At the same time, rename the enum types and the class attributes, and add an "UNKNOWN" type/class. The latter avoids the "-1" hack.
* db/upnp: getprop() returns const char *Max Kellermann2014-01-101-16/+16
| | | | | Return the return value, instead returning it in a reference parameter. Reduces bloat by reducing unnecessary std::string usage.
* db/upnp: don't set mtime, start_ms, end_msMax Kellermann2014-01-101-5/+0
| | | | Not necessary or useful.
* db/upnp: use TagTable in upnpItemToSong()Max Kellermann2014-01-101-25/+14
| | | | Reduces bloat by eliminating one std::map.
* UPnP database pluginJean-Francois Dockes2014-01-091-0/+923
[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]