00001 // -*- C++ -*- 00010 #ifndef SimRangeUrg_H 00011 #define SimRangeUrg_H 00012 00013 #include <rtm/Manager.h> 00014 #include <rtm/DataFlowComponentBase.h> 00015 #include <rtm/CorbaPort.h> 00016 #include <rtm/DataInPort.h> 00017 #include <rtm/DataOutPort.h> 00018 #include <rtm/idl/BasicDataTypeSkel.h> 00019 00020 // Service implementation headers 00021 // <rtc-template block="service_impl_h"> 00022 00023 // </rtc-template> 00024 00025 // Service Consumer stub headers 00026 // <rtc-template block="consumer_stub_h"> 00027 #include "intellirobotStub.h" 00028 00029 // </rtc-template> 00030 00031 using namespace RTC; 00032 00038 class SimRangeUrg 00039 : public RTC::DataFlowComponentBase 00040 { 00041 public: 00046 SimRangeUrg(RTC::Manager* manager); 00047 00051 ~SimRangeUrg(); 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 TimedDoubleSeq m_in; 00228 InPort<TimedDoubleSeq> m_inIn; 00229 00230 // </rtc-template> 00231 00232 00233 // DataOutPort declaration 00234 // <rtc-template block="outport_declare"> 00235 TimedLongSeq m_out; 00238 OutPort<TimedLongSeq> m_outOut; 00239 00240 // </rtc-template> 00241 00242 // CORBA Port declaration 00243 // <rtc-template block="corbaport_declare"> 00244 00245 // </rtc-template> 00246 00247 // Service declaration 00248 // <rtc-template block="service_declare"> 00249 00250 // </rtc-template> 00251 00252 // Consumer declaration 00253 // <rtc-template block="consumer_declare"> 00254 00255 // </rtc-template> 00256 00257 private: 00258 // <rtc-template block="private_attribute"> 00259 00260 // </rtc-template> 00261 00262 // <rtc-template block="private_operation"> 00263 00264 // </rtc-template> 00265 00266 }; 00267 00268 00269 extern "C" 00270 { 00271 DLL_EXPORT void SimRangeUrgInit(RTC::Manager* manager); 00272 }; 00273 00274 #endif // SimRangeUrg_H