enumpropMACRO_included.idl
Go to the documentation of this file.00001
#ifndef _ENUMPROP_MACRO_INCLUDED_IDL_
00002
#define _ENUMPROP_MACRO_INCLUDED_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
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049 #define CALLBACK(T) interface CB##T : ACS::Callback {\
00050
oneway void working(in T value, in ACSErr::Completion c, in ACS::CBDescOut desc); \
00051
oneway void done(in T value, in ACSErr::Completion c, in ACS::CBDescOut desc); \
00052
};\
00053
typedef CB##T T##CB;
00054
00055 #define ALARM(T) interface Alarm##T : ACS::Callback {\
00056
oneway void alarm_raised(in T value, in ACSErr::Completion c, in ACS::CBDescOut desc);\
00057
oneway void alarm_cleared(in T value, in ACSErr::Completion c, in ACS::CBDescOut desc);\
00058
};\
00059
\
00060
typedef Alarm##T T##Alarm;
00061
00062 #define PENUM(T) interface P##T: ACS::TypelessProperty {\
00063
T get_sync(out ACSErr::Completion c);\
00064
void get_async(in ACS::CBpattern cb, in ACS::CBDescIn desc);\
00065
long get_history(in long n_last_values, out T##Seq vs, out ACS::TimeSeq ts);\
00066
ACS::Monitorpattern create_monitor(in ACS::CBpattern cb, in ACS::CBDescIn desc);\
00067
ACS::Monitor create_postponed_monitor (in ACS::Time start_time, in ACS::CBpattern cb, in ACS::CBDescIn desc);\
00068
readonly attribute ACS::TimeInterval default_timer_trigger;\
00069
readonly attribute ACS::TimeInterval min_timer_trigger;\
00070
readonly attribute T default_value;\
00071
readonly attribute ACS::stringSeq statesDescription;\
00072
readonly attribute ACS::ConditionSeq condition;\
00073
readonly attribute T##Seq allStates;\
00074
}
00075
00076
00077
00078
00079
00080
00081
00082 #define ROENUM(T) interface RO##T: P##T{\
00083
ACS::Subscription new_subscription_AlarmEnum(in ACS::Alarmpattern cb, in ACS::CBDescIn desc);\
00084
readonly attribute T##Seq alarm_on;\
00085
readonly attribute T##Seq alarm_off;\
00086
}
00087
00088
00089
00090
00091
00092
00093
00094 #define RWENUM(T) interface RW##T: P##T {\
00095
ACSErr::Completion set_sync(in T value);\
00096
void set_async(in T value, in ACS::CBvoid cb, in ACS::CBDescIn desc);\
00097
void set_nonblocking(in T value);\
00098
}
00099
00100
00101
00102
00103
00104
00105 #define ACS_ENUM(T) \
00106
typedef sequence<T> T##Seq; \
00107
CALLBACK(T)\
00108
ALARM(T)\
00109
PENUM(T);\
00110
ROENUM(T);\
00111
RWENUM(T)
00112
00113
#endif
00114
Generated on Thu Apr 30 02:26:27 2009 for ACS IDL interfaces by
1.3.8