aboutsummaryrefslogtreecommitdiffstats
path: root/src/StateFile.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2015-01-01Copyright year 2015Max Kellermann1-1/+1
2014-08-24StateFile: configurable intervalMax Kellermann1-2/+3
2014-08-07fs/io/BufferedReader: new class to replace class TextFileMax Kellermann1-3/+3
The new class is pluggable, to prepare for gzipped database files. For now, the TextFile class remains, and will be refactored away later.
2014-08-07fs/output, fs/TextFile: move to fs/io/Max Kellermann1-3/+3
2014-07-30*Save, *State: use the OutputStream API instead of FILE*Max Kellermann1-10/+22
2014-07-30StateFile: use nullptr instead of NULLMax Kellermann1-1/+1
2014-02-27Playlist*: move to queue/Max Kellermann1-1/+1
2014-02-07Mapper: move map_song_detach() to db/DatabaseSong.cxxMax Kellermann1-2/+3
Use Storage::MapUTF8() internally, don't use global variables.
2014-02-04Instance: add Database attributeMax Kellermann1-2/+6
Move from db/DatabaseGlue.cxx, eliminating global variable.
2014-02-04StateFile: pass Database to SongLoaderMax Kellermann1-1/+2
Fixes loading database songs from state file (regression by commit 29072797c).
2014-02-03QueueSave: use class SongLoaderMax Kellermann1-2/+5
2014-01-28OutputAll: convert to class, move instance to class PartitionMax Kellermann1-3/+3
Another big chunk of code for multi-player support.
2014-01-24Mixer*: move to mixer/Max Kellermann1-1/+1
2014-01-23output/*: move to output/plugins/Max Kellermann1-1/+1
2014-01-13copyright year 2014Max Kellermann1-1/+1
2013-12-08TextFile: move to fs subsystemDenis Krjuchkov1-1/+1
2013-11-28include cleanup using iwyuMax Kellermann1-1/+1
2013-10-19*: use references instead of pointersMax Kellermann1-7/+7
2013-10-17fs/Path: rename to AllocatedPathMax Kellermann1-1/+1
The new class Path only holds a string pointer without being responsible for allocation/deallocation. The FileSystem.hxx library accepts Path arguments instead of AllocatedPath, to avoid forcing callers to allocate another string object.
2013-10-02Log: new logging library APIMax Kellermann1-13/+14
Prepare to migrate away from GLib. Currently, we're still using GLib as a backend.
2013-10-02Listen, ...: add missing includesMax Kellermann1-1/+2
2013-08-07ConfigPath: return a Path objectMax Kellermann1-3/+4
Migrate all callers to use Path directly, instead of doing the conversion in each caller.
2013-04-08event/TimeoutMonitor: eliminate support for periodic eventsMax Kellermann1-2/+1
No caller needs this. Fixes use-after-free after returning from Client::OnTimeout().
2013-04-08StateFile: schedule timer only after a changeMax Kellermann1-15/+6
Save the state file 2 minutes after the last change. This reduces the disruptions by an idle MPD, and MPD can be paged out permanently until it is used.
2013-04-08StateFile: move code to RememberVersions(), IsModified()Max Kellermann1-12/+21
2013-02-02StateFile: use file system API, log in UTF-8Denis Krjuchkov1-7/+9
2013-01-18Path: new class "Path" wraps filesystem path stringsMax Kellermann1-3/+3
2013-01-14event/TimeoutMonitor: wrapper for g_timeout_source_new()Max Kellermann1-13/+5
2013-01-14StateFile: convert to a classMax Kellermann1-64/+34
2013-01-14Main, IOThread: move GMainLoop setup code to class EventLoopMax Kellermann1-3/+5
2013-01-07volume: convert to C++Max Kellermann1-4/+1
2013-01-05Partition: new class, container for Playlist and PlayerControlMax Kellermann1-15/+19
This is the beginning of multi-player support. There will be support for multiple Partition objects in one MPD process.
2013-01-04playlist: convert to C++Max Kellermann1-1/+1
2013-01-03TextFile: convert to a classMax Kellermann1-12/+4
2013-01-03text_file: convert to C++Max Kellermann1-1/+1
2013-01-02db_save, state_file: convert to C++Max Kellermann1-5/+8
2012-07-10require GLib 2.16Max Kellermann1-1/+0
GLib 2.16 was released more than 4 years ago. Let's remove some cruft from the glib_compat.h header, and avoid new cruft to it.
2012-03-06use g_strerror() instead of strerror()Max Kellermann1-2/+2
Make sure we get a UTF-8 encoded string.
2011-01-29copyright year 2011Max Kellermann1-1/+1
2011-01-10player_control: removed the global variable "pc"Max Kellermann1-14/+17
Allocate a player_control object where needed, and pass it around. Each "client" object is associated with a "player_control" instance. This prepares multi-player support.
2010-07-25state_file: use the text_file libraryMax Kellermann1-5/+8
Don't use a large stack buffer.
2010-07-25database, ...: remove EINTR checks after stdio callsMax Kellermann1-2/+2
MPD doesn't have child processes anymore, and thus we're not expecting to receive SIGCHLD very often. Since hard disk access isn't interrupted by signals anyway, we don't need those excessive checks.
2009-12-31Update copyright notices.Avuton Olrich1-1/+1
2009-11-12include config.h in all sourcesMax Kellermann1-0/+1
After we've been hit by Large File Support problems several times in the past week (which only occur on 32 bit platforms, which I don't have), this is yet another attempt to fix the issue.
2009-11-10configure.ac: require GLib 2.12Max Kellermann1-0/+1
Drop the required GLib version from 2.16 to 2.12, because many current systems still don't have GLib 2.16. This requires several new compatibility functions in glib_compat.h.
2009-10-13state_file: use g_timeout_add_seconds()Max Kellermann1-2/+3
2009-10-08state_file: save only if something has changedMax Kellermann1-0/+22
If nothing has changed since the last save, don't save the state file. Saving will spin up the hard drive, which is undesirable on hosts where MPD is idling in background.
2009-10-06output_state: no CamelCaseMax Kellermann1-2/+2
2009-07-15state_file: don't rewind the stream while reading the state fileMax Kellermann1-5/+11
Parse the state file line by line, let each subsystem probe a line. Only the playlist_state code gets the FILE pointer to read the following lines.
2009-07-15state_file: simplified state_file_finish()Max Kellermann1-4/+6
Return early from the destructor function when there is no configured state file. Don't check the timer, don't call g_free(NULL).