00001
00002
00003 #ifndef _Slave_0_SCTDAL_0__H_
00004 #define _Slave_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 Slave : public virtual ::DalObject {
00022
00023 friend class ::Configuration;
00024
00025 public:
00026
00027 Slave(::Configuration& conf, ::ConfigObject& obj);
00028 virtual ~Slave();
00029
00037 static Slave * 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<Slave*>(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 unsigned short m_id;
00068 std::string m_ipramFile;
00069 std::string m_idramFile;
00070 std::string m_extFile;
00071
00072
00073 public:
00074
00080 unsigned short get_id() const { check_init(); return m_id; }
00081 unsigned short id() const { check_init(); return m_id; }
00082
00088 bool set_id(unsigned short value) { clear(); return p_obj.set_by_val("id", value); }
00089
00094 const std::string& get_ipramFile() const { check_init(); return m_ipramFile; }
00095 const std::string& ipramFile() const { check_init(); return m_ipramFile; }
00096
00101 bool set_ipramFile(const std::string& value) { clear(); return p_obj.set_by_ref("ipramFile", value); }
00102
00107 const std::string& get_idramFile() const { check_init(); return m_idramFile; }
00108 const std::string& idramFile() const { check_init(); return m_idramFile; }
00109
00114 bool set_idramFile(const std::string& value) { clear(); return p_obj.set_by_ref("idramFile", value); }
00115
00120 const std::string& get_extFile() const { check_init(); return m_extFile; }
00121 const std::string& extFile() const { check_init(); return m_extFile; }
00122
00127 bool set_extFile(const std::string& value) { clear(); return p_obj.set_by_ref("extFile", value); }
00128
00129 };
00130
00131
00132
00133 std::ostream& operator<<(std::ostream&, const Slave*);
00134 std::ostream& operator<<(std::ostream&, const Slave&);
00135
00136 typedef std::vector<const Slave*>::const_iterator SlaveIterator;
00137
00138 }
00139
00140 #endif