00001
00002
00003 #ifndef _PowerChannel_0_SCTDAL_0__H_
00004 #define _PowerChannel_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
00017 namespace SCTDAL {
00018 class PowerParam;
00019 }
00020
00021 namespace SCTDAL {
00026 class PowerChannel : public virtual ::DalObject {
00027
00028 friend class ::Configuration;
00029
00030 public:
00031
00032 PowerChannel(::Configuration& conf, ::ConfigObject& obj);
00033 virtual ~PowerChannel();
00034
00042 static PowerChannel * create(::Configuration& conf, const std::string& id = "");
00043
00049 bool destroy(::Configuration& conf);
00050
00051
00052 public:
00053
00054 static const std::string s_class_name;
00055 virtual void init(bool init_children);
00056
00057
00058 private:
00059
00060 void check_init() const {if(!p_was_read) const_cast<PowerChannel*>(this)->init(false);}
00061 static void update(::Configuration& conf, const ::ConfigurationChange * change);
00062 static void reset(::Configuration& conf, bool re_initialise_obj);
00063
00064
00065 public:
00066
00067 virtual void print(unsigned int, bool, std::ostream&) const;
00068
00069
00070 private:
00071
00072 unsigned short m_id;
00073 unsigned short m_MUR;
00074 unsigned short m_module;
00075 std::vector<const SCTDAL::PowerParam*> m_params;
00076
00077
00078 public:
00079
00084 unsigned short get_id() const { check_init(); return m_id; }
00085 unsigned short id() const { check_init(); return m_id; }
00086
00091 bool set_id(unsigned short value) { clear(); return p_obj.set_by_val("id", value); }
00092
00097 unsigned short get_MUR() const { check_init(); return m_MUR; }
00098 unsigned short MUR() const { check_init(); return m_MUR; }
00099
00104 bool set_MUR(unsigned short value) { clear(); return p_obj.set_by_val("MUR", value); }
00105
00110 unsigned short get_module() const { check_init(); return m_module; }
00111 unsigned short module() const { check_init(); return m_module; }
00112
00117 bool set_module(unsigned short value) { clear(); return p_obj.set_by_val("module", value); }
00118
00123 const std::vector<const SCTDAL::PowerParam*>& get_params() const { check_init(); return m_params; }
00124 const std::vector<const SCTDAL::PowerParam*>& params() const { check_init(); return m_params; }
00125
00130 bool set_params(const std::vector<const SCTDAL::PowerParam*>& value);
00131
00132 };
00133
00134
00135
00136 std::ostream& operator<<(std::ostream&, const PowerChannel*);
00137 std::ostream& operator<<(std::ostream&, const PowerChannel&);
00138
00139 typedef std::vector<const PowerChannel*>::const_iterator PowerChannelIterator;
00140
00141 }
00142
00143 #endif