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 OnWrite 00027 # @brief write() 時のコールバッククラス(サブクラス実装用) 00028 # 00029 # DataPortのバッファにデータがwrite()される直前に呼び出されるコールバック用<BR> 00030 # ※サブクラスでの実装参照用 00031 # 00032 # @param DataType バッファに書き込むデータ型 00033 # 00034 # @since 0.4.0 00035 # 00036 # @else 00037 # @class OnPut 00038 # @brief OnPut abstract class 00039 # 00040 # @endif 00041 class OnWrite: 00042 def __call__(self, value): 00043 pass 00044 00045 00046 00047 ## 00048 # @if jp 00049 # @class OnWriteConvert 00050 # @brief write() 時のデータ変換コールバッククラス(サブクラス実装用) 00051 # 00052 # InPort/OutPortのバッファにデータが write()される時に呼び出される<BR> 00053 # ※サブクラスでの実装参照用 00054 # コールバック用インターフェース。 00055 # このコールバックの戻り値がバッファに格納される。 00056 # 00057 # @since 0.4.0 00058 # 00059 # @else 00060 # @class OnWriteConvert 00061 # @brief OnWriteConvert abstract class 00062 # 00063 # @endif 00064 class OnWriteConvert: 00065 def __call__(self,value): 00066 pass 00067 00068 00069 00070 ## 00071 # @if jp 00072 # @class OnRead 00073 # @brief read() 時のコールバッククラス(サブクラス実装用) 00074 # 00075 # InPort/OutPortのバッファからデータが read()される直線に呼び出される 00076 # コールバック用インターフェース。<BR> 00077 # ※サブクラスでの実装参照用 00078 # 00079 # @since 0.4.0 00080 # 00081 # @else 00082 # @class OnRead 00083 # @brief OnRead abstract class 00084 # 00085 # @endif 00086 class OnRead: 00087 def __call__(self): 00088 pass 00089 00090 00091 00092 ## 00093 # @if jp 00094 # @class OnReadConvert 00095 # @brief read() 時のデータ変換コールバッククラス(サブクラス実装用) 00096 # 00097 # InPort/OutPortのバッファからデータが read()される際に呼び出される 00098 # コールバック用インターフェース。 00099 # このコールバックの戻り値がread()の戻り値となる。<BR> 00100 # ※サブクラスでの実装参照用 00101 # 00102 # @since 0.4.0 00103 # 00104 # @else 00105 # @class OnReadConvert 00106 # @brief OnReadConvert abstract class 00107 # 00108 # @endif 00109 class OnReadConvert: 00110 def __call__(self,value): 00111 pass 00112 00113 00114 00115 ## 00116 # @if jp 00117 # @class OnOverflow 00118 # @brief バッファオーバーフロー時のコールバッククラス(サブクラス実装用) 00119 # 00120 # InPort/OutPortのバッファにデータがput()される時、バッファオーバーフローが 00121 # 生じた場合に呼ばれるコールバックメソッド。<BR> 00122 # ※サブクラスでの実装参照用 00123 # 00124 # @since 0.4.0 00125 # 00126 # @else 00127 # @class OnOverflow 00128 # @brief OnOverflow abstract class 00129 # 00130 # @endif 00131 class OnOverflow: 00132 def __call__(self,value): 00133 pass 00134 00135 00136 ## 00137 # @if jp 00138 # @class OnUnderflow 00139 # @brief Underflow 時のコールバッククラス(サブクラス実装用) 00140 # 00141 # @since 0.4.0 00142 # 00143 # InPort/OutPortのバッファにデータがread()される時に、読み出すべきデータが 00144 # ない場合に呼び出されるコールバックインタフェース。 00145 # このコールバックの戻り値がread()の戻り値となる。<BR> 00146 # ※サブクラスでの実装参照用 00147 # 00148 # @else 00149 # @class OnUnderflow 00150 # @brief OnUnderflow abstract class 00151 # 00152 # @endif 00153 class OnUnderflow: 00154 def __call__(self,value): 00155 pass