Rod.h

00001 // *** this file is generated by genconfig, do not modify it ***
00002 
00003 #ifndef _Rod_0_SCTDAL_0__H_
00004 #define _Rod_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 // forward declaration for classes used in relationships
00016 
00017 namespace SCTDAL {
00018     class RodMUR;
00019 }
00020 namespace SCTDAL {
00021     class Slave;
00022 }
00023 
00024 namespace SCTDAL {
00029   class Rod : public virtual ::DalObject {
00030 
00031     friend class ::Configuration;
00032 
00033     public:
00034 
00035       Rod(::Configuration& conf, ::ConfigObject& obj);
00036       virtual ~Rod();
00037 
00045       static Rod * create(::Configuration& conf, const std::string& id = "");
00046 
00052       bool destroy(::Configuration& conf);
00053 
00054 
00055     public:
00056 
00057       static const std::string s_class_name;
00058       virtual void init(bool init_children);
00059 
00060 
00061     private:
00062 
00063       void check_init() const {if(!p_was_read) const_cast<Rod*>(this)->init(false);}
00064       static void update(::Configuration& conf, const ::ConfigurationChange * change);
00065       static void reset(::Configuration& conf, bool re_initialise_obj);
00066 
00067 
00068     public:
00069 
00070       virtual void print(unsigned int, bool, std::ostream&) const;
00071 
00072 
00073     private:
00074 
00075       unsigned short m_id;
00076       unsigned short m_slot;
00077       std::vector<const SCTDAL::Slave*> m_slaves;
00078       std::vector<const SCTDAL::RodMUR*> m_rodMURs;
00079 
00080 
00081     public:
00082 
00088       unsigned short get_id() const { check_init(); return m_id; }
00089       unsigned short id() const { check_init(); return m_id; }
00090 
00096       bool set_id(unsigned short value) { clear(); return p_obj.set_by_val("id", value); }
00097 
00102       unsigned short get_slot() const { check_init(); return m_slot; }
00103       unsigned short slot() const { check_init(); return m_slot; }
00104 
00109       bool set_slot(unsigned short value) { clear(); return p_obj.set_by_val("slot", value); }
00110 
00115       const std::vector<const SCTDAL::Slave*>& get_slaves() const { check_init(); return m_slaves; }
00116       const std::vector<const SCTDAL::Slave*>& slaves() const { check_init(); return m_slaves; }
00117 
00122       bool set_slaves(const std::vector<const SCTDAL::Slave*>& value);
00123 
00128       const std::vector<const SCTDAL::RodMUR*>& get_rodMURs() const { check_init(); return m_rodMURs; }
00129       const std::vector<const SCTDAL::RodMUR*>& rodMURs() const { check_init(); return m_rodMURs; }
00130 
00135       bool set_rodMURs(const std::vector<const SCTDAL::RodMUR*>& value);
00136 
00137   };
00138 
00139     // out stream operators
00140 
00141   std::ostream& operator<<(std::ostream&, const Rod*);
00142   std::ostream& operator<<(std::ostream&, const Rod&);
00143 
00144   typedef std::vector<const Rod*>::const_iterator RodIterator;
00145 
00146 }
00147 
00148 #endif

Generated on Mon Feb 6 14:01:26 2006 for SCT DAQ/DCS Software - C++ by  doxygen 1.4.6