00001 // File: RodStatus.h 00002 00003 #ifndef SCTPIXELROD_RODSTATUS_H 00004 #define SCTPIXELROD_RODSTATUS_H 00005 00006 #include "RodModule.h" 00007 00008 namespace SctPixelRod { 00009 00021 class RodStatus 00022 { 00023 public: 00024 RodStatus(); // Constructor 00025 RodStatus( const RodStatus& ); // Copy constructor 00026 ~RodStatus(); // Destructor 00027 RodStatus& operator=( const RodStatus&); //Overload = operator 00028 friend ostream& operator<<(ostream& os, RodModule& rod); //Overload << operator 00029 00031 long getSlotNumber() const { return m_slotNumber; }; 00032 00034 long getSerialNumber() const { return m_serialNumber; }; 00035 00037 long getNumSlaves() const { return m_numSlaves; }; 00038 00040 unsigned long getStatusReg(long regNumber) const {return 00041 m_statusReg[regNumber]; }; 00042 00044 unsigned long getCommandReg(long regNumber) const {return 00045 m_commandReg[regNumber]; }; 00046 00048 PrimState getPrimState() const {return m_primState;}; 00049 00051 TextBuffState getTextState() const {return m_textState;}; 00052 00053 00054 // Methods 00055 void snapShot(RodModule& rod); 00056 00057 private: 00059 unsigned long m_serialNumber; 00061 unsigned long m_slotNumber; 00063 unsigned long m_numSlaves; 00065 unsigned long m_statusReg[3]; 00067 unsigned long m_commandReg[2]; 00069 PrimState m_primState; 00071 TextBuffState m_textState; 00072 00073 }; // End of RodStatus declaration 00074 }; // End namespace SctPixelRod 00075 00076 #endif // SCTPIXELROD_RODSTATUS_H