Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

RTComponent.idl

Go to the documentation of this file.
00001 // -*- IDL -*-
00027 /*
00028  * $Log: RTComponent.idl,v $
00029  * Revision 1.2  2005/09/07 05:09:05  n-ando
00030  * RTComponent's service management feature was added.
00031  *
00032  * Revision 1.1.1.1  2005/05/12 09:06:18  n-ando
00033  * Public release.
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   //    : NamedObject, PropertySet
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          * Component state definition
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         // Transition operation of component activity state
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         // Main activity
00255         //------------------------------------------------------------
00275         RtmRes rtc_worker();
00276         
00277         
00278         //------------------------------------------------------------
00279         // Status handling
00280         //------------------------------------------------------------
00293         readonly attribute OutPort rtc_state;  // ComponentState
00294         
00295         //============================================================
00296         // InPorts and OutPorts
00297         //============================================================
00311         exception NoSuchName { string name; };
00312         
00313         //------------------------------------------------------------
00314         // Get inports and outport object reference
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         //      readonly attribute ConnectorList connectors;
00382         //      OutPort get_connector(in string name) raises (NoSuchName);
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         // Component profile and configuration
00392         //============================================================
00393         //      readonly attribute PropertySet rtc_settings;
00394         
00395   };
00396   
00404   typedef sequence<RTComponent> RTComponentList;
00405   
00406 };  // end of module RTM
00407 
00408 #endif // __RTComponent_idl__

Generated on Fri Jan 5 15:43:50 2007 for OpenRTM by  doxygen 1.4.1