00001
00002
00003 #ifndef _Channel_0_SCTDAL_0__H_
00004 #define _Channel_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 Channel : public virtual ::DalObject {
00022
00023 friend class ::Configuration;
00024
00025 public:
00026
00027 Channel(::Configuration& conf, ::ConfigObject& obj);
00028 virtual ~Channel();
00029
00037 static Channel * 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<Channel*>(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 unsigned short m_outputCurrent;
00069 unsigned short m_outputDelay;
00070 unsigned short m_outputMarkSpace;
00071 unsigned short m_stream0Threshold;
00072 unsigned short m_stream0Delay;
00073 unsigned short m_stream0ErrMask;
00074 unsigned short m_stream1Threshold;
00075 unsigned short m_stream1Delay;
00076 unsigned short m_stream1ErrMask;
00077 unsigned short m_outputFibre;
00078 unsigned short m_stream0Fibre;
00079 unsigned short m_stream1Fibre;
00080
00081
00082 public:
00083
00088 unsigned short get_id() const { check_init(); return m_id; }
00089 unsigned short id() const { check_init(); return m_id; }
00090
00095 bool set_id(unsigned short value) { clear(); return p_obj.set_by_val("id", value); }
00096
00101 unsigned short get_outputCurrent() const { check_init(); return m_outputCurrent; }
00102 unsigned short outputCurrent() const { check_init(); return m_outputCurrent; }
00103
00108 bool set_outputCurrent(unsigned short value) { clear(); return p_obj.set_by_val("outputCurrent", value); }
00109
00114 unsigned short get_outputDelay() const { check_init(); return m_outputDelay; }
00115 unsigned short outputDelay() const { check_init(); return m_outputDelay; }
00116
00121 bool set_outputDelay(unsigned short value) { clear(); return p_obj.set_by_val("outputDelay", value); }
00122
00127 unsigned short get_outputMarkSpace() const { check_init(); return m_outputMarkSpace; }
00128 unsigned short outputMarkSpace() const { check_init(); return m_outputMarkSpace; }
00129
00134 bool set_outputMarkSpace(unsigned short value) { clear(); return p_obj.set_by_val("outputMarkSpace", value); }
00135
00140 unsigned short get_stream0Threshold() const { check_init(); return m_stream0Threshold; }
00141 unsigned short stream0Threshold() const { check_init(); return m_stream0Threshold; }
00142
00147 bool set_stream0Threshold(unsigned short value) { clear(); return p_obj.set_by_val("stream0Threshold", value); }
00148
00153 unsigned short get_stream0Delay() const { check_init(); return m_stream0Delay; }
00154 unsigned short stream0Delay() const { check_init(); return m_stream0Delay; }
00155
00160 bool set_stream0Delay(unsigned short value) { clear(); return p_obj.set_by_val("stream0Delay", value); }
00161
00166 unsigned short get_stream0ErrMask() const { check_init(); return m_stream0ErrMask; }
00167 unsigned short stream0ErrMask() const { check_init(); return m_stream0ErrMask; }
00168
00173 bool set_stream0ErrMask(unsigned short value) { clear(); return p_obj.set_by_val("stream0ErrMask", value); }
00174
00179 unsigned short get_stream1Threshold() const { check_init(); return m_stream1Threshold; }
00180 unsigned short stream1Threshold() const { check_init(); return m_stream1Threshold; }
00181
00186 bool set_stream1Threshold(unsigned short value) { clear(); return p_obj.set_by_val("stream1Threshold", value); }
00187
00192 unsigned short get_stream1Delay() const { check_init(); return m_stream1Delay; }
00193 unsigned short stream1Delay() const { check_init(); return m_stream1Delay; }
00194
00199 bool set_stream1Delay(unsigned short value) { clear(); return p_obj.set_by_val("stream1Delay", value); }
00200
00205 unsigned short get_stream1ErrMask() const { check_init(); return m_stream1ErrMask; }
00206 unsigned short stream1ErrMask() const { check_init(); return m_stream1ErrMask; }
00207
00212 bool set_stream1ErrMask(unsigned short value) { clear(); return p_obj.set_by_val("stream1ErrMask", value); }
00213
00218 unsigned short get_outputFibre() const { check_init(); return m_outputFibre; }
00219 unsigned short outputFibre() const { check_init(); return m_outputFibre; }
00220
00225 bool set_outputFibre(unsigned short value) { clear(); return p_obj.set_by_val("outputFibre", value); }
00226
00231 unsigned short get_stream0Fibre() const { check_init(); return m_stream0Fibre; }
00232 unsigned short stream0Fibre() const { check_init(); return m_stream0Fibre; }
00233
00238 bool set_stream0Fibre(unsigned short value) { clear(); return p_obj.set_by_val("stream0Fibre", value); }
00239
00244 unsigned short get_stream1Fibre() const { check_init(); return m_stream1Fibre; }
00245 unsigned short stream1Fibre() const { check_init(); return m_stream1Fibre; }
00246
00251 bool set_stream1Fibre(unsigned short value) { clear(); return p_obj.set_by_val("stream1Fibre", value); }
00252
00253 };
00254
00255
00256
00257 std::ostream& operator<<(std::ostream&, const Channel*);
00258 std::ostream& operator<<(std::ostream&, const Channel&);
00259
00260 typedef std::vector<const Channel*>::const_iterator ChannelIterator;
00261
00262 }
00263
00264 #endif