00001
#ifndef _ENUM_PROP_TEST_DEVICE_IDL
00002
#define _ENUM_PROP_TEST_DEVICE_IDL
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
#include <baci.idl>
00035
#include <enumpropMACRO.idl>
00036
#include <enumpropStd.idl>
00037
00038 #define BASE_STATES DISABLED, ENABLED, DIAGNOSE, \
00039
SHUTDOWN, INITIALIZE
00040
00041 module ENUMPROP_TEST {
00042
00043 enum States {
BASE_STATES, ON, OFF};
00044
00045
ACS_ENUM(States);
00046
00047
00048 interface
StateMachine {
00049
00050 exception
NoSuchState { };
00051 exception
NoSuchTransition { };
00052
00060 readonly attribute ROStates currentState;
00064
ACSErr::Completion enable() raises (
NoSuchTransition);
00065 ACSErr::Completion disable() raises (NoSuchTransition);
00066 ACSErr::Completion diagnose() raises (NoSuchTransition);
00067 ACSErr::Completion shutdown() raises (NoSuchTransition);
00068 ACSErr::Completion init() raises (NoSuchTransition);
00069 ACSErr::Completion on() raises (NoSuchTransition);
00070 ACSErr::Completion off() raises (NoSuchTransition);
00071
00072
00076 readonly attribute RWStates currentStateRW;
00077
00081 oneway
void serverShutdown();
00082
00083 };
00084
00085 interface
enumpropTestDevice : ACS::CharacteristicComponent,
StateMachine {
00086
00087 };
00088
00092 interface
enumpropTestBool {
00093
00094 readonly attribute ACS::ROBool boolRO;
00095 readonly attribute ACS::RWBool boolRW;
00096
00097 };
00098
00099 };
00100
00101
#endif
00102