aboutsummaryrefslogtreecommitdiff
path: root/src/StateFile.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/StateFile.hxx')
-rw-r--r--src/StateFile.hxx13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/StateFile.hxx b/src/StateFile.hxx
index 0888b25a..39c3fcdf 100644
--- a/src/StateFile.hxx
+++ b/src/StateFile.hxx
@@ -20,21 +20,17 @@
#ifndef MPD_STATE_FILE_HXX
#define MPD_STATE_FILE_HXX
-#include <glib.h>
+#include "event/TimeoutMonitor.hxx"
+#include "gcc.h"
#include <string>
struct Partition;
-class EventLoop;
-class StateFile {
+class StateFile final : private TimeoutMonitor {
std::string path;
Partition &partition;
- EventLoop &loop;
-
- /** the GLib source id for the save timer */
- guint source_id;
/**
* These version numbers determine whether we need to save the state
@@ -45,14 +41,13 @@ class StateFile {
public:
StateFile(const char *path, Partition &partition, EventLoop &loop);
- ~StateFile();
void Read();
void Write();
void AutoWrite();
private:
- static gboolean TimerCallback(gpointer data);
+ virtual bool OnTimeout() override;
};
#endif /* STATE_FILE_H */