00001 /* -*- mode: c++ -*- */ 00002 #ifndef __DAQpp_DAQObject_h__ 00003 #define __DAQpp_DAQObject_h__ 00004 00005 #include <DAQ++/DAQid.h> 00006 #include <DAQ++/RunState.h> 00007 #include <DAQ++/Parameter.h> 00008 00009 namespace DAQpp 00010 { 00027 class DAQObject : public ParameterHolder 00028 { 00029 private: 00031 DAQid _id; 00033 RunState status; 00034 00035 public: 00036 // Default Constructor 00037 DAQObject() : _id("<unnamed>") 00038 {} 00039 00043 DAQObject(const DAQid &id) : _id(id) 00044 {} 00045 00047 DAQid const & get_id() const 00048 { 00049 return _id; 00050 } 00051 00053 RunState &GetStatus() 00054 { 00055 return status; 00056 } 00057 00059 const RunState &GetStatus() const 00060 { 00061 return status; 00062 } 00063 00068 void add_par(const char *pnam, Parameter *par, const DAQid *id = 0) 00069 { 00070 ParameterHolder::add_par(pnam, par, &_id); 00071 } 00072 00074 00081 virtual bool get_monitor_data(int &size, char **data) 00082 { 00083 size = 0; 00084 *data = 0; 00085 return false; 00086 } 00088 virtual void reset_monitor_data() 00089 {} 00090 00091 00092 00093 }; 00094 } 00095 00096 #endif