00001 #ifndef _FRIDGE_IDL_
00002 #define _FRIDGE_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 #include <baci.idl>
00033 #include <enumpropMACRO.idl>
00034
00035 #pragma prefix "alma"
00036
00041 module FRIDGE
00042 {
00046 enum OnOffStates { ON, OFF };
00047 ACS_ENUM(OnOffStates);
00048
00052 enum OpClStates { OPEN, CLOSE };
00053 ACS_ENUM(OpClStates);
00054
00061 enum TemperatureStatus { OVERREF, ATREF, BELOWREF};
00062
00063
00068 struct temperatureDataBlockEvent
00069 {
00073 float absoluteDiff;
00077 TemperatureStatus status;
00078 };
00079
00084 const string CHANNELNAME_FRIDGE = "fridge";
00085
00086
00087
00092 interface FridgeControl : ACS::CharacteristicComponent
00093 {
00101 void on();
00102
00110 void off();
00111
00120 oneway void open();
00121
00130 oneway void close();
00131
00134 readonly attribute ACS::RWdouble refTemperature;
00135
00138 readonly attribute ROOnOffStates powerStatus;
00139
00142 readonly attribute ROOpClStates doorStatus;
00143
00146 readonly attribute ACS::ROdouble currTemperature;
00147
00152 struct NestedFridgeEvent
00153 {
00154 TemperatureStatus status;
00155 };
00156 typedef sequence<NestedFridgeEvent> NestedFridgeEventSeq;
00157
00158 };
00159
00160 };
00161
00162 #endif