summaryrefslogtreecommitdiff
path: root/settings.h
diff options
context:
space:
mode:
Diffstat (limited to 'settings.h')
-rw-r--r--settings.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/settings.h b/settings.h
index 084d3f4..d22e5a7 100644
--- a/settings.h
+++ b/settings.h
@@ -30,6 +30,7 @@
#include "singleton.h"
#include "accessors.h"
#include <linux/em8300.h>
+#include <vector>
// ==================================
//! possible video modes
@@ -53,6 +54,15 @@ enum Ac3AudioMode {
AC3_PASSTHROUGH
};
+enum SettingsChange {
+ AUDIO,
+ BCS
+};
+class iSettingsObserver {
+public:
+ virtual void settingsChange(SettingsChange change) = 0;
+};
+
// ==================================
//! global interface to access all config datas of this plugin
/*
@@ -83,6 +93,13 @@ public:
Accessors<bool> loadFirmware;
Accessors<AudioDriver> audioDriver;
Accessors<Ac3AudioMode> ac3AudioMode;
+
+ // observer
+ void registerObserver(iSettingsObserver *observer);
+ void emitChange(SettingsChange change);
+
+private:
+ std::vector<iSettingsObserver *> observers;
};
#endif /*SETTINGS_H*/