00001 // -*- C++ -*- 00010 #ifndef SAMPLESIMULATIONEC_H 00011 #define SAMPLESIMULATIONEC_H 00012 00013 #include <rtm/idl/BasicDataType.hh> 00014 #include <rtm/Manager.h> 00015 #include <rtm/DataFlowComponentBase.h> 00016 #include <rtm/CorbaPort.h> 00017 #include <rtm/DataInPort.h> 00018 #include <rtm/DataOutPort.h> 00019 #include <rtm/idl/BasicDataTypeSkel.h> 00020 00021 // Service implementation headers 00022 // <rtc-template block="service_impl_h"> 00023 00024 // </rtc-template> 00025 00026 // Service Consumer stub headers 00027 // <rtc-template block="consumer_stub_h"> 00028 00029 // </rtc-template> 00030 00031 using namespace RTC; 00032 00038 class SampleSimulationEC 00039 : public RTC::DataFlowComponentBase 00040 { 00041 public: 00046 SampleSimulationEC(RTC::Manager* manager); 00047 00051 ~SampleSimulationEC(); 00052 00053 // <rtc-template block="public_attribute"> 00054 00055 // </rtc-template> 00056 00057 // <rtc-template block="public_operation"> 00058 00059 // </rtc-template> 00060 00061 /*** 00062 * 00063 * The initialize action (on CREATED->ALIVE transition) 00064 * formaer rtc_init_entry() 00065 * 00066 * @return RTC::ReturnCode_t 00067 * 00068 * 00069 */ 00070 // virtual RTC::ReturnCode_t onInitialize(); 00071 00072 /*** 00073 * 00074 * The finalize action (on ALIVE->END transition) 00075 * formaer rtc_exiting_entry() 00076 * 00077 * @return RTC::ReturnCode_t 00078 * 00079 * 00080 */ 00081 // virtual RTC::ReturnCode_t onFinalize(); 00082 00083 /*** 00084 * 00085 * The startup action when ExecutionContext startup 00086 * former rtc_starting_entry() 00087 * 00088 * @param ec_id target ExecutionContext Id 00089 * 00090 * @return RTC::ReturnCode_t 00091 * 00092 * 00093 */ 00094 // virtual RTC::ReturnCode_t onStartup(RTC::UniqueId ec_id); 00095 00096 /*** 00097 * 00098 * The shutdown action when ExecutionContext stop 00099 * former rtc_stopping_entry() 00100 * 00101 * @param ec_id target ExecutionContext Id 00102 * 00103 * @return RTC::ReturnCode_t 00104 * 00105 * 00106 */ 00107 // virtual RTC::ReturnCode_t onShutdown(RTC::UniqueId ec_id); 00108 00109 /*** 00110 * 00111 * The activated action (Active state entry action) 00112 * former rtc_active_entry() 00113 * 00114 * @param ec_id target ExecutionContext Id 00115 * 00116 * @return RTC::ReturnCode_t 00117 * 00118 * 00119 */ 00120 virtual RTC::ReturnCode_t onActivated(RTC::UniqueId ec_id); 00121 00122 /*** 00123 * 00124 * The deactivated action (Active state exit action) 00125 * former rtc_active_exit() 00126 * 00127 * @param ec_id target ExecutionContext Id 00128 * 00129 * @return RTC::ReturnCode_t 00130 * 00131 * 00132 */ 00133 // virtual RTC::ReturnCode_t onDeactivated(RTC::UniqueId ec_id); 00134 00135 /*** 00136 * 00137 * The execution action that is invoked periodically 00138 * former rtc_active_do() 00139 * 00140 * @param ec_id target ExecutionContext Id 00141 * 00142 * @return RTC::ReturnCode_t 00143 * 00144 * 00145 */ 00146 virtual RTC::ReturnCode_t onExecute(RTC::UniqueId ec_id); 00147 00148 /*** 00149 * 00150 * The aborting action when main logic error occurred. 00151 * former rtc_aborting_entry() 00152 * 00153 * @param ec_id target ExecutionContext Id 00154 * 00155 * @return RTC::ReturnCode_t 00156 * 00157 * 00158 */ 00159 // virtual RTC::ReturnCode_t onAborting(RTC::UniqueId ec_id); 00160 00161 /*** 00162 * 00163 * The error action in ERROR state 00164 * former rtc_error_do() 00165 * 00166 * @param ec_id target ExecutionContext Id 00167 * 00168 * @return RTC::ReturnCode_t 00169 * 00170 * 00171 */ 00172 // virtual RTC::ReturnCode_t onError(RTC::UniqueId ec_id); 00173 00174 /*** 00175 * 00176 * The reset action that is invoked resetting 00177 * This is same but different the former rtc_init_entry() 00178 * 00179 * @param ec_id target ExecutionContext Id 00180 * 00181 * @return RTC::ReturnCode_t 00182 * 00183 * 00184 */ 00185 // virtual RTC::ReturnCode_t onReset(RTC::UniqueId ec_id); 00186 00187 /*** 00188 * 00189 * The state update action that is invoked after onExecute() action 00190 * no corresponding operation exists in OpenRTm-aist-0.2.0 00191 * 00192 * @param ec_id target ExecutionContext Id 00193 * 00194 * @return RTC::ReturnCode_t 00195 * 00196 * 00197 */ 00198 // virtual RTC::ReturnCode_t onStateUpdate(RTC::UniqueId ec_id); 00199 00200 /*** 00201 * 00202 * The action that is invoked when execution context's rate is changed 00203 * no corresponding operation exists in OpenRTm-aist-0.2.0 00204 * 00205 * @param ec_id target ExecutionContext Id 00206 * 00207 * @return RTC::ReturnCode_t 00208 * 00209 * 00210 */ 00211 // virtual RTC::ReturnCode_t onRateChanged(RTC::UniqueId ec_id); 00212 00213 00214 protected: 00215 // <rtc-template block="protected_attribute"> 00216 00217 // </rtc-template> 00218 00219 // <rtc-template block="protected_operation"> 00220 00221 // </rtc-template> 00222 00223 // DataInPort declaration 00224 // <rtc-template block="inport_declare"> 00225 00226 // </rtc-template> 00227 00228 00229 // DataOutPort declaration 00230 // <rtc-template block="outport_declare"> 00231 00232 // </rtc-template> 00233 00234 // CORBA Port declaration 00235 // <rtc-template block="corbaport_declare"> 00236 00237 // </rtc-template> 00238 00239 // Service declaration 00240 // <rtc-template block="service_declare"> 00241 00242 // </rtc-template> 00243 00244 // Consumer declaration 00245 // <rtc-template block="consumer_declare"> 00246 00247 // </rtc-template> 00248 00249 private: 00250 // <rtc-template block="private_attribute"> 00251 00252 // </rtc-template> 00253 00254 // <rtc-template block="private_operation"> 00255 00256 // </rtc-template> 00257 int i; 00258 00259 }; 00260 00261 00262 extern "C" 00263 { 00264 DLL_EXPORT void SampleSimulationECInit(RTC::Manager* manager); 00265 }; 00266 00267 #endif // SAMPLESIMULATIONEC_H