public abstract class OutPortBase extends PortBase
The implementation such as the registration of Pubilsher and notification to Publisher.
Modifier and Type | Class and Description |
---|---|
protected class |
OutPortBase.Publisher
ポート名です。
|
PortBase.connect_func, PortBase.disconnect_all_func, PortBase.disconnect_func, PortBase.find_conn_id, PortBase.find_interface, PortBase.find_port_ref
Modifier and Type | Field and Description |
---|---|
protected java.util.Vector<OutPortConnector> |
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 java.util.List<OutPortBase.Publisher> |
m_publishers |
m_connectionLimit, m_connectorsMutex, m_objref, m_onConnected, m_onConnectionLost, m_onConnectionLost_mutex, m_onDisconnected, m_onPublishInterfaces, m_onSubscribeInterfaces, m_onUnsubscribeInterfaces, m_ownerInstanceName, m_portconnListeners, m_profile, m_profile_mutex, rtcout
Constructor and Description |
---|
OutPortBase(java.lang.String name,
java.lang.String data_type)
Constructor
|
Modifier and Type | Method and Description |
---|---|
void |
activateInterfaces()
Activate all Port interfaces
|
void |
addConnectorDataListener(int type,
ConnectorDataListener listener) |
void |
addConnectorDataListener(int type,
ConnectorDataListener listener,
boolean autoclean) |
void |
addConnectorDataListener(int type,
ConnectorDataListenerT listener)
Adds ConnectorDataListener type listener
|
void |
addConnectorDataListener(int type,
ConnectorDataListenerT listener,
boolean autoclean)
Adds ConnectorDataListener type listener
|
void |
addConnectorListener(int type,
ConnectorListener listener)
Adds ConnectorListener type listener
|
void |
addConnectorListener(int type,
ConnectorListener listener,
boolean autoclean)
Adds ConnectorListener type listener
|
protected void |
configure()
Configureing outport
|
ReturnCode_t |
connect(ConnectorProfileHolder connector_profile)
Connect the Port
|
java.util.Vector<OutPortConnector> |
connectors()
Connector list
|
protected OutPortConnector |
createConnector(ConnectorProfileHolder cprof,
Properties prop,
InPortConsumer consumer)
OutPortPushConnector creation
|
protected OutPortConnector |
createConnector(ConnectorProfileHolder cprof,
Properties prop,
OutPortProvider provider)
OutPortPullConnector creation
|
protected InPortConsumer |
createConsumer(ConnectorProfileHolder cprof,
Properties prop)
InPort consumer creation
|
protected OutPortProvider |
createProvider(ConnectorProfileHolder cprof,
Properties prop)
OutPort provider creation
|
void |
deactivateInterfaces()
Deactivate all Port interfaces
|
OutPortConnector |
getConnectorById(java.lang.String id)
Getting ConnectorProfile by ID
|
(package private) OutPortConnector |
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 profh)
Getting ConnectorProfile by name
|
boolean |
getConnectorProfileByName(java.lang.String name,
ConnectorBase.ConnectorInfoHolder profh)
Getting ConnectorProfile by name
|
java.util.Vector<ConnectorBase.ConnectorInfo> |
getConnectorProfiles()
ConnectorProfile list
|
ConnectorListeners |
getListeners()
Getting listeners holder
|
protected InPortBase |
getLocalInPort(ConnectorBase.ConnectorInfo profile)
Getting local peer InPort if available
|
void |
init(Properties prop)
Initializing properties
|
protected void |
initConsumers()
InPort consumer initialization
|
protected void |
initProviders()
OutPort provider initialization
|
boolean |
isLittleEndian()
Returns endian information
|
ReturnCode_t |
notify_connect(ConnectorProfileHolder connector_profile)
[CORBA interface] Notify the Ports connection
|
void |
onConnect(java.lang.String id,
PublisherBase publisher)
onConnect
|
void |
onDisconnect(java.lang.String id)
onDisconenct
|
Properties |
properties()
Get properties
|
protected ReturnCode_t |
publishInterfaces(ConnectorProfileHolder cprof)
Publish interface information
|
void |
removeConnectorDataListener(int type,
ConnectorDataListener listener) |
void |
removeConnectorDataListener(int type,
ConnectorDataListenerT listener)
Removes ConnectorDataListener type listener
|
void |
removeConnectorListener(int type,
ConnectorListener listener)
Removes BufferDataListener type listener
|
protected ReturnCode_t |
subscribeInterfaces(ConnectorProfileHolder cprof)
Subscribe to the interface
|
protected void |
unsubscribeInterfaces(ConnectorProfile connector_profile)
Disconnect the interface connection
|
abstract boolean |
write()
Write data
|
_publishInterfaces, _this, addProperty, appendInterface, appendProperty, checkPorts, connectNext, deleteInterface, disconnect_all, disconnect, disconnectNext, eraseConnectorProfile, findConnProfile, findConnProfileIndex, get_connector_profile, get_connector_profiles, get_port_profile, getName, getPortProfile, getPortRef, getProfile, getUUID, isEmptyId, isExistingConnId, notify_disconnect, onConnected, onConnectNextport, onDisconnected, onDisconnectNextport, onNotifyConnect, onNotifyDisconnect, onPublishInterfaces, onSubscribeInterfaces, onUnsubscribeInterfaces, setConnectionLimit, setName, setOnConnected, setOnConnectionLost, setOnDisconnected, setOnPublishInterfaces, setOnSubscribeInterfaces, setOnUnsubscribeInterfaces, setOwner, setPortConnectListenerHolder, setPortRef, setUUID, updateConnectorProfile, updateConnectors
_all_interfaces, _invoke, _this
protected java.util.List<OutPortBase.Publisher> m_publishers
protected Properties m_properties
protected java.util.Vector<OutPortConnector> m_connectors
protected java.util.Vector<java.lang.String> m_providerTypes
protected java.util.Vector<java.lang.String> m_consumerTypes
protected ConnectorListeners m_listeners
public OutPortBase(java.lang.String name, java.lang.String data_type)
name
-
Port namedata_type
-
Specify the data type used in the InPort object.public void init(Properties prop)
This operation initializes outport's properties.
prop
-
Property for setting portspublic abstract boolean write()
Write data to the port. Write the value, which was set to the bound variable, to the port.
public Properties properties()
This method gets properties in the port.
public final java.util.Vector<OutPortConnector> 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()
This operation returns ConnectorId list
public java.util.Vector<java.lang.String> getConnectorNames()
This operation returns Connector name list
public OutPortConnector getConnectorById(java.lang.String id)
This operation returns Connector specified by ID.
id
-
Connector IDOutPortConnector getConnectorByName(java.lang.String name)
This operation returns Connector specified by name.
name
-
Connector IDpublic boolean getConnectorProfileById(java.lang.String id, ConnectorBase.ConnectorInfoHolder profh)
This operation returns ConnectorProfile specified by name
id
-
Connector IDprofh
-
ConnectorInfoHolderpublic boolean getConnectorProfileByName(java.lang.String name, ConnectorBase.ConnectorInfoHolder profh)
This operation returns ConnectorProfile specified by name
name
-
Connector IDprofh
-
ConnectorInfoHolderpublic void onConnect(java.lang.String id, PublisherBase publisher)
onConnect
public void onDisconnect(java.lang.String id)
onDisconenct
public ReturnCode_t connect(ConnectorProfileHolder connector_profile)
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
in interface PortServiceOperations
connect
in class PortBase
connector_profile
-
The ConnectorProfile.public ReturnCode_t notify_connect(ConnectorProfileHolder connector_profile)
notify_connect
in interface PortServiceOperations
notify_connect
in class PortBase
connector_profile
-
ConnectorProfileHolderprotected ReturnCode_t publishInterfaces(ConnectorProfileHolder cprof)
This operation is pure virutal function that would be called at the beginning of the notify_connect() process sequence. In the notify_connect(), the following methods would be called in order.
publishInterfaces
in class PortBase
cprof
-
The connection profile informationprotected ReturnCode_t subscribeInterfaces(ConnectorProfileHolder cprof)
This operation is pure virutal function that would be called at the middle of the notify_connect() process sequence. In the notify_connect(), the following methods would be called in order.
subscribeInterfaces
in class PortBase
cprof
-
The connection profile informationprotected void unsubscribeInterfaces(ConnectorProfile connector_profile)
Disconnect the interface connection. Release all objects set in Consumer associated with given ConnectorProfile and unscribe the interface.
unsubscribeInterfaces
in class PortBase
connector_profile
-
The connector profilepublic void activateInterfaces()
This operation activate all interfaces that is registered in the ports.
activateInterfaces
in class PortBase
public void deactivateInterfaces()
This operation deactivate all interfaces that is registered in the ports.
deactivateInterfaces
in class PortBase
public void addConnectorDataListener(int type, ConnectorDataListenerT listener, boolean autoclean)
バッファ書き込みまたは読み出しイベントに関連する各種リスナを設定する。 設定できるリスナのタイプとコールバックイベントは以下の通り
ConnectorDataListener::
operator()(const ConnectorProfile&, const cdrStream&)
デフォルトでは、この関数に与えたリスナオブジェクトの所有権は
OutPortに移り、OutPort解体時もしくは、
removeConnectorDataListener() により削除時に自動的に解体される。
リスナオブジェクトの所有権を呼び出し側で維持したい場合は、第3引
数に false を指定し、自動的な解体を抑制することができる。}
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
-
A listener typelistener
-
A pointer to a listener objectautoclean
-
A flag for automatic listener destructionpublic void addConnectorDataListener(int type, ConnectorDataListener listener, boolean autoclean)
public void addConnectorDataListener(int type, ConnectorDataListenerT listener)
バッファ書き込みまたは読み出しイベントに関連する各種リスナを設定する。 設定できるリスナのタイプとコールバックイベントは以下の通り
ConnectorDataListener::
operator()(const ConnectorProfile&, const cdrStream&)
デフォルトでは、この関数に与えたリスナオブジェクトの所有権は
OutPortに移り、OutPort解体時もしくは、
removeConnectorDataListener() により削除時に自動的に解体される。}
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.
type
-
A listener typelistener
-
A pointer to a listener objectpublic void addConnectorDataListener(int type, ConnectorDataListener listener)
public void removeConnectorDataListener(int type, ConnectorDataListenerT listener)
This operation removes a specified listener.
type
-
A listener typelistener
-
A pointer to a listener objectpublic void removeConnectorDataListener(int type, ConnectorDataListener listener)
public 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)
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 objectpublic void removeConnectorListener(int type, ConnectorListener listener)
This operation removes a specified listener.
type
-
A listener typelistener
-
listener A pointer to a listener objectprotected void configure()
This operation configures the outport based on the properties.
protected void initProviders()
protected void initConsumers()
protected OutPortProvider createProvider(ConnectorProfileHolder cprof, Properties prop)
protected InPortConsumer createConsumer(ConnectorProfileHolder cprof, Properties prop)
protected OutPortConnector createConnector(ConnectorProfileHolder cprof, Properties prop, InPortConsumer consumer)
protected OutPortConnector createConnector(ConnectorProfileHolder cprof, Properties prop, OutPortProvider provider)
protected InPortBase getLocalInPort(ConnectorBase.ConnectorInfo profile)
public ConnectorListeners getListeners()
This operation returns listeners holder.
public boolean isLittleEndian()