Generic hardware access library
HAL::VMEHardwareAddress Class Reference

Specifies address and access mode for VME items. More...

#include <VMEHardwareAddress.hh>

Inheritance diagram for HAL::VMEHardwareAddress:
HAL::GeneralHardwareAddress

List of all members.

Public Member Functions

 VMEHardwareAddress (uint32_t address, uint32_t addressModifier, uint32_t dataWidth) throw ( IllegalValueException )
virtual uint32_t getAddressModifier () const throw ()
 Return the address modifier for VME modules.
virtual bool isIOSpace () const throw (IllegalOperationException)
 Test on the address space.
virtual void print (std::ostream &os=std::cout) const
 The implementation depends on the technology.
virtual GeneralHardwareAddressclone () const
 This method is needed to make deep copies of AddressTables.

Private Member Functions

std::string getAddressSpaceString () const
 A helper for the print function;.

Private Attributes

uint32_t addressModifier_

Detailed Description

Specifies address and access mode for VME items.

A VME access to an item of a VME-module is specified by the the offset to the baseaddress, the width of the data to be transfered and the access context which is specified in the addressModifier. Note that the baseaddress itself is not contained in this class since it is a property of the VME-module and NOT a property of the item to be accessed. (Similarly in the PCIAddress the BAR-Id is contained but NOT the value of the Bar itself.)

See also:
GeneralHardwareAddress, PCIHardwareAddress
Author:
Christoph Schwick
Revision:
1.1
Date:
2007/03/05 18:02:10

Definition at line 35 of file VMEHardwareAddress.hh.


Constructor & Destructor Documentation

HAL::VMEHardwareAddress::VMEHardwareAddress ( uint32_t  address,
uint32_t  addressModifier,
uint32_t  dataWidth 
) throw ( IllegalValueException )
Parameters:
dataWidthis the data width in bytes.

Definition at line 6 of file VMEHardwareAddress.cc.


Member Function Documentation

This method is needed to make deep copies of AddressTables.

Implements HAL::GeneralHardwareAddress.

Definition at line 59 of file VMEHardwareAddress.cc.

uint32_t HAL::VMEHardwareAddress::getAddressModifier ( ) const throw () [virtual]

Return the address modifier for VME modules.

This function throws an Exception for PCI modules since in PCI there are no address modifiers.

Implements HAL::GeneralHardwareAddress.

Definition at line 29 of file VMEHardwareAddress.cc.

std::string HAL::VMEHardwareAddress::getAddressSpaceString ( ) const [private]

A helper for the print function;.

Definition at line 40 of file VMEHardwareAddress.cc.

Test on the address space.

For VME Hardware Addresses this function throws an exception since there is no IO-space in VME.

Implements HAL::GeneralHardwareAddress.

Definition at line 34 of file VMEHardwareAddress.cc.

void HAL::VMEHardwareAddress::print ( std::ostream &  os = std::cout) const [virtual]

The implementation depends on the technology.

Implements HAL::GeneralHardwareAddress.

Definition at line 50 of file VMEHardwareAddress.cc.


Member Data Documentation

Reimplemented from HAL::GeneralHardwareAddress.

Definition at line 61 of file VMEHardwareAddress.hh.


The documentation for this class was generated from the following files: