Implementation
[Developer Manual]


Detailed Description

This section describes the base class for all Rulbus Devices. and it describes the classes that implement the ISA Rulbus Interface and the EPP Rulbus Interface

It also describes the exception classes for programming errors and the exception classes for usage errors.

Further it contains the functions for port-I/O, inp() and outp().

Use cases

Create device -- A Rulbus device comes into existence by defining a variable of its type or creating it dynamically via new.

Another way to create Rulbus devices is to read a Rulbus configuration file by calling RulbusDeviceFactory::createDevices(). The latter method is used by the Rulbus Device Library DLL.

Use device -- When a Rulbus device wants to access the Rulbus to read or write a byte ( getByte(), putByte() ), the access is delegated via theRulbus() to an object that implements the interface RulbusInterface: IsaRulbusInterface or EppRulbusInterface.

When the Rulbus devices have been created from a Rulbus configuration file, they can be accessed from TheRulbusDeviceList. In this case, access to the Rulbus devices is done via a RulbusDeviceProxy that protects the device against simultaneous access from different threads of execution (or from different processes in case of the Rulbus Device Library DLL).

Destroy Device -- A Rulbus device ceases to exist when it goes out-of-scope, or is deleted via delete.

Create Rulbus interface -- The proper Rulbus Interface can be created via RulbusInterfaceFactory::createInterface(), which uses environment variable RULBUS to determine the Rulbus Interface object to create.

If the Rulbus interface has not been created via an excplicit call to RulbusInterfaceFactory::createInterface(), then TheRulbusInterface::instance() will take care of it the first time the Rulbus is accessed.

Architecture

Class RulbusDevice is the central point of the library: from it the concrete classes for the various Rulbus modules are built and it forms the link to the Rulbus Interfaces to actually access the Rulbus.

The architecture of the Rulbus Device Class Library uses several software design patterns as published by Gamma and associates [1995]. The architecture is depicted in the UML diagram .


Modules

Common
 common types and macro's.

Assertion
 exceptions for programming errors.

Rulbus Errors
 exceptions for the Rulbus Device Class Library.

Rulbus Device
 Rulbus Device related classes.

Rulbus Interface
 Rulbus Interface related classes.


Generated on Tue Oct 12 14:12:03 2004 for Rulbus Device Class Library for Microsoft Windows by doxygen 1.3.4