00001
00002 #ifndef XSIL_PARAM_HH
00003 #define XSIL_PARAM_HH
00004
00005 #include "xsil/xobj.hh"
00006
00007 namespace xsil {
00008 class Xwriter;
00009
00016 class param : public xobj {
00017 public:
00021 param(void);
00022
00032 param(const char* Name, const char* Type=0, const char* Unit=0,
00033 const char* Value = 0);
00034
00043 param(const char* Name, const char* Unit, double Value);
00044
00053 param(const char* Name, const char* Unit, int Value);
00054
00058 ~param(void);
00059
00065 void Spew(Xwriter& xout) const;
00066
00072 param* Clone(void) const;
00073
00077 const char* getObjType(void) const;
00078
00083 const char* getUnit(void) const;
00084
00089 const char* getValue(void) const;
00090
00096 void setUnit(const char* Unit);
00097
00101 void setValue(const std::string& Value);
00102
00107 void setValue(double Value);
00108
00113 void setValue(unsigned int Value);
00114
00119 void setValue(int Value);
00120
00124 void setValue(const char* Value);
00125
00126 private:
00129 std::string mUnit;
00130
00133 std::string mValue;
00134 };
00135
00136 }
00137
00138 #endif // XSIL_PARAM_HH
00139
00140
00141