aboutsummaryrefslogtreecommitdiffstats
path: root/src/db/plugins/upnp/UpnpDatabasePlugin.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-01-21db/upnp: fix empty song URIMax Kellermann1-3/+6
Fall back to UPnPDirObject::url if there is no override.
2014-01-19LightSong: new class to be used by DatabasePlugin callbacksMax Kellermann1-31/+40
Detach the Song class completely from the public API, only to be used by SimpleDatabase and the update thread.
2014-01-19Song: embed the Tag object statically into class SongMax Kellermann1-1/+1
Reduces overhead because we need to manage only one memory allocation. According to valgrind/massif, we save 7%.
2014-01-18db/upnp: move Tag from UPnPDirObject to SongMax Kellermann1-11/+14
The UPnPDirObject is a temporary object, we can move its contents. This reduces runtime overhead.
2014-01-18db/upnp: use getServer() in Visit()Max Kellermann1-17/+9
Reduce bloat.
2014-01-18db/upnp/Discovery: eliminate Error attributeMax Kellermann1-21/+4
Move code to method Start() and add Error& parameters to several methods.
2014-01-18db/upnp: remove unnecessary m_superdir nullptr checksMax Kellermann1-3/+3
2014-01-18db/upnp: pass ContentDirectoryService referencesMax Kellermann1-27/+27
2014-01-18db/upnp: include cleanupMax Kellermann1-1/+0
2014-01-18db/upnp: don't use LazyDatabaseMax Kellermann1-2/+1
Now that MPD forks early, this workaround is obsolete.
2014-01-16db/upnp: move the LibUPnP instance to class UpnpDatabaseMax Kellermann1-9/+17
Delete the object when closing the database.
2014-01-16db/upnp: move the UPnPDeviceDirectory instance to class UpnpDatabaseMax Kellermann1-4/+6
Delete the object when closing the database.
2014-01-16db/upnp: don't initialize attributes to nullptrMax Kellermann1-4/+0
Not necessary, these are not used.
2014-01-16db/upnp: remove redundant m_root nullptr checksMax Kellermann1-5/+1
2014-01-14db/upnp/Object: add attribute "tag"Max Kellermann1-37/+2
Replaces "m_title" and "m_props". More bloat removed.
2014-01-14db/upnp: move upnp_tags to Tags.cxxMax Kellermann1-11/+1
2014-01-14db/upnp/Object: disallow copying, always moveMax Kellermann1-5/+4
Reduce bloat.
2014-01-14db/upnp: getTagValue() returns string pointerMax Kellermann1-19/+13
Reduce bloat.
2014-01-14db/upnp/Directory: merge m_containers and m_itemsMax Kellermann1-52/+59
There is no use in duplicating these containers. It only means that we have to search both, duplicating the code.
2014-01-14db/upnp: pass const reference to getTagValue()Max Kellermann1-1/+1
2014-01-14db/upnp: Namei() returns error when no object was foundMax Kellermann1-2/+5
Don't fail silently.
2014-01-14db/upnp/Object: add attribute "name"Max Kellermann1-19/+5
Call titleToPathElt() only once for each object.
2014-01-14db/upnp: use std::replace() in titleToPath()Max Kellermann1-10/+4
2014-01-14db/upnp: pass std::string to titleToPathElt()Max Kellermann1-2/+2
2014-01-14db/upnp: don't sanitize the title tagMax Kellermann1-2/+2
We need this only for path names.
2014-01-13copyright year 2014Max Kellermann1-1/+1
2014-01-13db/upnp: add fallback for emplace()Max Kellermann1-1/+6
The method emplace() was added in gcc 4.8. This commit restores compatibility with gcc 4.7.
2014-01-11db/upnp/Object: add attribute "url"Max Kellermann1-1/+1
Don't store in the std::map.
2014-01-11db/upnp/Directory: parse durationMax Kellermann1-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.
2014-01-11db/upnp: move stringToTokens() to Util.cxxMax Kellermann1-36/+1
2014-01-11db/upnp: move lazy Open() call to new class LazyDatabaseMax Kellermann1-29/+9
Generic approach for the workaround.
2014-01-11DatabasePlugin: add interface DatabaseListenerMax Kellermann1-2/+5
Allow database plugins to announce that they have been modified.
2014-01-10db/upnp: remove "upnplog" optionMax Kellermann1-6/+1
We have removed all libupnp logging calls, and we don't need to debug libupnp.
2014-01-10db/upnp/Object: use strictly-typed enumsMax Kellermann1-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.
2014-01-10db/upnp: getprop() returns const char *Max Kellermann1-16/+16
Return the return value, instead returning it in a reference parameter. Reduces bloat by reducing unnecessary std::string usage.
2014-01-10db/upnp: don't set mtime, start_ms, end_msMax Kellermann1-5/+0
Not necessary or useful.
2014-01-10db/upnp: use TagTable in upnpItemToSong()Max Kellermann1-25/+14
Reduces bloat by eliminating one std::map.
2014-01-09UPnP database pluginJean-Francois Dockes1-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]