package RTT.corba;
/**
* RTT/corba/_CRemoteChannelElementStub.java .
* Generated by the IDL-to-Java compiler (portable), version "3.2"
* from DataFlow.idl
* Wednesday, July 11, 2012 5:26:42 PM CEST
*/
/**
* The advanced channel element interface, used by Orocos
* to relay over-CORBA data flow connections.
*/
public class _CRemoteChannelElementStub extends org.omg.CORBA.portable.ObjectImpl implements RTT.corba.CRemoteChannelElement
{
/**
* Used to inform this channel element which the other
* side is such that they can relay a signal or disconnect.
*/
public void setRemoteSide (RTT.corba.CRemoteChannelElement other)
{
org.omg.CORBA.portable.InputStream $in = null;
try {
org.omg.CORBA.portable.OutputStream $out = _request ("setRemoteSide", true);
RTT.corba.CRemoteChannelElementHelper.write ($out, other);
$in = _invoke ($out);
return;
} catch (org.omg.CORBA.portable.ApplicationException $ex) {
$in = $ex.getInputStream ();
String _id = $ex.getId ();
throw new org.omg.CORBA.MARSHAL (_id);
} catch (org.omg.CORBA.portable.RemarshalException $rm) {
setRemoteSide (other );
} finally {
_releaseReply ($in);
}
} // setRemoteSide
/**
* Used by the 'remote' side to inform this channel element that new data
* is available for reading.
* @return false if this channel became invalidated.
*/
public boolean remoteSignal ()
{
org.omg.CORBA.portable.InputStream $in = null;
try {
org.omg.CORBA.portable.OutputStream $out = _request ("remoteSignal", true);
$in = _invoke ($out);
boolean $result = $in.read_boolean ();
return $result;
} catch (org.omg.CORBA.portable.ApplicationException $ex) {
$in = $ex.getInputStream ();
String _id = $ex.getId ();
throw new org.omg.CORBA.MARSHAL (_id);
} catch (org.omg.CORBA.portable.RemarshalException $rm) {
return remoteSignal ( );
} finally {
_releaseReply ($in);
}
} // remoteSignal
/**
* Used by the 'remote' side to inform this channel element
* that the connection is been cleaned up.
* @param writer_to_reader Since channel elements are chained,
* we need to know who initiated the disconnect: starting from
* the output port (writer_to_reader == true) or from the
* input port (writer_to_reader == false)
*/
public void remoteDisconnect (boolean writer_to_reader)
{
org.omg.CORBA.portable.InputStream $in = null;
try {
org.omg.CORBA.portable.OutputStream $out = _request ("remoteDisconnect", true);
$out.write_boolean (writer_to_reader);
$in = _invoke ($out);
return;
} catch (org.omg.CORBA.portable.ApplicationException $ex) {
$in = $ex.getInputStream ();
String _id = $ex.getId ();
throw new org.omg.CORBA.MARSHAL (_id);
} catch (org.omg.CORBA.portable.RemarshalException $rm) {
remoteDisconnect (writer_to_reader );
} finally {
_releaseReply ($in);
}
} // remoteDisconnect
/**
* Reads from this Channel Element.
*/
public RTT.corba.CFlowStatus read (org.omg.CORBA.AnyHolder sample, boolean copy_old_data)
{
org.omg.CORBA.portable.InputStream $in = null;
try {
org.omg.CORBA.portable.OutputStream $out = _request ("read", true);
$out.write_boolean (copy_old_data);
$in = _invoke ($out);
RTT.corba.CFlowStatus $result = RTT.corba.CFlowStatusHelper.read ($in);
sample.value = $in.read_any ();
return $result;
} catch (org.omg.CORBA.portable.ApplicationException $ex) {
$in = $ex.getInputStream ();
String _id = $ex.getId ();
throw new org.omg.CORBA.MARSHAL (_id);
} catch (org.omg.CORBA.portable.RemarshalException $rm) {
return read (sample, copy_old_data );
} finally {
_releaseReply ($in);
}
} // read
/**
* Writes into this Channel Element.
* @return false if the channel became invalid
*/
public boolean write (org.omg.CORBA.Any sample)
{
org.omg.CORBA.portable.InputStream $in = null;
try {
org.omg.CORBA.portable.OutputStream $out = _request ("write", true);
$out.write_any (sample);
$in = _invoke ($out);
boolean $result = $in.read_boolean ();
return $result;
} catch (org.omg.CORBA.portable.ApplicationException $ex) {
$in = $ex.getInputStream ();
String _id = $ex.getId ();
throw new org.omg.CORBA.MARSHAL (_id);
} catch (org.omg.CORBA.portable.RemarshalException $rm) {
return write (sample );
} finally {
_releaseReply ($in);
}
} // write
/**
* Disconnect and dispose this object.
* You may no longer use this object after calling this method.
*/
public void disconnect ()
{
org.omg.CORBA.portable.InputStream $in = null;
try {
org.omg.CORBA.portable.OutputStream $out = _request ("disconnect", true);
$in = _invoke ($out);
return;
} catch (org.omg.CORBA.portable.ApplicationException $ex) {
$in = $ex.getInputStream ();
String _id = $ex.getId ();
throw new org.omg.CORBA.MARSHAL (_id);
} catch (org.omg.CORBA.portable.RemarshalException $rm) {
disconnect ( );
} finally {
_releaseReply ($in);
}
} // disconnect
// Type-specific CORBA::Object operations
private static String[] __ids = {
"IDL:RTT/corba/CRemoteChannelElement:1.0",
"IDL:RTT/corba/CChannelElement:1.0"};
public String[] _ids ()
{
return (String[])__ids.clone ();
}
private void readObject (java.io.ObjectInputStream s) throws java.io.IOException
{
String str = s.readUTF ();
String[] args = null;
java.util.Properties props = null;
org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init (args, props);
try {
org.omg.CORBA.Object obj = orb.string_to_object (str);
org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl) obj)._get_delegate ();
_set_delegate (delegate);
} finally {
orb.destroy() ;
}
}
private void writeObject (java.io.ObjectOutputStream s) throws java.io.IOException
{
String[] args = null;
java.util.Properties props = null;
org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init (args, props);
try {
String str = orb.object_to_string (this);
s.writeUTF (str);
} finally {
orb.destroy() ;
}
}
} // class _CRemoteChannelElementStub