20 #ifndef MPD_STATE_FILE_HXX
21 #define MPD_STATE_FILE_HXX
36 const std::string path_utf8;
38 const std::chrono::steady_clock::duration interval;
46 unsigned prev_volume_version = 0, prev_output_version = 0,
47 prev_playlist_version = 0;
49 #ifdef ENABLE_DATABASE
50 unsigned prev_storage_version = 0;
54 static constexpr std::chrono::steady_clock::duration
DEFAULT_INTERVAL = std::chrono::minutes(2);
74 void RememberVersions() noexcept;
81 bool IsModified() const noexcept;
84 void OnTimeout() override;
This class monitors a timeout.
static constexpr std::chrono::steady_clock::duration DEFAULT_INTERVAL
An event loop that polls for events on file/socket descriptors.
A path name in the native file system character set.
A partition of the Music Player Daemon.
void CheckModified()
Schedules a write if MPD's state was modified.
An OutputStream wrapper that buffers its output to reduce the number of OutputStream::Write() calls...
StateFile(AllocatedPath &&path, std::chrono::steady_clock::duration interval, Partition &partition, EventLoop &loop)