メインページ | ネームスペース一覧 | クラス階層 | 構成 | ファイル一覧 | 構成メンバ | ファイルメンバ

クラス CorbaPort

すべてのメンバ一覧

Public メソッド

 __init__ (name)
 コンストラクタ
 __del__ ()
 デストラクタ
 registerProvider (instance_name, type_name, provider)
 Provider を登録する.
 registerConsumer (instance_name, type_name, consumer)
 Consumer を登録する.
 publishInterfaces (connector_profile)
 Interface 情報を公開する.
 subscribeInterfaces (connector_profile)
 Interface に接続する.
 __init__ (cons)
 __call__ (nv)
 __init__ (cons)
 __call__ (nv)

関数

CorbaPort::__call__ nv   ) 
 

CorbaPort::__call__ nv   ) 
 

CorbaPort::__del__  ) 
 

デストラクタ

CorbaPort::__init__ cons   ) 
 

CorbaPort::__init__ cons   ) 
 

CorbaPort::__init__ name   ) 
 

コンストラクタ

引数:
name Port の名前

CorbaPort::publishInterfaces connector_profile   ) 
 

Interface 情報を公開する.

この Portが所有する Provider に関する情報を ConnectorProfile::properties に代入する。 代入する情報は、NVListの name と value として以下のものが格納される。

  • port.<type_name>.<instance_name>: <CORBA::Object_ptr>

ここで、

  • <type_name>: PortInterfaceProfile::type_name
  • <instance_name>: PortInterfaceProfile::instance_name である。 ConnectorProfile::properties では、これらを .(ドット)表記で、 NameValue のキーとしている。したがって、

		PortInterfaceProfile
		{
        instance_name = "PA10_0";
        type_name     = "Manipulator";
        polarity      = PROVIDED;
		}
		

ならば、

		NameValue = { "port.Manipulator.PA10_0": <object reference=""> }
		

といった値が ConnectorProfile::properties に格納され、他のポートに対して 伝達される。他の Port でこのインターフェースを使用する Consumer が 存在すれば、ConnectorProfile からこのキーからオブジェクトリファレンスを 取得し何らかの形で使用される。

CorbaPort::registerConsumer instance_name  ,
type_name  ,
consumer 
 

Consumer を登録する.

この Port が要求するサービスのプレースホルダであるコンシューマ (Consumer) を登録する。 Consumer が関連付けられるサービスのインスタンス名およびタイプ名として、 引数に instance_name, type_name および Consumer 自身を与えることにより、 内部でこれらが関連付けられる。 Port 間の接続 (connect) 時 には、同一の instance_name, type_name を持つ サービスが他の Port から提供 (Provide) されている場合、そのサービスの オブジェクト参照が自動的に Consumer にセットされる。

引数:
instance_name Consumer が要求するサービスのインスタンス名
type_name Consumer が要求するサービスのタイプ名
consumer CORBA サービスコンシューマ
戻り値:
既に同名の instance_name が登録されていれば false を返す。

CorbaPort::registerProvider instance_name  ,
type_name  ,
provider 
 

Provider を登録する.

この Port において提供したいサーバントをこの Port に対して登録する。 サーバントは、引数で与えられる instance_name, type_name を、 サーバント自身のインスタンス名およびタイプ名として、サーバントに 関連付けられる。

引数:
instance_name サーバントのインスタンス名
type_name サーバントのタイプ名
provider CORBA サーバント
戻り値:
既に同名の instance_name が登録されていれば false を返す。

CorbaPort::subscribeInterfaces connector_profile   ) 
 

Interface に接続する.

この Portが所有する Consumer に適合する Provider に関する情報を ConnectorProfile::properties から抽出し Consumer にオブジェクト参照 をセットする。

今、Consumer が

			PortInterfaceProfile
			{
				instance_name = "PA10_0";
				type_name     = "Manipulator";
				polarity      = REQUIRED;
			}
		
として登録されていれば、他の Port の
			PortInterfaceProfile
			{
				instance_name = "PA10_0";
				type_name     = "Manipulator";
				polarity      = PROVIDED;
			}
		
として登録されている Serivce Provider のオブジェクト参照を探し、 Consumer にセットする。 実際には、ConnectorProfileproperties に
		NameValue = { "port.Manipulator.PA10_0": <object reference=""> }
		
として登録されている NameValue を探し、そのオブジェクト参照を Consumer にセットする。


このクラスの説明は次のファイルから生成されました:
OpenRTMに対してMon Oct 29 15:51:37 2007に生成されました。  doxygen 1.4.3