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().
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.
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. |