summaryrefslogtreecommitdiff
path: root/display.h
diff options
context:
space:
mode:
Diffstat (limited to 'display.h')
-rw-r--r--display.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/display.h b/display.h
index 9d39c2b..08276c3 100644
--- a/display.h
+++ b/display.h
@@ -18,6 +18,7 @@
#include <string>
#include <vector>
+#include <map>
#include <glcdgraphics/bitmap.h>
#include <glcddrivers/driver.h>
@@ -47,6 +48,25 @@ enum eDisplayMode
DisplayModeInteractive
};
+// external data set via SVDRP
+class cExtData
+{
+private:
+ std::map<std::string,std::string> data;
+ std::map<std::string,std::string>::iterator it;
+ std::map<std::string,uint64_t> expData;
+ std::map<std::string,uint64_t>::iterator expDataIt;
+public:
+ cExtData(void) {}
+ ~cExtData(void) { data.clear(); expData.clear(); }
+
+ bool Set(std::string key, std::string value, uint32_t expire = 0);
+ bool Unset(std::string key);
+ bool IsSet(std::string key);
+ std::string Get(std::string key);
+};
+
+
// Display update Thread
class cGraphLCDDisplay : public cThread
{
@@ -71,6 +91,7 @@ public:
GLCD::cDriver * GetDriver() const { return mLcd; }
const eDisplayMode GetDisplayMode() const { return mDisplayMode; }
+ cExtData * GetExtData() const { return mExtData; }
protected:
virtual void Action();
@@ -104,6 +125,7 @@ private:
/* display mode (normal or interactive) */
eDisplayMode mDisplayMode;
uint64_t LastTimeDisplayMode;
+ cExtData * mExtData;
};
#endif