00001
#ifndef _ACSSIM_TEST_IDL_
00002
#define _ACSSIM_TEST_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
#include <baci.idl>
00032
#include <enumpropMACRO.idl>
00033
#include <acsnc.idl>
00034
00035
#pragma prefix "alma"
00036
00037 #define MAKE_METHOD(T) \
00038
typedef sequence<T> T##Seq; \
00039
typedef T T##Array[12]; \
00040
T T##Plain(out T z); \
00041
T T##On(in T z, inout T zz, out T zzz); \
00042
T##Seq T##SeqOn(in T##Seq z, inout T##Seq zz, out T##Seq zzz ); \
00043
T##Array T##ArrayOn(in T##Array z, inout T##Array zz, out T##Array zzz); \
00044
attribute T T##plainAttribute; \
00045
readonly attribute T T##ROAttribute; \
00046
attribute T##Seq T##plainSeqAttribute; \
00047
readonly attribute T##Seq T##ROSeqAttribute; \
00048
attribute T##Array T##plainArrayAttribute; \
00049
readonly attribute T##Array T##ROArrayAttribute
00050
00051 module acssimTest
00052 {
00053
00054 enum OnOffStates {
ONN,
ONNN,
ONNNN,
BAR,
CAR,
DAR,
SAR,
NAR,
FAR };
00055
00056
00057 struct garbage
00058 {
00059 float absoluteDiff;
00060 OnOffStates status;
00061 };
00062
00063
00064 interface
JunkCharComp :
ACS::CharacteristicComponent {};
00065 interface
JunkBaciProp :
ACS::RWdouble {};
00066
00067 struct complexStruct
00068 {
00069 garbage myGarbage;
00070 JunkCharComp myJunkCharComp;
00071 };
00072
00073
00074
00075 interface
JunkControl :
ACS::CharacteristicComponent
00076 {
00077
00078 oneway
void onewayOn();
00079
void on();
00080
00081
MAKE_METHOD(
char);
00082
MAKE_METHOD(
long);
00083
MAKE_METHOD(OnOffStates);
00084
MAKE_METHOD(
garbage);
00085
MAKE_METHOD(
JunkCharComp);
00086
MAKE_METHOD(
JunkBaciProp);
00087
MAKE_METHOD(
complexStruct);
00088
00089 };
00090 };
00091
#endif