OutPortProvider.py

説明を見る。
00001 #!/usr/bin/env python
00002 # -*- coding: euc-jp -*-
00003 
00004 ##
00005 # @file  OutPortProvider.py
00006 # @brief OutPortProvider class
00007 # @date  $Date: 2007/09/05$
00008 # @author Noriaki Ando <n-ando@aist.go.jp>
00009 #
00010 # Copyright (C) 2006-2008
00011 #     Noriaki Ando
00012 #     Task-intelligence Research Group,
00013 #     Intelligent Systems Research Institute,
00014 #     National Institute of
00015 #         Advanced Industrial Science and Technology (AIST), Japan
00016 #     All rights reserved.
00017 
00018 
00019 
00020 import OpenRTM
00021 
00022 ##
00023 # @if jp
00024 #
00025 # @class OutPortProvider
00026 # @brief OutPortProvider
00027 #
00028 # - Port に対して何を提供しているかを宣言する。
00029 #   PortProfile の properties に Provider に関する情報を追加する。
00030 #
00031 # (例) OutPort を Provide する場合
00032 #
00033 # OutPortCorbaProvider が以下を宣言
00034 #  - dataport.interface_type = CORBA_Any
00035 #  - dataport.dataflow_type = Push, Pull
00036 #  - dataport.subscription_type = Once, New, Periodic
00037 # 
00038 # @since 0.4.0
00039 #
00040 # @else
00041 #
00042 #
00043 # @endif
00044 class OutPortProvider:
00045   """
00046   """
00047 
00048 
00049 
00050   ##
00051   # @if jp
00052   # @brief コンストラクタ
00053   #
00054   # コンストラクタ
00055   #
00056   # @param self
00057   #
00058   # @else
00059   # @brief Constructor
00060   # @endif
00061   def __init__(self):
00062     self._properties = []
00063 
00064 
00065   ##
00066   # @if jp
00067   # @brief InterfaceProfile情報を公開する
00068   #
00069   # InterfaceProfile情報を公開する。
00070   # 引数で指定するプロパティ情報内の NameValue オブジェクトの
00071   # dataport.interface_type 値を調べ、当該ポートに設定されている
00072   # インターフェースタイプと一致する場合のみ情報を取得する。
00073   #
00074   # @param self
00075   # @param prop InterfaceProfile情報を受け取るプロパティ
00076   #
00077   # @else
00078   #
00079   # @endif
00080   def publishInterfaceProfile(self, prop):
00081     OpenRTM.NVUtil.appendStringValue(prop, "dataport.data_type", self._dataType)
00082     OpenRTM.NVUtil.appendStringValue(prop, "dataport.interface_type", self._interfaceType)
00083     OpenRTM.NVUtil.appendStringValue(prop, "dataport.dataflow_type", self._dataflowType)
00084     OpenRTM.NVUtil.appendStringValue(prop, "dataport.subscription_type", self._subscriptionType)
00085 
00086 
00087   ##
00088   # @if jp
00089   # @brief Interface情報を公開する
00090   #
00091   # Interface情報を公開する。
00092   # 引数で指定するプロパティ情報内の NameValue オブジェクトの
00093   # dataport.interface_type 値を調べ、当該ポートに設定されていなければ
00094   # NameValue に情報を追加する。
00095   # すでに同一インターフェースが登録済みの場合は何も行わない。
00096   #
00097   # @param self
00098   # @param prop InterfaceProfile情報を受け取るプロパティ
00099   #
00100   # @else
00101   #
00102   # @endif
00103   def publishInterface(self, prop):
00104     if not OpenRTM.NVUtil.isStringValue(prop,"dataport.interface_type",self._interfaceType):
00105       return
00106 
00107     OpenRTM.NVUtil.append(prop,self._properties)
00108 
00109 
00110   ##
00111   # @if jp
00112   # @brief ポートタイプを設定する
00113   #
00114   # 引数で指定したポートタイプを設定する。
00115   #
00116   # @param self
00117   # @param port_type 設定対象ポートタイプ
00118   #
00119   # @else
00120   #
00121   # @endif
00122   def setPortType(self, port_type):
00123     self._portType = port_type
00124 
00125 
00126   ##
00127   # @if jp
00128   # @brief データタイプを設定する
00129   #
00130   # 引数で指定したデータタイプを設定する。
00131   #
00132   # @param self
00133   # @param data_type 設定対象データタイプ
00134   #
00135   # @else
00136   #
00137   # @endif
00138   def setDataType(self, data_type):
00139     self._dataType = data_type
00140 
00141 
00142   ##
00143   # @if jp
00144   # @brief インターフェースタイプを設定する
00145   #
00146   # 引数で指定したインターフェースタイプを設定する。
00147   #
00148   # @param self
00149   # @param interface_type 設定対象インターフェースタイプ
00150   #
00151   # @else
00152   #
00153   # @endif
00154   def setInterfaceType(self, interface_type):
00155     self._interfaceType = interface_type
00156 
00157 
00158   ##
00159   # @if jp
00160   # @brief データフロータイプを設定する
00161   #
00162   # 引数で指定したデータフロータイプを設定する。
00163   #
00164   # @param self
00165   # @param dataflow_type 設定対象データフロータイプ
00166   #
00167   # @else
00168   #
00169   # @endif
00170   def setDataFlowType(self, dataflow_type):
00171     self._dataflowType = dataflow_type
00172 
00173 
00174   ##
00175   # @if jp
00176   # @brief サブスクリプションタイプを設定する
00177   #
00178   # 引数で指定したサブスクリプションタイプを設定する。
00179   #
00180   # @param self
00181   # @param subs_type 設定対象サブスクリプションタイプ
00182   #
00183   # @else
00184   #
00185   # @endif
00186   def setSubscriptionType(self, subs_type):
00187     self._subscriptionType = subs_type
00188 
00189 

OpenRTMに対してMon Mar 17 15:11:05 2008に生成されました。  doxygen 1.5.4