ECFactory.py
Go to the documentation of this file.
00001 #!/usr/bin/env python
00002 # -*- coding: euc-jp -*-
00003 
00004 ##
00005 # @file ECFactory.py
00006 # @brief ExecutionContext Factory class
00007 # @date $Date: 2007/04/13 16:06:22 $
00008 # @author Noriaki Ando <n-ando@aist.go.jp> and Shinji Kurihara
00009 # 
00010 # Copyright (C) 2007-2008
00011 #     Task-intelligence Research Group,
00012 #     Intelligent Systems Research Institute,
00013 #     National Institute of
00014 #         Advanced Industrial Science and Technology (AIST), Japan
00015 #     All rights reserved.
00016 
00017 
00018 import string
00019 
00020 import OpenRTM_aist
00021 
00022 
00023 ##
00024 # @if jp
00025 #
00026 # @brief ExecutionContext破棄用関数
00027 # 
00028 # ExecutionContextのインスタンスを破棄するための関数。
00029 #
00030 # \param ec 破棄対象ExecutionContextのインスタンス
00031 #
00032 # @else
00033 #
00034 # @endif
00035 def ECDelete(ec):
00036   del ec
00037 
00038 
00039 ##
00040 # @if jp
00041 # @class ECFactoryBase
00042 # @brief ECFactoryBase 抽象クラス
00043 # 
00044 # ExecutionContext生成用Factoryの抽象クラス。
00045 # 各ExecutionContextを生成するための具象Factoryクラスは、
00046 # 以下の関数の実装を提供しなければならない。
00047 #
00048 # publicインターフェースとして以下のものを提供する。
00049 # - name()   : 生成対象ExecutionContext名称の取得
00050 # - create() : ExecutionContextインスタンスの生成
00051 # - destroy(): ExecutionContextインスタンスの破棄
00052 #
00053 # @since 0.4.0
00054 #
00055 # @else
00056 #
00057 # @endif
00058 class ECFactoryBase :
00059   """
00060   """
00061 
00062   ##
00063   # @if jp
00064   #
00065   # @brief 生成対象ExecutionContext名称取得用関数(サブクラス実装用)
00066   # 
00067   # 生成対象ExecutionContextの名称を取得するための関数。<BR>
00068   # この関数は具象サブクラスで実装する必要がある。
00069   #
00070   # @param self
00071   #
00072   # @return 生成対象ExecutionContext名称
00073   # 
00074   # @else
00075   # 
00076   # This method should be implemented in subclasses
00077   #
00078   # @endif
00079   def name(self):
00080     pass
00081 
00082 
00083   ##
00084   # @if jp
00085   #
00086   # @brief ExecutionContext生成用関数(サブクラス実装用)
00087   # 
00088   # ExecutionContextのインスタンスを生成するための関数。<BR>
00089   # この関数は具象サブクラスで実装する必要がある。
00090   #
00091   # @param self
00092   #
00093   # @return 生成したExecutionContextインスタンス
00094   # 
00095   # @else
00096   #
00097   # @endif
00098   def create(self):
00099     pass
00100 
00101   ##
00102   # @if jp
00103   #
00104   # @brief ExecutionContext破棄用関数(サブクラス実装用)
00105   # 
00106   # ExecutionContextのインスタンスを破棄するための関数。<BR>
00107   # この関数は具象サブクラスで実装する必要がある。
00108   #
00109   # @param self
00110   # @param comp 破棄対象のExecutionContextインスタンス
00111   # 
00112   # @else
00113   #
00114   # @endif
00115   def destroy(self, comp):
00116     pass
00117 
00118 
00119 
00120 ##
00121 # @if jp
00122 # @class ECFactoryPython
00123 # @brief ECFactoryPython クラス
00124 # 
00125 # Python言語用ExecutionContextインスタンスを生成するFactoryクラス。
00126 #
00127 # @since 0.4.1
00128 #
00129 # @else
00130 #
00131 # @endif
00132 class ECFactoryPython(ECFactoryBase):
00133   """
00134   """
00135 
00136   ##
00137   # @if jp
00138   #
00139   # @brief コンストラクタ
00140   # 
00141   # コンストラクタ
00142   #
00143   # @param self
00144   # @param name 生成対象ExecutionContext名称
00145   # @param new_func ExecutionContext生成用関数
00146   # @param delete_func ExecutionContext破棄用関数
00147   # 
00148   # @else
00149   #
00150   # @endif
00151   def __init__(self, name, new_func, delete_func):
00152     self._name   = name
00153     self._New    = new_func
00154     self._Delete = delete_func
00155     
00156     return
00157 
00158 
00159   ##
00160   # @if jp
00161   #
00162   # @brief 生成対象ExecutionContext名称を取得
00163   # 
00164   # 生成対象のExecutionContext名称を取得する。
00165   #
00166   # @param self
00167   #
00168   # @return 生成対象ExecutionContext名称
00169   # 
00170   # @else
00171   #
00172   # @endif
00173   def name(self):
00174     return self._name
00175 
00176   ##
00177   # @if jp
00178   #
00179   # @brief 生成対象ExecutionContextインスタンスを生成
00180   # 
00181   # 生成対象のExecutionContextクラスのインスタンスを生成する。
00182   #
00183   # @param self
00184   #
00185   # @return 生成したExecutionContextインスタンス
00186   # 
00187   # @else
00188   #
00189   # @endif
00190   def create(self):
00191     return self._New()
00192 
00193   ##
00194   # @if jp
00195   #
00196   # @brief 対象ExecutionContextインスタンスを破棄
00197   # 
00198   # 対象ExecutionContextクラスのインスタンスを破棄する。
00199   #
00200   # @param self
00201   # @param ec 破棄対象ExecutionContextインスタンス
00202   # 
00203   # @else
00204   #
00205   # @endif
00206   def destroy(self, ec):
00207     self._Delete(ec)
00208     


openrtm_aist_python
Author(s): Shinji Kurihara
autogenerated on Thu Aug 27 2015 14:17:28