aboutsummaryrefslogtreecommitdiffstats
path: root/src/db/plugins/ProxyDatabasePlugin.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2015-08-24db/UniqueTags, tag/Set, ...: use typedef tag_mask_tMax Kellermann1-2/+2
2015-06-25SongFilter: return "const char *" instead of std::stringMax Kellermann1-4/+4
2015-01-21config/Param: split block-specific attributes to new struct ConfigBlockMax Kellermann1-9/+9
The old struct config_param remains only for top-level string options.
2015-01-21ConfigData: move struct config_param to Param.hxxMax Kellermann1-1/+1
2015-01-15db/plugins/ProxyDatabasePlugin: add "keepalive" parameterJoshua Wise1-0/+6
2015-01-01Copyright year 2015Max Kellermann1-1/+1
2014-09-27Add MusicBrainz' Release Track Id tagWieland Hoffmann1-0/+4
The Release Track Id uniquely identifies a recording on a release - that is, even if a recording appears twice on a release (meaning that the combination of recording and release id are not enough to figure out which one it is), the release track id will allow differentiating the two. The tag names are taken from https://musicbrainz.org/doc/MusicBrainz_Picard/Tags/Mapping
2014-09-18db/proxy: support empty values in VisitUniqueTags()Max Kellermann1-0/+9
Workaround for assertion failure in PrintUniqueTag().
2014-08-29db/Stats: use std::chrono::duration for the total durationMax Kellermann1-1/+1
Use milliseconds precision to reduce rounding errors.
2014-08-29Tag: use SignedSongTime for the song durationMax Kellermann1-1/+4
2014-08-28db/LightSong: use std::chrono::duration for start_ms and end_msMax Kellermann1-3/+3
2014-07-29db/proxy: implement Update()Max Kellermann1-0/+19
2014-06-23db/proxy: use mpd_song_get_{start,end}() only with libmpdclient >= 2.3Max Kellermann1-0/+5
2014-06-21db/proxy: initialize LightSong::real_uriMax Kellermann1-0/+1
Fixes potential crash.
2014-04-24DatabaseCommands: "list" allows groupingMax Kellermann1-4/+9
2014-03-06db/proxy: check connect error before initializing SocketMonitorMax Kellermann1-7/+7
Fixes crash bug because mpd_connection_get_async() was called without a connection.
2014-02-19DatabasePlugin: add FLAG_REQUIRE_STORAGEMax Kellermann1-1/+1
Ignore the storage configuration if FLAG_REQUIRE_STORAGE is not set in the DatabasePlugin.
2014-02-19DatabasePlugin: add attribute "flags"Max Kellermann1-0/+1
2014-02-19db/Interface: add attribute "plugin"Max Kellermann1-1/+2
The new method IsPlugin() replaces the "is_simple" flag.
2014-02-19DatabasePlugin: split headerMax Kellermann1-0/+2
2014-02-04db/proxy: include cleanupMax Kellermann1-1/+0
2014-01-27Playlist{Info,Vector}: move to db/Max Kellermann1-1/+1
2014-01-24Database*: move to db/Max Kellermann1-6/+6
2014-01-24Config*: move to config/Max Kellermann1-1/+1
2014-01-22db/proxy: fix for libmpdclient < 2.9Max Kellermann1-0/+4
2014-01-22db/proxy: copy "Last-Modified" from remote directoriesMax Kellermann1-1/+2
2014-01-22LightDirectory: new struct replacing Directory in the DB APIMax Kellermann1-15/+12
2014-01-19LightSong: new class to be used by DatabasePlugin callbacksMax Kellermann1-60/+69
Detach the Song class completely from the public API, only to be used by SimpleDatabase and the update thread.
2014-01-19db/proxy: simplify error handling in GetSong()Max Kellermann1-11/+9
Check mpd_response_finish() before using mpd_song. Don't skip this check even if the mpd_song is non-nullptr.
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-13copyright year 2014Max Kellermann1-1/+1
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 Kellermann1-2/+5
Allow database plugins to announce that they have been modified.
2014-01-11db/proxy: move code to Disconnect()Max Kellermann1-6/+15
2014-01-09Directory: remove method Free()Max Kellermann1-1/+1
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-11-28include cleanup using iwyuMax Kellermann1-1/+0
2013-11-22db/proxy: implement method GetUpdateStamp()Max Kellermann1-2/+7
2013-11-22DatabasePlugin: add method GetUpdateStamp()Max Kellermann1-0/+5
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 Kellermann1-1/+1
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
2013-10-29DatabaseSelection: use std::stringMax Kellermann1-1/+1