aboutsummaryrefslogtreecommitdiffstats
path: root/src/db (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-01-13db/upnp: add fallback for emplace()Max Kellermann2-1/+10
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 Kellermann3-2/+4
Don't store in the std::map.
2014-01-11db/upnp/Directory: parse durationMax Kellermann3-28/+22
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 Kellermann3-36/+44
2014-01-11db/upnp: move lazy Open() call to new class LazyDatabaseMax Kellermann3-29/+181
Generic approach for the workaround.
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-11db/proxy: forward "idle" eventsMax Kellermann1-4/+115
Send "idle" to the other MPD whenever there's nothing else to do and forward incoming "idle database" events to all our MPD clients.
2014-01-11DatabasePlugin: add interface DatabaseListenerMax Kellermann4-6/+15
Allow database plugins to announce that they have been modified.
2014-01-11db/proxy: move code to Disconnect()Max Kellermann1-6/+15
2014-01-10db/upnp: remove unused method setMaxContentLength()Max Kellermann2-10/+1
2014-01-10db/upnp: remove "upnplog" optionMax Kellermann3-44/+2
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 Kellermann3-44/+74
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 Kellermann2-21/+19
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 Dockes20-0/+3232
[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]
2014-01-09Directory: remove method Free()Max Kellermann2-3/+3
2014-01-09db/proxy: allocate Directory instance on the stackMax Kellermann1-7/+3
2014-01-09DetachedSong: fork of struct SongMax Kellermann1-13/+12
From now on, struct Song will be used by the database only, and DetachedSong will be used by everybody else. DetachedSong is easier to use, but Song has lower overhead.
2014-01-08tag/TagBuilder: rename Commit() to CommitNew()Max Kellermann1-1/+1
2013-12-08TextFile: move to fs subsystemDenis Krjuchkov1-1/+1
2013-12-05db/SimpleDatabasePlugin.cxx: don't use CheckAccess with mode on WindowsDenis Krjuchkov1-2/+5
2013-11-28include cleanup using iwyuMax Kellermann2-2/+0
2013-11-22db/proxy: implement method GetUpdateStamp()Max Kellermann1-2/+7
2013-11-22DatabasePlugin: add method GetUpdateStamp()Max Kellermann2-7/+9
Refactor SimpleDatabase::GetLastModified() to be generic for all plugins. Remove the SimpleDatabase assumption from db_stats_print(), allowing it to be implemented by all database plugins.
2013-10-30*: update copyright year to 2013Max Kellermann4-4/+4
2013-10-30db/proxy: remove obsolete #undefsMax Kellermann1-2/+0
2013-10-30db/proxy: auto-reconnectMax Kellermann1-14/+64
2013-10-30db/proxy: return server errors using "enum ack"Max Kellermann1-2/+13
2013-10-30db/proxy: pass search/find to remote MPDMax Kellermann1-1/+38
2013-10-30db/proxy: pass SongFilter to the remote MPD in VisitUniqueTags()Max Kellermann1-2/+72
2013-10-30db/proxy: add missing nullptr checkMax Kellermann1-1/+2
2013-10-29db/proxy: enable song matchingJean-Francois Dockes1-9/+23