Generic hardware access library
/home/cschwick/hal/generic/include/hal/VMEHardwareAddress.hh
Go to the documentation of this file.
00001 #ifndef __VMEHardwareAddress
00002 #define __VMEHardwareAddress
00003 
00004 #include <iostream>
00005 #include <string>
00006 
00007 #include "hal/GeneralHardwareAddress.hh"
00008 #include "hal/IllegalValueException.hh"
00009 
00010 namespace HAL {
00011 
00035 class VMEHardwareAddress : public GeneralHardwareAddress {
00036 public:
00040   VMEHardwareAddress( uint32_t address, 
00041                       uint32_t addressModifier,
00042                       uint32_t dataWidth )
00043     throw( IllegalValueException );
00044 
00045   virtual uint32_t getAddressModifier() const
00046     throw();
00047 
00048   virtual bool isIOSpace() const
00049     throw (IllegalOperationException);
00050 
00051   virtual void print( std::ostream& os = std::cout ) const;
00052 
00053   virtual GeneralHardwareAddress* clone() const;
00054 
00055 private:
00059   std::string getAddressSpaceString() const;
00060 
00061   uint32_t addressModifier_;
00062 
00063 };
00064 
00065 } /* namespace HAL */
00066 
00067 #endif /* __VMEHardwareAddress */