|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectorg.omg.PortableServer.Servant
RTC.PortServicePOA
jp.go.aist.rtm.RTC.port.PortBase
jp.go.aist.rtm.RTC.port.CorbaPort
public class CorbaPort
CORBAを通信手段とするPortクラスです。
入れ子のクラスの概要 |
---|
クラス jp.go.aist.rtm.RTC.port.PortBase から継承された入れ子のクラス/インタフェース |
---|
PortBase.connect_func, PortBase.disconnect_all_func, PortBase.disconnect_func, PortBase.find_conn_id, PortBase.find_interface, PortBase.find_port_ref |
フィールドの概要 | |
---|---|
protected java.util.HashMap<java.lang.String,jp.go.aist.rtm.RTC.port.CorbaPort.ProviderInfo> |
m_servants
|
protected Logbuf |
rtcout
Logging用フォーマットオブジェクト |
クラス jp.go.aist.rtm.RTC.port.PortBase から継承されたフィールド |
---|
m_objref, m_onConnected, m_onConnectionLost, m_onDisconnected, m_onPublishInterfaces, m_onSubscribeInterfaces, m_onUnsubscribeInterfaces, m_profile, m_profile_mutex |
コンストラクタの概要 | |
---|---|
CorbaPort(java.lang.String name)
コンストラクタです。 |
メソッドの概要 | |
---|---|
void |
activateInterfaces()
Port の全てのインターフェースを activates する |
void |
deactivateInterfaces()
全ての Port のインターフェースを deactivates する |
protected ReturnCode_t |
publishInterfaces(ConnectorProfileHolder connector_profile)
Interface情報を公開します。 |
boolean |
registerConsumer(java.lang.String instance_name,
java.lang.String type_name,
CorbaConsumerBase consumer)
このPortが要求するサービスのプレースホルダとしてのコンシューマ(Consumer)を登録します。 |
boolean |
registerProvider(java.lang.String instance_name,
java.lang.String type_name,
org.omg.PortableServer.Servant provider)
このPortにおいて提供したいサーバントを登録します。 |
protected ReturnCode_t |
subscribeInterfaces(ConnectorProfileHolder connector_profile)
Interfaceに接続します。 |
protected void |
unsubscribeInterfaces(ConnectorProfile connector_profile)
Interfaceへの接続を解除します。 |
クラス RTC.PortServicePOA から継承されたメソッド |
---|
_all_interfaces, _invoke, _this |
クラス org.omg.PortableServer.Servant から継承されたメソッド |
---|
_default_POA, _get_delegate, _get_interface_def, _is_a, _non_existent, _object_id, _orb, _poa, _set_delegate, _this_object, _this_object |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
---|
protected java.util.HashMap<java.lang.String,jp.go.aist.rtm.RTC.port.CorbaPort.ProviderInfo> m_servants
protected Logbuf rtcout
Logging用フォーマットオブジェクト
コンストラクタの詳細 |
---|
public CorbaPort(java.lang.String name)
コンストラクタです。
name
- Port名称メソッドの詳細 |
---|
public boolean registerProvider(java.lang.String instance_name, java.lang.String type_name, org.omg.PortableServer.Servant provider) throws org.omg.PortableServer.POAPackage.ServantAlreadyActive, org.omg.PortableServer.POAPackage.WrongPolicy, org.omg.PortableServer.POAPackage.ObjectNotActive
このPortにおいて提供したいサーバントを登録します。
引数で与えられるインスタンス名とタイプ名が、
サーバント自身のインスタンス名とタイプ名として関連付けられます。
instance_name
- インスタンス名type_name
- タイプ名provider
- 当該Portに登録するProviderサーバント
org.omg.PortableServer.POAPackage.ServantAlreadyActive
org.omg.PortableServer.POAPackage.WrongPolicy
org.omg.PortableServer.POAPackage.ObjectNotActive
public boolean registerConsumer(java.lang.String instance_name, java.lang.String type_name, CorbaConsumerBase consumer)
このPortが要求するサービスのプレースホルダとしてのコンシューマ(Consumer)を登録します。
引数で指定されたインスタンス名とタイプ名が、指定されたコンシューマと関連付けられます。
Port間の接続時には、同一のインスタンス名とタイプ名を持つサービスが、 他のPortから提供(Provide)されている場合、そのサービスのCORBAオブジェクト参照が コンシューマ(Consumer)に設定されます。
instance_name
- インスタンス名type_name
- タイプ名consumer
- Consumerオブジェクト
public void activateInterfaces()
Port の全てのインターフェースを activates する
PortBase
内の activateInterfaces
public void deactivateInterfaces()
全ての Port のインターフェースを deactivates する
PortBase
内の deactivateInterfaces
protected ReturnCode_t publishInterfaces(ConnectorProfileHolder connector_profile)
Interface情報を公開します。このPortが所有しているプロバイダ(Provider)に関する情報を、 ConnectorProfile#propertiesに代入します。代入する情報は、NameValueのnameとvalueとして 以下のものが格納されます。
port.<type_name>.<instance_name>: <CORBA.Object>
ここで、
<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に対して伝達されます。 他のPortでこのインタフェースを使用するConsumerが存在すれば、 ConnectorProfileからオブジェクトリファレンスが取得され、何らかの形で使用されます。
PortBase
内の publishInterfaces
connector_profile
- プロバイダ(Provider)に関する情報を受け取るホルダオブジェクト
protected ReturnCode_t subscribeInterfaces(ConnectorProfileHolder connector_profile)
Interfaceに接続します。Portが所有するConsumerに適合するProviderに関する情報を ConnectorProfile#propertiesから抽出し、ConsumerにCORBAオブジェクト参照を設定します。
たとえば、Consumerが
PortInterfaceProfile { instance_name = "PA10_0"; type_name = "Manipulator"; polarity = REQUIRED; }として登録されていれば、他のPortの
PortInterfaceProfile { instance_name = "PA10_0"; type_name = "Manipulator"; polarity = PROVIDED; }として登録されているSerivce ProviderのCORBAオブジェクト参照を探して、Consumerに設定します。
実際には、ConnectorProfile#propertiesに
NameValue = { "port.Manipulator.PA10_0": <Object reference> }として登録されているNameValueを探し、そのCORBAオブジェクト参照をConsumerに設定します。
PortBase
内の subscribeInterfaces
connector_profile
- 接続プロファイルオブジェクト
protected void unsubscribeInterfaces(ConnectorProfile connector_profile)
Interfaceへの接続を解除します。 与えられたConnectorProfileに関連するConsumerに設定された全てのObjectを解放し接続を解除します。
PortBase
内の unsubscribeInterfaces
connector_profile
- 接続プロファイルオブジェクト
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |