Description
Door, as defined by the IDL interface, is another simple example of a
component like Lamp except that it also contains one synchronous method,
move(...). The two asynchronous methods are open() and close()
respectively. This example has four properties and uses an ACS thread.
What can I gain from this example?
- an example derived from the ACS::CharacteristicComponent IDL interface.
- overriding component lifecycle methods (see execute).
- asynchronous method implementation accomplished by inheriting methods from the ActionImplementator class.
- read-only and read-write property usage.
- writing values to read-only BACI properties by using the property's underlying DevIO instance.
- limited exception handling.
- extensive CORBA error handling.
- thread management using ACS.
- standard ACS logging macros.
- very simple example of a state machine (i.e., the Door's positions).
Links