public class OutPortSHMProvider extends SharedMemory implements OutPortProvider, ObjectCreator<OutPortProvider>, ObjectDestructor
This is an implementation class of OutPort Provider that uses CORBA for mean of communication.
Modifier and Type | Field and Description |
---|---|
protected NVListHolder |
m_properties
接続プロフィールを保持するメンバ変数です。
|
m_endian
Constructor and Description |
---|
OutPortSHMProvider()
Constructor
|
Modifier and Type | Method and Description |
---|---|
PortSharedMemory |
_this()
Gets CORBA object referense of this OpenRTM.PortSharedMemory
|
void |
close_memory() |
void |
close_memory(boolean unlink)
Close a shared memory.
|
protected PortStatus |
convertReturn(ReturnCode status)
Converts ReturnCode into PortStatus.
|
OutPortProvider |
creator_()
Creats OutPortSHMProvider
|
void |
destructor_(java.lang.Object obj)
Destructs OutPortSHMProvider
|
PortStatus |
get()
Get data.
|
PortStatus |
get(CdrDataHolder data)
[CORBA interface] Get data from the buffer
|
void |
init(Properties prop)
Initializing configuration
|
static void |
OutPortSHMProviderInit()
Module initialization
|
boolean |
publishInterface(NVListHolder properties)
Publish interface information
|
void |
publishInterfaceProfile(NVListHolder properties)
Publish InterfaceProfile information
|
PortStatus |
put()
Put data.
|
void |
setBuffer(BufferBase<org.omg.CORBA.portable.OutputStream> buffer)
Setting outside buffer's pointer
|
void |
setConnector(OutPortConnector connector)
set Connector
|
protected void |
setDataFlowType(java.lang.String dataFlowType)
Sets data flow type of the interface profile
|
protected void |
setDataType(java.lang.String dataType)
Sets DataType of the interface profile
|
protected void |
setInterfaceType(java.lang.String interfaceType)
Sets interface Type of the interface profile
|
void |
setListener(ConnectorBase.ConnectorInfo info,
ConnectorListeners listeners)
Set the listener.
|
protected void |
setPortType(java.lang.String portType)
Sets PortProfile of the interface profile
|
protected void |
setSubscriptionType(java.lang.String subscriptionType)
Sets subscription type of the interface profile
|
create_memory, open_memory, read, setEndian, setInterface, string_to_MemorySize, write
_all_interfaces, _invoke, _this
protected NVListHolder m_properties
接続プロフィールを保持するメンバ変数です。
public PortSharedMemory _this()
_this
in class PortSharedMemoryPOA
public void init(Properties prop)
This operation would be called to configure in initialization. In the concrete class, configuration should be performed getting appropriate information from the given Properties data. This function might be called right after instantiation and connection sequence respectivly. Therefore, this function should be implemented assuming multiple call.
init
in interface OutPortProvider
prop
-
Configuration informationpublic void setBuffer(BufferBase<org.omg.CORBA.portable.OutputStream> buffer)
A pointer to a buffer from which OutPortProvider retrieve data. If already buffer is set, previous buffer's pointer will be overwritten by the given pointer to a buffer. Since OutPortProvider does not assume ownership of the buffer pointer, destructor of the buffer should be done by user.
setBuffer
in interface OutPortProvider
buffer
-
A pointer to a data buffer to be used by OutPortProviderpublic PortStatus get(CdrDataHolder data)
Get data from the internal buffer.
data
-
The buffer to get data.protected PortStatus convertReturn(ReturnCode status)
status
-
ReturnCodepublic OutPortProvider creator_()
creator_
in interface ObjectCreator<OutPortProvider>
public void destructor_(java.lang.Object obj)
destructor_
in interface ObjectDestructor
obj
-
The target instances for destructionpublic static void OutPortSHMProviderInit()
This initialization function registers OutPortSHMProvider's factory.
public void publishInterfaceProfile(NVListHolder properties)
Publish interfaceProfile information. Check the dataport.interface_type value of the NameValue object specified by an argument in property information and get information only when the interface type of the specified port is matched.
publishInterfaceProfile
in interface OutPortProvider
properties
-
Properties to get InterfaceProfile informationpublic boolean publishInterface(NVListHolder properties)
Publish interface information. Check the dataport.interface_type value of the NameValue object specified by an argument in the property information, and add the information to the NameValue if this port is not specified. This does not do anything if the same interface is already subscribed.
publishInterface
in interface OutPortProvider
properties
-
Properties to receive interface informationpublic void setConnector(OutPortConnector connector)
OutPort creates OutPortConnector object when it establishes connection between OutPort and InPort, and it calls this function with a pointer to the connector object. Since the OutPort has the ownership of this connector, OutPortProvider should not delete it.
setConnector
in interface OutPortProvider
connector
-
OutPortConnectorprotected void setPortType(java.lang.String portType)
portType
-
port typeprotected void setDataType(java.lang.String dataType)
dataType
-
dataTypeprotected void setInterfaceType(java.lang.String interfaceType)
interfaceType
-
Intereface Typeprotected void setDataFlowType(java.lang.String dataFlowType)
dataFlowType
-
Data flow typeprotected void setSubscriptionType(java.lang.String subscriptionType)
subscriptionType
-
Subscription typepublic void setListener(ConnectorBase.ConnectorInfo info, ConnectorListeners listeners)
OutPort provides callback functionality that calls specific listener objects according to the events in the data publishing process. For details, see documentation of ConnectorDataListener class and ConnectorListener class in ConnectorListener.h. In this OutPortSHMProvider provides the following callbacks.
setListener
in interface OutPortProvider
info
-
@param info Connector informationlisteners
-
Listener objectspublic void close_memory(boolean unlink)
close_memory
in interface PortSharedMemoryOperations
close_memory
in class SharedMemory
unlink
-
# void close_memory(boolean unlink);public void close_memory()
close_memory
in class SharedMemory
public PortStatus get()
get
in interface PortSharedMemoryOperations
get
in class SharedMemory
public PortStatus put()
put
in interface PortSharedMemoryOperations
put
in class SharedMemory