00001
00027
00028
00029
00030
00031
00032
00033
00034
00035 #ifndef __RTComponent_idl__
00036 #define __RTComponent_idl__
00037
00038 #include "RTMBase.idl"
00039 #include "RTCInPort.idl"
00040 #include "RTCOutPort.idl"
00041
00042
00043 module RTM {
00044
00060 interface RTComponent
00061
00062 {
00070 readonly attribute string instance_id;
00071
00079 readonly attribute string implementation_id;
00080
00088 readonly attribute string description;
00089
00097 readonly attribute string version;
00098
00106 readonly attribute string maker;
00107
00115 readonly attribute string category;
00116
00124 typedef short ComponentState;
00125
00126
00127
00128
00130 const ComponentState RTC_UNKNOWN = 0;
00132 const ComponentState RTC_BORN = 1;
00134 const ComponentState RTC_INITIALIZING = 2;
00136 const ComponentState RTC_READY = 3;
00138 const ComponentState RTC_STARTING = 4;
00140 const ComponentState RTC_ACTIVE = 5;
00142 const ComponentState RTC_STOPPING = 6;
00144 const ComponentState RTC_ABORTING = 7;
00146 const ComponentState RTC_ERROR = 8;
00148 const ComponentState RTC_FATAL_ERROR = 9;
00150 const ComponentState RTC_EXITING = 10;
00151
00159 exception IllegalTransition {};
00160
00161
00162
00163
00179 RtmRes rtc_start() raises (IllegalTransition);
00180
00196 RtmRes rtc_stop() raises (IllegalTransition);
00197
00214 RtmRes rtc_reset() raises (IllegalTransition);
00215
00230 RtmRes rtc_exit() raises (IllegalTransition);
00231
00246 RtmRes rtc_kill();
00247
00248
00249
00250
00251
00271 RtmRes rtc_worker();
00272
00273
00274
00275
00276
00289 readonly attribute OutPort rtc_state;
00290
00291
00292
00293
00307 exception NoSuchName { string name; };
00308
00309
00310
00311
00324 readonly attribute InPortList inports;
00325
00342 InPort get_inport(in string name) raises (NoSuchName);
00343
00356 readonly attribute OutPortList outports;
00357
00374 OutPort get_outport(in string name) raises (NoSuchName);
00375
00377
00378
00379
00380
00381
00382
00383
00384
00385
00386 };
00387
00395 typedef sequence<RTComponent> RTComponentList;
00396
00397 };
00398
00399 #endif // __RTComponent_idl__