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