00001 #!/usr/bin/env python 00002 # -*- coding: euc-jp -*- 00003 00004 00005 ## 00006 # @file PortCallBack.py 00007 # @brief PortCallBack class 00008 # @date $Date: 2007/09/20 $ 00009 # @author Noriaki Ando <n-ando@aist.go.jp> and Shinji Kurihara 00010 # 00011 # Copyright (C) 2006-2008 00012 # Noriaki Ando 00013 # Task-intelligence Research Group, 00014 # Intelligent Systems Research Institute, 00015 # National Institute of 00016 # Advanced Industrial Science and Technology (AIST), Japan 00017 # All rights reserved. 00018 00019 00020 #============================================================ 00021 # callback functor base classes 00022 # 00023 00024 ## 00025 # @if jp 00026 # @class ConnectCallback 00027 # @brief connect/notify_connect() 時のコールバック抽象クラス 00028 # 00029 # Portに対してconnect/notify_connect() 等が呼び出される時に呼び出される 00030 # コールバックファンクタ。引数に RTC::ConnectorProfile を取る。 00031 # 00032 # @param profile ConnectorProfile 00033 # 00034 # @since 1.0.0 00035 # 00036 # @else 00037 # @class ConnectCallback 00038 # @brief Callback functor abstract for connect/notify_connect() funcs 00039 # 00040 # This is the interface for callback functor for connect/notify_connect() 00041 # invocation in Port. Argument is RTC::ConnectorProfile that is given 00042 # these functions. 00043 # 00044 # @param profile ConnectorProfile 00045 # 00046 # @since 1.0.0 00047 # 00048 # @endif 00049 # 00050 class ConnectionCallback: 00051 """ 00052 """ 00053 00054 ## 00055 # @if jp 00056 # 00057 # @brief コールバック関数 00058 # 00059 # connect/notify_connect() 等が呼び出される時に呼び出される 00060 # コールバック関数 00061 # 00062 # @param self 00063 # @param profile ConnectorProfile 00064 # 00065 # @else 00066 # 00067 # @brief Callback method 00068 # 00069 # This is the callback method invoked when connect/notify_connect() 00070 # invocation in Port. 00071 # 00072 # @param self 00073 # @param profile ConnectorProfile 00074 # 00075 # @endif 00076 # 00077 # virtual void operator()(RTC::ConnectorProfile& profile) = 0; 00078 def __call__(self, profile): 00079 pass 00080 00081 00082 ## 00083 # @if jp 00084 # @class DisconnectCallback 00085 # @brief disconnect/notify_disconnect() 時のコールバック抽象クラス 00086 # 00087 # Portに対してdisconnect/notify_disconnect() 等が呼び出される時に呼び出される 00088 # コールバックファンクタ。引数に接続IDを取る。 00089 # 00090 # @since 1.0.0 00091 # 00092 # @else 00093 # @class DisconnectCallback 00094 # @brief Callback functor abstract for disconnect/notify_disconnect() funcs 00095 # 00096 # This is the interface for callback functor for 00097 # disconnect/notify_disconnect() invocation in Port. 00098 # Argument is connector ID is given these functions. 00099 # 00100 # @since 1.0.0 00101 # 00102 # @endif 00103 # 00104 class DisconnectCallback: 00105 """ 00106 """ 00107 00108 ## 00109 # @if jp 00110 # 00111 # @brief コールバック関数 00112 # 00113 # disconnect/notify_disconnect() 等が呼び出される時に呼び出される 00114 # コールバック関数 00115 # 00116 # @param self 00117 # @param connector_id Connector ID 00118 # 00119 # @else 00120 # 00121 # @brief Callback method 00122 # 00123 # This is the callback method invoked when disconnect/notify_disconnect() 00124 # invocation in Port. 00125 # 00126 # @param self 00127 # @param connector_id Connector ID 00128 # 00129 # @endif 00130 # 00131 # virtual void operator()(const char* connector_id) = 0; 00132 def __call__(self, connector_id): 00133 pass 00134 00135 00136 ## 00137 # @if jp 00138 # @class OnWrite 00139 # @brief write() 時のコールバッククラス(サブクラス実装用) 00140 # 00141 # DataPortのバッファにデータがwrite()される直前に呼び出されるコールバック用<BR> 00142 # ※サブクラスでの実装参照用 00143 # 00144 # @since 0.4.0 00145 # 00146 # @else 00147 # @class OnPut 00148 # @brief OnPut abstract class 00149 # 00150 # @endif 00151 class OnWrite: 00152 """ 00153 """ 00154 00155 ## 00156 # @if jp 00157 # 00158 # @brief コールバック関数 00159 # 00160 # バッファにデータが書き込まれる直前に呼び出されるコールバック関数 00161 # 00162 # @param self 00163 # @param value バッファに書き込まれるデータ 00164 # 00165 # @else 00166 # 00167 # @brief Callback function 00168 # 00169 # This is the callback method invoked immediately before data is written 00170 # into the buffer. 00171 # 00172 # @param self 00173 # @param value Data that is written into the buffer 00174 # 00175 # @endif 00176 # 00177 def __call__(self, value): 00178 pass 00179 00180 00181 00182 ## 00183 # @if jp 00184 # @class OnWriteConvert 00185 # @brief write() 時のデータ変換コールバッククラス(サブクラス実装用) 00186 # 00187 # InPort/OutPortのバッファにデータが write()される時に呼び出される<BR> 00188 # ※サブクラスでの実装参照用 00189 # コールバック用インターフェース。 00190 # このコールバックの戻り値がバッファに格納される。 00191 # 00192 # @since 0.4.0 00193 # 00194 # @else 00195 # @class OnWriteConvert 00196 # @brief OnWriteConvert abstract class 00197 # 00198 # @endif 00199 class OnWriteConvert: 00200 """ 00201 """ 00202 00203 ## 00204 # @if jp 00205 # 00206 # @brief コールバック関数 00207 # 00208 # バッファにデータが書き込まれる際に呼び出されるコールバック関数。 00209 # 00210 # @param self 00211 # @param value 変換前データ 00212 # @return 変換後データ 00213 # 00214 # @else 00215 # 00216 # @brief Callback function 00217 # 00218 # This is the callback function invoked when data is written into the 00219 # buffer. 00220 # 00221 # @param self 00222 # @param value Data to be converted 00223 # @return Converted data 00224 # 00225 # @endif 00226 # 00227 def __call__(self,value): 00228 pass 00229 00230 00231 00232 ## 00233 # @if jp 00234 # @class OnRead 00235 # @brief read() 時のコールバッククラス(サブクラス実装用) 00236 # 00237 # InPort/OutPortのバッファからデータが read()される直線に呼び出される 00238 # コールバック用インターフェース。<BR> 00239 # ※サブクラスでの実装参照用 00240 # 00241 # @since 0.4.0 00242 # 00243 # @else 00244 # @class OnRead 00245 # @brief OnRead abstract class 00246 # 00247 # @endif 00248 class OnRead: 00249 """ 00250 """ 00251 00252 ## 00253 # @if jp 00254 # 00255 # @brief コールバックメソッド 00256 # 00257 # バッファからデータが読み出される直前に呼び出されるコールバック関数。 00258 # 00259 # @else 00260 # 00261 # @brief Callback function 00262 # 00263 # This is the callback method invoked immediately before data is readout 00264 # from the buffer. 00265 # 00266 # @endif 00267 def __call__(self): 00268 pass 00269 00270 00271 00272 ## 00273 # @if jp 00274 # @class OnReadConvert 00275 # @brief read() 時のデータ変換コールバッククラス(サブクラス実装用) 00276 # 00277 # InPort/OutPortのバッファからデータが read()される際に呼び出される 00278 # コールバック用インターフェース。 00279 # このコールバックの戻り値がread()の戻り値となる。<BR> 00280 # ※サブクラスでの実装参照用 00281 # 00282 # @since 0.4.0 00283 # 00284 # @else 00285 # @class OnReadConvert 00286 # @brief OnReadConvert abstract class 00287 # 00288 # @endif 00289 class OnReadConvert: 00290 """ 00291 """ 00292 00293 ## 00294 # @if jp 00295 # 00296 # @brief コールバックメソッド 00297 # 00298 # バッファからデータが読み出される際に呼び出されるコールバック関数 00299 # であり、operator()() の戻り値は InPort の read() の戻り値となる、 00300 # またはデータ変数に格納される。 00301 # 00302 # @param self 00303 # @param value バッファから読みだされたデータ 00304 # @return 変換後のデータ。データポート変数にはこの値が格納される。 00305 # 00306 # @else 00307 # 00308 # @brief Callback method 00309 # 00310 # This function is the callback function invoked when data is 00311 # readout from the buffer, and the return value of operator()() 00312 # is used as return value of InPort's read() or it is stored in 00313 # the InPort data variable. 00314 # 00315 # @param self 00316 # @param value Data that is readout from buffer 00317 # @return Converted data. These data are stored in the port's variable. 00318 # 00319 # @endif 00320 # 00321 def __call__(self,value): 00322 pass