Generic hardware access library
/home/cschwick/hal/generic/include/hal/PCIHardwareAddress.hh
Go to the documentation of this file.
00001 #ifndef __PCIHardwareAddress
00002 #define __PCIHardwareAddress
00003 
00004 #include <string>
00005 #include <iostream>
00006 
00007 #include "hal/GeneralHardwareAddress.hh"
00008 #include "hal/IllegalValueException.hh"
00009 
00010 namespace HAL {
00011 
00032 class PCIHardwareAddress : public GeneralHardwareAddress {
00033 public:
00034   PCIHardwareAddress( uint32_t address, 
00035                       enum AddressSpace addressSpace,
00036                       uint32_t barId = 0 )
00037     throw (IllegalValueException);
00038 
00039   virtual bool isIOSpace() const throw();
00040   virtual uint32_t getAddressModifier() const
00041     throw( IllegalOperationException );
00042   virtual void print( std::ostream& os = std::cout ) const;
00043 
00044   virtual GeneralHardwareAddress* clone() const;
00045 
00046 private:
00050   std::string getAddressSpaceString() const;
00051 };
00052 
00053 } /* namespace HAL */
00054 
00055 #endif /* __PCIHardwareAddress */