|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectorg.omg.PortableServer.Servant
RTC.PortServicePOA
jp.go.aist.rtm.RTC.port.PortBase
jp.go.aist.rtm.RTC.port.InPortBase
public abstract class InPortBase
InPortBase
Port for InPort
This is an implementation class for the data input 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.Vector<InPortConnector> |
m_connectors
|
protected java.util.Vector<java.lang.String> |
m_consumerTypes
|
protected ConnectorListeners |
m_listeners
|
protected Properties |
m_properties
|
protected java.util.Vector<java.lang.String> |
m_providerTypes
|
protected boolean |
m_singlebuffer
|
protected BufferBase<org.omg.CORBA.portable.OutputStream> |
m_thebuffer
|
クラス jp.go.aist.rtm.RTC.port.PortBase から継承されたフィールド |
---|
m_connectionLimit, m_connectorsMutex, m_objref, m_onConnected, m_onConnectionLost, m_onDisconnected, m_onPublishInterfaces, m_onSubscribeInterfaces, m_onUnsubscribeInterfaces, m_ownerInstanceName, m_profile, m_profile_mutex, rtcout |
コンストラクタの概要 | |
---|---|
InPortBase(java.lang.String name,
java.lang.String data_type)
Constructor |
メソッドの概要 | |
---|---|
void |
activateInterfaces()
Activate all Port interfaces |
void |
addConnectorDataListener(int type,
ConnectorDataListenerT listener)
|
void |
addConnectorDataListener(int type,
ConnectorDataListenerT listener,
boolean autoclean)
Adding BufferDataListener type listener |
void |
addConnectorListener(int type,
ConnectorListener listener)
|
void |
addConnectorListener(int type,
ConnectorListener listener,
boolean autoclean)
Adding ConnectorListener type listener |
ReturnCode_t |
connect(ConnectorProfileHolder connector_profile)
Connect the Port |
java.util.Vector<InPortConnector> |
connectors()
Connector list |
protected InPortConnector |
createConnector(ConnectorProfileHolder cprof,
Properties prop,
InPortProvider provider)
InPortPushConnector creation |
protected InPortConnector |
createConnector(ConnectorProfileHolder cprof,
Properties prop,
OutPortConsumer consumer)
InPortPullConnector creation |
protected OutPortConsumer |
createConsumer(ConnectorProfileHolder cprof,
Properties prop)
InPort provider creation |
protected InPortProvider |
createProvider(ConnectorProfileHolder cprof,
Properties prop)
InPort provider creation |
void |
deactivateInterfaces()
Deactivate all Port interfaces |
InPortConnector |
getConnectorById(java.lang.String id)
Getting ConnectorProfile by ID |
InPortConnector |
getConnectorByName(java.lang.String name)
Getting Connector by name |
java.util.Vector<java.lang.String> |
getConnectorIds()
ConnectorId list |
java.util.Vector<java.lang.String> |
getConnectorNames()
Connector name list |
boolean |
getConnectorProfileById(java.lang.String id,
ConnectorBase.ConnectorInfoHolder prof)
Getting ConnectorProfile by name |
boolean |
getConnectorProfileByName(java.lang.String name,
ConnectorBase.ConnectorInfoHolder prof)
Getting ConnectorProfile by name |
java.util.Vector<ConnectorBase.ConnectorInfo> |
getConnectorProfiles()
ConnectorProfile list |
void |
init(Properties prop)
Initializing properties |
protected void |
initConsumers()
OutPort consumer initialization |
protected void |
initProviders()
InPort provider initialization |
boolean |
isLittleEndian()
|
Properties |
properties()
Get properties |
protected ReturnCode_t |
publishInterfaces(ConnectorProfileHolder cprof)
[@.en Publish interface information} |
abstract boolean |
read()
It is a virtual method that is called from RTObject_impl::readAll(). |
void |
removeConnectorDataListener(int type,
ConnectorDataListenerT listener)
Removing BufferDataListener type listener |
void |
removeConnectorListener(int type,
ConnectorListener listener)
Removing ConnectorListener type listener |
protected ReturnCode_t |
subscribeInterfaces(ConnectorProfileHolder cprof)
Subscribe to the interface |
protected void |
unsubscribeInterfaces(ConnectorProfile connector_profile)
Disconnect the interface connection |
クラス 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 boolean m_singlebuffer
protected BufferBase<org.omg.CORBA.portable.OutputStream> m_thebuffer
protected Properties m_properties
protected java.util.Vector<java.lang.String> m_providerTypes
protected java.util.Vector<java.lang.String> m_consumerTypes
protected java.util.Vector<InPortConnector> m_connectors
protected ConnectorListeners m_listeners
コンストラクタの詳細 |
---|
public InPortBase(java.lang.String name, java.lang.String data_type)
Constructor
name
- Port namedata_type
- Specify the data type used in the InPort object.メソッドの詳細 |
---|
public Properties properties()
Get properties
This method gets properties in the port.
public final java.util.Vector<InPortConnector> connectors()
This operation returns connector list
public java.util.Vector<ConnectorBase.ConnectorInfo> getConnectorProfiles()
This operation returns ConnectorProfile list
public java.util.Vector<java.lang.String> getConnectorIds()
ConnectorId list
This operation returns ConnectorId list
public java.util.Vector<java.lang.String> getConnectorNames()
Connector name list
This operation returns Connector name list
public InPortConnector getConnectorById(java.lang.String id)
Getting ConnectorProfile by ID
This operation returns Connector specified by ID.
id
- Connector ID
public InPortConnector getConnectorByName(java.lang.String name)
Getting Connector by name
This operation returns Connector specified by name.
name
- Connector ID
public boolean getConnectorProfileById(java.lang.String id, ConnectorBase.ConnectorInfoHolder prof)
Getting ConnectorProfile by name
This operation returns ConnectorProfile specified by name
id
- Connector IDprof
- ConnectorProfileHolder
public boolean getConnectorProfileByName(java.lang.String name, ConnectorBase.ConnectorInfoHolder prof)
Getting ConnectorProfile by name
This operation returns ConnectorProfile specified by name
name
- Connector IDprof
- ConnectorProfile
public void init(Properties prop)
Initializing properties
This method initializes the port in the specified property.
prop
- Property for setting portspublic abstract boolean read()
This method reads out data from DataPort.
public void activateInterfaces()
Activate all Port interfaces
This operation activate all interfaces that is registered in the
ports.
PortBase
内の activateInterfaces
public void deactivateInterfaces()
Deactivate all Port interfaces
This operation deactivate all interfaces that is registered in the
ports.
PortBase
内の deactivateInterfaces
public ReturnCode_t connect(ConnectorProfileHolder connector_profile)
Connect the Port
This operation establishes connection according to the given ConnectionProfile inforamtion. This function is premised on calling from mainly application program or tools.
To establish the connection among Ports of RT-Components, application programs must call this operation giving ConnectorProfile with valid values as an argument.
Out of ConnectorProfile member variables, "name", "ports" and "properties" members shall be set valid data. "connector_id" shall be set as empty string value or valid string UUID value.
ConnectorProfile::name that is connection identifier shall be any valid CORBA::string.
ConnectorProfile::connector_id shall be set unique identifier (usually UUID is used) for all connections. Since UUID string value is usually set in the connect() function, caller should just set empty string. If the connect() is called with the same UUID as existing connection, this function returns PRECONDITION_NOT_MET error. However, in order to update the existing connection profile, the "connect()" operation with existing connector ID might be used as valid method by future extension
ConnectorProfile::ports, which is sequence of RTC::PortService references, shall store usually two or more ports' references. As exceptions, the "connect()" operation might be called with only one reference in ConnectorProfile, in case of just getting interfaces information from the port, or connecting a special port (i.e. the peer port except RTC::PortService on CORBA).
ConnectorProfile::properties might be used to give certain properties to the service interfaces associated with the port. The properties is a sequence variable with a pair of key string and Any type value. Although the A variable can store any type of values, it is not recommended except string.
The following is the summary of the ConnectorProfile member to be set when this operation is called.
connect() operation will call the first port in the sequence of the ConnectorProfile.
"noify_connect()"s perform cascaded call to the ports stored in the ConnectorProfile::ports by order. Even if errors are raised by intermediate notify_connect() operation, as long as ports' object references are valid, it is guaranteed that this cascaded call is completed in all the ports. If invalid or dead ports exist in the port's sequence, the ports are skipped and notify_connect() is called for the next valid port.
connect() function returns RTC_OK if all the notify_connect() return RTC_OK. At this time the connection is completed. If notify_connect()s return except RTC_OK, connect() calls disconnect() operation with the connector_id to destruct the connection, and then it returns error code from notify_connect().
The ConnectorProfile argument of the connect() operation returns ConnectorProfile::connector_id and various information about service interfaces that is published by publishInterfaces() in the halfway ports. The connect() and halfway notify_connect() functions never change ConnectorProfile::{name, ports}.
PortServiceOperations
内の connect
PortBase
内の connect
connector_profile
- The ConnectorProfile.
protected ReturnCode_t publishInterfaces(ConnectorProfileHolder cprof)
[@.en Publish interface information. Assign the Provider information that owned by this port to ConnectorProfile#properties}
dataport.dataflow_type
PortBase
内の publishInterfaces
cprof
-
The connector profile
protected ReturnCode_t subscribeInterfaces(ConnectorProfileHolder cprof)
Subscribe to interface. Derive Provider information that matches Consumer owned by the Port from ConnectorProfile#properties and set the Consumer to the reference of the CORBA object.
PortBase
内の subscribeInterfaces
cprof
-
The connector profile
protected void unsubscribeInterfaces(ConnectorProfile connector_profile)
Disconnect the interface connection
Disconnect the interface connection.
Release all objects set in Consumer associated with
given ConnectorProfile and unscribe the interface.
PortBase
内の unsubscribeInterfaces
connector_profile
- The connector profilepublic void addConnectorDataListener(int type, ConnectorDataListenerT listener, boolean autoclean)
This operation adds certain listeners related to buffer writing and reading events. The following listener types are available.
ConnectorDataListener::
operator()(const ConnectorProfile&, const cdrStream&)
The ownership of the given listener object is transferred to
this OutPort object in default. The given listener object will
be destroied automatically in the OutPort's dtor or if the
listener is deleted by removeConnectorDataListener() function.
If you want to keep ownership of the listener object, give
"false" value to 3rd argument to inhibit automatic destruction.
type
-
listener_type A listener typelistener
-
A pointer to a listener objectautoclean
-
@param autoclean A flag for automatic listener destructionpublic void addConnectorDataListener(int type, ConnectorDataListenerT listener)
public void removeConnectorDataListener(int type, ConnectorDataListenerT listener)
[@.en This operation removes a specified listener.}
type
-
listener_type A listener typelistener
-
listener A pointer to a listener objectpublic void addConnectorListener(int type, ConnectorListener listener, boolean autoclean)
This operation adds certain listeners related to buffer writing and reading events. The following listener types are available.
type
-
A listener typelistener
-
A pointer to a listener objectautoclean
-
A flag for automatic listener destructionpublic void addConnectorListener(int type, ConnectorListener listener)
public void removeConnectorListener(int type, ConnectorListener listener)
This operation removes a specified listener.
type
-
A listener typelistener
-
A pointer to a listener objectprotected void initProviders()
InPort provider initialization
protected void initConsumers()
OutPort consumer initialization
protected InPortProvider createProvider(ConnectorProfileHolder cprof, Properties prop)
InPort provider creation
InPortProvider is created,
and information is published to ConnectorProfile.
null is returned if failing in creation.
protected OutPortConsumer createConsumer(ConnectorProfileHolder cprof, Properties prop)
InPort provider creation
OutPortConsumer is created.
null is returned if failing in creation.
protected InPortConnector createConnector(ConnectorProfileHolder cprof, Properties prop, InPortProvider provider)
InPortPushConnector creation
Connector is created,
preserves it in m_connectors.
null is returned if failing in creation.
protected InPortConnector createConnector(ConnectorProfileHolder cprof, Properties prop, OutPortConsumer consumer)
InPortPullConnector creation
Connector is created,
preserves it in m_connectors.
0 is returned if failing in creation.
public boolean isLittleEndian()
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |