summaryrefslogtreecommitdiff
path: root/varparser.h
diff options
context:
space:
mode:
authorChristian Wieninger <cwieninger@gmx.de>2010-09-26 14:09:57 +0200
committerChristian Wieninger <cwieninger@gmx.de>2010-09-26 14:09:57 +0200
commit9efac7dc163ee573072fe1cdf64fb0dceb655982 (patch)
tree5d662f2a7d764fdabd704e52f11268dc5badf0f5 /varparser.h
parent44fe54115300b604865789018b560ec28edfcf3f (diff)
downloadvdr-plugin-epgsearch-9efac7dc163ee573072fe1cdf64fb0dceb655982.tar.gz
vdr-plugin-epgsearch-9efac7dc163ee573072fe1cdf64fb0dceb655982.tar.bz2
new 'lenght' command for script language
Diffstat (limited to 'varparser.h')
-rw-r--r--varparser.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/varparser.h b/varparser.h
index 3a018bc..0a9fc11 100644
--- a/varparser.h
+++ b/varparser.h
@@ -40,6 +40,15 @@ typedef enum
class cVarParser
{
+ typedef enum
+ {
+ composed=0,
+ condition,
+ shellcmd,
+ connectcmd,
+ lengthcmd
+ } exprType;
+
public:
string varName;
string condEqLeft;
@@ -53,18 +62,21 @@ class cVarParser
string cmdArgs;
string connectAddr;
- int connectPort;
+ int connectPort;
+ exprType type;
- cVarParser() : cmd(NULL), connectPort(-1) {}
+ cVarParser() : cmd(NULL), connectPort(-1), type(composed) {}
bool Parse(const string& input);
bool ParseExp(const string& input);
bool IsCondExpr();
bool IsShellCmd();
bool IsConnectCmd();
+ bool IsLengthCmd();
private:
bool ParseAssign(const string& input);
bool ParseShellCmd(const string& input);
bool ParseConnectCmd(const string& input);
+ bool ParseLengthCmd(const string& input);
bool ParseCondExp(const string& input);
bool ParseEquality(const string& input);
bool ParseVar(const string& input);