00001
00002
00003 #ifndef _RodMUR_0_SCTDAL_0__H_
00004 #define _RodMUR_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 Channel;
00019 }
00020 namespace SCTDAL {
00021 class RodModule;
00022 }
00023 namespace SCTDAL {
00024 class RodRModule;
00025 }
00026
00027 namespace SCTDAL {
00032 class RodMUR : public virtual ::DalObject {
00033
00034 friend class ::Configuration;
00035
00036 public:
00037
00038 RodMUR(::Configuration& conf, ::ConfigObject& obj);
00039 virtual ~RodMUR();
00040
00048 static RodMUR * create(::Configuration& conf, const std::string& id = "");
00049
00055 bool destroy(::Configuration& conf);
00056
00057
00058 public:
00059
00060 static const std::string s_class_name;
00061 virtual void init(bool init_children);
00062
00063
00064 private:
00065
00066 void check_init() const {if(!p_was_read) const_cast<RodMUR*>(this)->init(false);}
00067 static void update(::Configuration& conf, const ::ConfigurationChange * change);
00068 static void reset(::Configuration& conf, bool re_initialise_obj);
00069
00070
00071 public:
00072
00073 virtual void print(unsigned int, bool, std::ostream&) const;
00074
00075
00076 private:
00077
00078 unsigned short m_order;
00079 unsigned short m_id;
00080 std::vector<const SCTDAL::Channel*> m_channels;
00081 std::vector<const SCTDAL::RodModule*> m_rodModules;
00082 std::vector<const SCTDAL::RodRModule*> m_rodRModules;
00083
00084
00085 public:
00086
00092 unsigned short get_order() const { check_init(); return m_order; }
00093 unsigned short order() const { check_init(); return m_order; }
00094
00100 bool set_order(unsigned short value) { clear(); return p_obj.set_by_val("order", value); }
00101
00106 unsigned short get_id() const { check_init(); return m_id; }
00107 unsigned short id() const { check_init(); return m_id; }
00108
00113 bool set_id(unsigned short value) { clear(); return p_obj.set_by_val("id", value); }
00114
00119 const std::vector<const SCTDAL::Channel*>& get_channels() const { check_init(); return m_channels; }
00120 const std::vector<const SCTDAL::Channel*>& channels() const { check_init(); return m_channels; }
00121
00126 bool set_channels(const std::vector<const SCTDAL::Channel*>& value);
00127
00132 const std::vector<const SCTDAL::RodModule*>& get_rodModules() const { check_init(); return m_rodModules; }
00133 const std::vector<const SCTDAL::RodModule*>& rodModules() const { check_init(); return m_rodModules; }
00134
00139 bool set_rodModules(const std::vector<const SCTDAL::RodModule*>& value);
00140
00145 const std::vector<const SCTDAL::RodRModule*>& get_rodRModules() const { check_init(); return m_rodRModules; }
00146 const std::vector<const SCTDAL::RodRModule*>& rodRModules() const { check_init(); return m_rodRModules; }
00147
00152 bool set_rodRModules(const std::vector<const SCTDAL::RodRModule*>& value);
00153
00154 };
00155
00156
00157
00158 std::ostream& operator<<(std::ostream&, const RodMUR*);
00159 std::ostream& operator<<(std::ostream&, const RodMUR&);
00160
00161 typedef std::vector<const RodMUR*>::const_iterator RodMURIterator;
00162
00163 }
00164
00165 #endif