package RTT.corba; /** * RTT/corba/CDataFlowInterfaceOperations.java . * Generated by the IDL-to-Java compiler (portable), version "3.2" * from DataFlow.idl * Wednesday, July 11, 2012 5:26:42 PM CEST */ /** * An interface to access the dataflow * of a CControlTask object. Data ports are exported as * assignable expressions (Set/Get). Buffer ports are * exported as buffer channels. * @ingroup CompIDL */ public interface CDataFlowInterfaceOperations { /** * Returns the names of the ports of this component. */ String[] getPorts (); /** * Returns the names of the ports of this component. */ RTT.corba.CPortDescription[] getPortDescriptions (); /** * Returns the type of the given port */ RTT.corba.CPortType getPortType (String port_name) throws RTT.corba.CNoSuchPortException; /** * Returns the data type for the given port */ String getDataType (String port_name) throws RTT.corba.CNoSuchPortException; /** * Check if the given port is already connected to something */ boolean isConnected (String port_name) throws RTT.corba.CNoSuchPortException; /** * Disconnects this port from all connections it is part of. * @see CChannelElement::disconnect() to disconnect a single Channel. */ void disconnectPort (String port_name) throws RTT.corba.CNoSuchPortException; /** * Use this to write to an input port with * the given policy. * Some protocols may adjust the policy, or pass additional information * into the policy, such as the name of the newly created connection. * * The returned channel element will not be functional until * channelReady() has been called for it */ RTT.corba.CChannelElement buildChannelOutput (String input_port, RTT.corba.CConnPolicyHolder policy) throws RTT.corba.CNoCorbaTransport, RTT.corba.CNoSuchPortException; /** * Use this to read from an output port with * the given policy. * Some protocols may adjust the policy, or pass additional information * into the policy, such as the name of the newly created connection. */ RTT.corba.CChannelElement buildChannelInput (String output_port, RTT.corba.CConnPolicyHolder policy) throws RTT.corba.CNoCorbaTransport, RTT.corba.CNoSuchPortException; /** * Connect the given named port to the given remote port. * Use this method to connect two Orocos data flow ports. * * The local port needs to be the output, while the remote port is the * input. In case you only want to write a port without using this function, * use buildChannelOutput. For only reading a port, use buildChannelInput. * * This method combines both buildChannelOutput() and buildChannelInput() and is * generally better in setting up and checking a data flow connection between * two ports than the separate methods. * * This method will call the \a remote_ports interface back to orchestrate * the connection building. * * @see removeConnection() to remove this connection again. */ boolean createConnection (String local_port, RTT.corba.CDataFlowInterface remote_ports, String remote_port, RTT.corba.CConnPolicyHolder policy) throws RTT.corba.CNoSuchPortException; /** * Removes the specified connection created with createConnection. */ boolean removeConnection (String local_port, RTT.corba.CDataFlowInterface remote_ports, String remote_port) throws RTT.corba.CNoSuchPortException; /** * Create an out-of-band data stream with a given policy. * You may specify a name_id in the policy object, or if left empty, * a name will be chosen for you. */ boolean createStream (String local_port, RTT.corba.CConnPolicyHolder policy) throws RTT.corba.CNoSuchPortException; /** * Removes a stream added with createStream. * @param local_port The port to remove the stream from. * @param stream_name The name_id returned in the CConnPolicy object * after the call to createStream. */ void removeStream (String local_port, String stream_name) throws RTT.corba.CNoSuchPortException; /** * Checks if the connection channel elements are ready for a given * input port. * This is typically called by the createConnection setup logic to see * if the input side agrees with the connection and can use it. * For example, the input port can use this opportunity to check the * * @throw CNoSuchPortException if input_port is not an input port * or not present in this interface. * @return false if the connection could not be used. */ boolean channelReady (String input_port, RTT.corba.CChannelElement channel) throws RTT.corba.CNoSuchPortException; } // interface CDataFlowInterfaceOperations