aboutsummaryrefslogtreecommitdiffstats
path: root/src/db/UpnpDatabasePlugin.cxx (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Database*: move to db/Max Kellermann2014-01-241-785/+0
|
* Config*: move to config/Max Kellermann2014-01-241-1/+1
|
* db/upnp: strict vpath checks for the "root" directoryMax Kellermann2014-01-231-0/+20
|
* db/upnp: move code to VisitObject()Max Kellermann2014-01-231-22/+33
|
* db/upnp: merge two PathTraitsUTF8::Build() callsMax Kellermann2014-01-231-16/+4
|
* db/upnp: move code to VisitItem()Max Kellermann2014-01-231-61/+56
|
* db/upnp: fix subdirectory paths in "listallinfo"Max Kellermann2014-01-231-3/+3
| | | | Add missing server name prefix.
* base_uriMax Kellermann2014-01-231-0/+4
|
* db/upnp: pass char* to visitSong()Max Kellermann2014-01-231-6/+6
| | | | Don't use std::string, reduce bloat.
* db/upnp: call VisitDirectory on servers, even in recursive modeMax Kellermann2014-01-221-14/+10
|
* db/upnp: make several methods "const"Max Kellermann2014-01-221-12/+12
|
* db/upnp: inline Configure()Max Kellermann2014-01-221-1/+1
|
* db/upnp: don't duplicate song data for VisitSongMax Kellermann2014-01-221-2/+9
| | | | Not necessary because we control the LightSong's life cycle.
* db/proxy: merge redundant string::push_back() callsMax Kellermann2014-01-221-4/+2
|
* db/upnp: use PathTraitsUTF8::Build()Max Kellermann2014-01-221-5/+14
|
* LightDirectory: new struct replacing Directory in the DB APIMax Kellermann2014-01-221-9/+4
|
* db/upnp: append characters instead of single-character stringsMax Kellermann2014-01-221-2/+2
|
* db/upnp: use string::push_back() instead of string::append()Max Kellermann2014-01-221-5/+5
|
* db/upnp: use std::list instead of std::set for SearchCapabilitiesMax Kellermann2014-01-221-1/+1
| | | | Reduce bloat. We never used the set lookup.
* db/upnp: merge duplicate branches in Namei()Max Kellermann2014-01-211-25/+10
|
* db/upnp: simplify Namei()Max Kellermann2014-01-211-7/+6
|
* db/upnp: use std::list instead of std::vectorMax Kellermann2014-01-211-6/+7
| | | | Reduce overhead.
* db/upnp: use iterator in Namei()Max Kellermann2014-01-211-4/+5
|
* db/upnp: move "objid" declaration downMax Kellermann2014-01-211-2/+2
| | | | Don't allocate the object when it's not needed.
* db/upnp: eliminate redundant Namei() parameter "oobjid"Max Kellermann2014-01-211-12/+7
| | | | | The caller should better obtain the object id from the returned UPnPDirObject instance.
* db/upnp: remove redundant objid.empty() check from VisitServer()Max Kellermann2014-01-211-4/+0
| | | | If Namei() succeeds, the object id is guaranteed to be set.
* db/upnp: use std::move() to extract server nameMax Kellermann2014-01-211-1/+1
| | | | Reduce runtime overhead.
* db/upnp: use vector::front() instead of [0]Max Kellermann2014-01-211-5/+5
|
* db/upnp: don't construct redundant empty vector<string> in Visit()Max Kellermann2014-01-211-1/+1
| | | | We know already that vpath is empty, let's use this instance.
* db/upnp: simplify GetSong()Max Kellermann2014-01-211-20/+18
|
* LightSong: add attribute "real_uri"Max Kellermann2014-01-211-24/+18
| | | | | The UPnP database plugin can now show relative song URIs for remote songs.
* db/upnp: fix empty song URIMax Kellermann2014-01-211-3/+6
| | | | Fall back to UPnPDirObject::url if there is no override.
* LightSong: new class to be used by DatabasePlugin callbacksMax Kellermann2014-01-191-31/+40
| | | | | Detach the Song class completely from the public API, only to be used by SimpleDatabase and the update thread.
* Song: embed the Tag object statically into class SongMax Kellermann2014-01-191-1/+1
| | | | | Reduces overhead because we need to manage only one memory allocation. According to valgrind/massif, we save 7%.
* db/upnp: move Tag from UPnPDirObject to SongMax Kellermann2014-01-181-11/+14
| | | | | The UPnPDirObject is a temporary object, we can move its contents. This reduces runtime overhead.
* db/upnp: use getServer() in Visit()Max Kellermann2014-01-181-17/+9
| | | | Reduce bloat.
* db/upnp/Discovery: eliminate Error attributeMax Kellermann2014-01-181-21/+4
| | | | | Move code to method Start() and add Error& parameters to several methods.
* db/upnp: remove unnecessary m_superdir nullptr checksMax Kellermann2014-01-181-3/+3
|
* db/upnp: pass ContentDirectoryService referencesMax Kellermann2014-01-181-27/+27
|
* db/upnp: include cleanupMax Kellermann2014-01-181-1/+0
|
* db/upnp: don't use LazyDatabaseMax Kellermann2014-01-181-2/+1
| | | | Now that MPD forks early, this workaround is obsolete.
* db/upnp: move the LibUPnP instance to class UpnpDatabaseMax Kellermann2014-01-161-9/+17
| | | | Delete the object when closing the database.
* db/upnp: move the UPnPDeviceDirectory instance to class UpnpDatabaseMax Kellermann2014-01-161-4/+6
| | | | Delete the object when closing the database.
* 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.