00001
00002
00003 #ifndef _PowerParam_0_SCTDAL_0__H_
00004 #define _PowerParam_0_SCTDAL_0__H_
00005
00006 #include <iostream>
00007 #include <string>
00008 #include <map>
00009 #include <vector>
00010
00011 #include <config/Configuration.h>
00012 #include <config/DalObject.h>
00013
00014
00015
00016 namespace SCTDAL {
00021 class PowerParam : public virtual ::DalObject {
00022
00023 friend class ::Configuration;
00024
00025 public:
00026
00027 PowerParam(::Configuration& conf, ::ConfigObject& obj);
00028 virtual ~PowerParam();
00029
00037 static PowerParam * create(::Configuration& conf, const std::string& id = "");
00038
00044 bool destroy(::Configuration& conf);
00045
00046
00047 public:
00048
00049 static const std::string s_class_name;
00050 virtual void init(bool init_children);
00051
00052
00053 private:
00054
00055 void check_init() const {if(!p_was_read) const_cast<PowerParam*>(this)->init(false);}
00056 static void update(::Configuration& conf, const ::ConfigurationChange * change);
00057 static void reset(::Configuration& conf, bool re_initialise_obj);
00058
00059
00060 public:
00061
00062 virtual void print(unsigned int, bool, std::ostream&) const;
00063
00064
00065 private:
00066
00067 std::string m_state;
00068 std::string m_name;
00069 float m_value;
00070 float m_loAlarm;
00071 float m_loWarn;
00072 float m_hiWarn;
00073 float m_hiAlarm;
00074
00075
00076 public:
00077
00082 const std::string& get_state() const { check_init(); return m_state; }
00083 const std::string& state() const { check_init(); return m_state; }
00084
00089 bool set_state(const std::string& value) { clear(); return p_obj.set_enum("state", value); }
00090
00095 const std::string& get_name() const { check_init(); return m_name; }
00096 const std::string& name() const { check_init(); return m_name; }
00097
00102 bool set_name(const std::string& value) { clear(); return p_obj.set_by_ref("name", value); }
00103
00108 float get_value() const { check_init(); return m_value; }
00109 float value() const { check_init(); return m_value; }
00110
00115 bool set_value(float value) { clear(); return p_obj.set_by_val("value", value); }
00116
00121 float get_loAlarm() const { check_init(); return m_loAlarm; }
00122 float loAlarm() const { check_init(); return m_loAlarm; }
00123
00128 bool set_loAlarm(float value) { clear(); return p_obj.set_by_val("loAlarm", value); }
00129
00134 float get_loWarn() const { check_init(); return m_loWarn; }
00135 float loWarn() const { check_init(); return m_loWarn; }
00136
00141 bool set_loWarn(float value) { clear(); return p_obj.set_by_val("loWarn", value); }
00142
00147 float get_hiWarn() const { check_init(); return m_hiWarn; }
00148 float hiWarn() const { check_init(); return m_hiWarn; }
00149
00154 bool set_hiWarn(float value) { clear(); return p_obj.set_by_val("hiWarn", value); }
00155
00160 float get_hiAlarm() const { check_init(); return m_hiAlarm; }
00161 float hiAlarm() const { check_init(); return m_hiAlarm; }
00162
00167 bool set_hiAlarm(float value) { clear(); return p_obj.set_by_val("hiAlarm", value); }
00168
00169 };
00170
00171
00172
00173 std::ostream& operator<<(std::ostream&, const PowerParam*);
00174 std::ostream& operator<<(std::ostream&, const PowerParam&);
00175
00176 typedef std::vector<const PowerParam*>::const_iterator PowerParamIterator;
00177
00178 }
00179
00180 #endif