Generic hardware access library
|
00001 #ifndef __VME64xHardwareAddress 00002 #define __VME64xHardwareAddress 00003 00004 #include <string> 00005 #include <iostream> 00006 00007 #include "hal/GeneralHardwareAddress.hh" 00008 #include "hal/IllegalValueException.hh" 00009 #include "hal/AddressSpace.hh" 00010 00011 namespace HAL { 00012 00034 class VME64xHardwareAddress : public GeneralHardwareAddress { 00035 public: 00043 VME64xHardwareAddress( uint32_t address, 00044 enum AddressSpace addressSpace, 00045 uint32_t mappedWindowId, 00046 uint32_t width ) 00047 throw( IllegalValueException ); 00048 00049 virtual uint32_t getAddressModifier() const 00050 throw(); 00051 virtual bool isIOSpace() const 00052 throw (IllegalOperationException); 00053 virtual void print( std::ostream& os = std::cout ) const; 00054 00061 void setWindowConfiguration( uint32_t AM, 00062 uint32_t dataWdith ) 00063 throw( IllegalValueException ); 00064 00065 virtual GeneralHardwareAddress* clone() const; 00066 00067 private: 00071 std::string getAddressSpaceString() const; 00072 00073 uint32_t addressModifier_; 00074 00075 }; 00076 00077 } /* namespace HAL */ 00078 00079 #endif /* __VME64xHardwareAddress */