00001
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038 #ifndef __RTComponent_idl__
00039 #define __RTComponent_idl__
00040
00041 #include "RTMBase.idl"
00042 #include "RTCInPort.idl"
00043 #include "RTCOutPort.idl"
00044 #include "RTCService.idl"
00045
00046
00047 module RTM {
00048
00064 interface RTComponent
00065
00066 {
00074 readonly attribute string instance_id;
00075
00083 readonly attribute string implementation_id;
00084
00092 readonly attribute string description;
00093
00101 readonly attribute string version;
00102
00110 readonly attribute string maker;
00111
00119 readonly attribute string category;
00120
00128 typedef short ComponentState;
00129
00130
00131
00132
00134 const ComponentState RTC_UNKNOWN = 0;
00136 const ComponentState RTC_BORN = 1;
00138 const ComponentState RTC_INITIALIZING = 2;
00140 const ComponentState RTC_READY = 3;
00142 const ComponentState RTC_STARTING = 4;
00144 const ComponentState RTC_ACTIVE = 5;
00146 const ComponentState RTC_STOPPING = 6;
00148 const ComponentState RTC_ABORTING = 7;
00150 const ComponentState RTC_ERROR = 8;
00152 const ComponentState RTC_FATAL_ERROR = 9;
00154 const ComponentState RTC_EXITING = 10;
00155
00163 exception IllegalTransition {};
00164
00165
00166
00167
00183 RtmRes rtc_start() raises (IllegalTransition);
00184
00200 RtmRes rtc_stop() raises (IllegalTransition);
00201
00218 RtmRes rtc_reset() raises (IllegalTransition);
00219
00234 RtmRes rtc_exit() raises (IllegalTransition);
00235
00250 RtmRes rtc_kill();
00251
00252
00253
00254
00255
00275 RtmRes rtc_worker();
00276
00277
00278
00279
00280
00293 readonly attribute OutPort rtc_state;
00294
00295
00296
00297
00311 exception NoSuchName { string name; };
00312
00313
00314
00315
00328 readonly attribute InPortList inports;
00329
00346 InPort get_inport(in string name) raises (NoSuchName);
00347
00360 readonly attribute OutPortList outports;
00361
00378 OutPort get_outport(in string name) raises (NoSuchName);
00379
00381
00382
00383
00384 RTCServiceProfileList get_service_profiles ()
00385 raises (NotAvailable);
00386 RTCServiceProfile get_service_profile (in string id)
00387 raises (InvalidParameter, InvalidReturnValue, NotAvailable);
00388 RTCService get_service (in string id)
00389 raises (InvalidParameter, InvalidReturnValue, NotAvailable);
00390
00391
00392
00393
00394
00395 };
00396
00404 typedef sequence<RTComponent> RTComponentList;
00405
00406 };
00407
00408 #endif