00001 // ===================================================================== 00024 // ===================================================================== 00025 #ifndef CLDAQ__TVMEMODULE_HH 00026 #define CLDAQ__TVMEMODULE_HH 00027 00028 #include "Tglobals.h" 00029 #include "TModule.hh" 00030 00031 00051 class TVmeModule 00052 : public TModule 00053 { 00054 00055 protected: 00056 Tsize_t theMappedSize; 00057 TvmeTransfer_t theTransferMode; 00058 Tint theFileDescriptor; 00059 Tcaddr_t theBaseAddress; 00060 Toff_t theOffsetAddress; 00061 00062 public: 00063 TVmeModule( Tint nch, Toff_t offset, Tint mapsize, TvmeTransfer_t mode ); 00064 TVmeModule( const TVmeModule& right ); 00065 00066 protected: 00067 virtual ~TVmeModule(); 00068 00069 public: 00070 virtual const TVmeModule& operator=( const TVmeModule& right ); 00071 virtual Tbool operator==( const TVmeModule& right ) const; 00072 virtual Tbool operator!=( const TVmeModule& right ) const; 00073 00074 public: 00075 Tsize_t GetMappedSize() const; 00076 TvmeTransfer_t GetTransferMode() const; 00077 Tint GetFileDescriptor() const; 00078 Tcaddr_t GetBaseAddress() const; 00079 Toff_t GetOffsetAddress() const; 00080 Tvoid SetMappedSize( Tsize_t mapsize ); 00081 Tvoid SetTransferMode( TvmeTransfer_t mode ); 00082 Tvoid SetFileDescriptor( Tint fd ); 00083 Tvoid SetBaseAddress( Tcaddr_t address ); 00084 Tvoid SetOffsetAddress( Toff_t offset ); 00085 00086 protected: 00087 Tvoid showBit( TUshort data, const Tstring comment = "" ) const; 00088 Tvoid setBit( TUshort* ptr, Tint nbit, Tbit bit ); 00089 Tbit getBit( TUshort* ptr, Tint nbit ) const; 00090 00091 }; 00092 00093 inline Tsize_t TVmeModule::GetMappedSize() const 00094 { 00095 return theMappedSize; 00096 } 00097 00098 inline TvmeTransfer_t TVmeModule::GetTransferMode() const 00099 { 00100 return theTransferMode; 00101 } 00102 00103 inline Tint TVmeModule::GetFileDescriptor() const 00104 { 00105 return theFileDescriptor; 00106 } 00107 00108 inline Tcaddr_t TVmeModule::GetBaseAddress() const 00109 { 00110 return theBaseAddress; 00111 } 00112 00113 inline Toff_t TVmeModule::GetOffsetAddress() const 00114 { 00115 return theOffsetAddress; 00116 } 00117 00118 inline Tvoid TVmeModule::SetMappedSize( Tsize_t mapsize ) 00119 { 00120 theMappedSize = mapsize; 00121 return; 00122 } 00123 00124 inline Tvoid TVmeModule::SetTransferMode( TvmeTransfer_t mode ) 00125 { 00126 theTransferMode = mode; 00127 return; 00128 } 00129 00130 inline Tvoid TVmeModule::SetFileDescriptor( Tint fd ) 00131 { 00132 theFileDescriptor = fd; 00133 return; 00134 } 00135 00136 inline Tvoid TVmeModule::SetBaseAddress( Tcaddr_t address ) 00137 { 00138 theBaseAddress = address; 00139 return; 00140 } 00141 00142 inline Tvoid TVmeModule::SetOffsetAddress( Toff_t offset ) 00143 { 00144 theOffsetAddress = offset; 00145 return; 00146 } 00147 00148 #endif