summaryrefslogtreecommitdiff
path: root/glcdskin/variable.h
diff options
context:
space:
mode:
Diffstat (limited to 'glcdskin/variable.h')
-rw-r--r--glcdskin/variable.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/glcdskin/variable.h b/glcdskin/variable.h
index fdeebbc..8c6ef6f 100644
--- a/glcdskin/variable.h
+++ b/glcdskin/variable.h
@@ -23,6 +23,16 @@
namespace GLCD
{
+enum eEvalMode
+{
+ tevmAlways,
+ tevmTick,
+ tevmSwitch,
+ tevmOnce,
+ tevmInterval
+};
+
+
class cSkin;
class cSkinVariable
@@ -38,17 +48,21 @@ private:
cSkinFunction * mFunction;
cSkinDisplay mDummyDisplay;
cSkinObject mDummyObject;
+ eEvalMode mEvalMode;
+ int mEvalInterval;
+ uint64_t mTimestamp;
public:
cSkinVariable(cSkin * Parent);
+ bool ParseEvalMode(const std::string & Text);
bool ParseValue(const std::string & Text);
bool ParseCondition(const std::string & Text);
cSkin * Skin(void) const { return mSkin; }
const std::string & Id(void) const { return mId; }
// const cType & Value(void) const { return mValue; }
- const cType & Value(void) { if (mFunction != NULL) { mValue = mFunction->Evaluate(); } return mValue; } ;
+ const cType & Value(void);
cSkinFunction * Condition(void) const { return mCondition; }
};