00001
00002
00003 #ifndef _RodModule_0_SCTDAL_0__H_
00004 #define _RodModule_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 #include "RodRModule.h"
00017
00018
00019 namespace SCTDAL {
00024 class RodModule : public SCTDAL::RodRModule {
00025
00026 friend class ::Configuration;
00027
00028 public:
00029
00030 RodModule(::Configuration& conf, ::ConfigObject& obj);
00031 virtual ~RodModule();
00032
00040 static RodModule * create(::Configuration& conf, const std::string& id = "");
00041
00047 bool destroy(::Configuration& conf);
00048
00049
00050 public:
00051
00052 static const std::string s_class_name;
00053 virtual void init(bool init_children);
00054
00055
00056 private:
00057
00058 void check_init() const {if(!p_was_read) const_cast<RodModule*>(this)->init(false);}
00059 static void update(::Configuration& conf, const ::ConfigurationChange * change);
00060 static void reset(::Configuration& conf, bool re_initialise_obj);
00061
00062
00063 public:
00064
00065 virtual void print(unsigned int, bool, std::ostream&) const;
00066
00067
00068 private:
00069
00070 unsigned short m_group;
00071
00072
00073 public:
00074
00079 unsigned short get_group() const { check_init(); return m_group; }
00080 unsigned short group() const { check_init(); return m_group; }
00081
00086 bool set_group(unsigned short value) { clear(); return p_obj.set_by_val("group", value); }
00087
00088 };
00089
00090
00091
00092 std::ostream& operator<<(std::ostream&, const RodModule*);
00093 std::ostream& operator<<(std::ostream&, const RodModule&);
00094
00095 typedef std::vector<const RodModule*>::const_iterator RodModuleIterator;
00096
00097 }
00098
00099 #endif