Orocos Real-Time Toolkit  2.9.0
DataFlow.idl
Go to the documentation of this file.
1 #ifndef ORO_CORBA_DATAFLOW_IDL
2 #define ORO_CORBA_DATAFLOW_IDL
3 
4 #ifdef CORBA_IS_TAO
5 //resolves LNK2005
6 #include <tao/orb.idl>
7 #endif
8 
9 module RTT
10 {
11  module corba
12  {
18  struct CConnPolicy
19  {
21  long size;
23  boolean init;
24  boolean pull;
27  boolean mandatory;
28  long transport;
29  long data_size;
30  string name_id;
31  };
32 
39  interface CChannelElement
40  {
41 
48  //boolean setDataSample(in any sample);
49 
55  boolean inputReady();
56 
68  boolean channelReady(in CConnPolicy cp);
69 
73  CFlowStatus read(out any sample, in boolean copy_old_data);
74 
79  CWriteStatus write(in any sample);
80 
84  oneway void writeOneway(in any sample);
85 
90  void disconnect();
91  };
92 
98  {
103  void setRemoteSide(in CRemoteChannelElement other);
104 
110  oneway void remoteSignal();
111 
120  void remoteDisconnect(in boolean forward);
121 
122  };
123 
125  exception CNoSuchPortException {};
128  exception CNoCorbaTransport {};
131  exception CInvalidArgument {};
132 
134 
136  {
138  string name;
139  string description;
140  string type_name;
141  };
142 
151  {
152  typedef sequence<string> CPortNames;
153  typedef sequence<CPortDescription> CPortDescriptions;
154 
158  CPortNames getPorts();
159 
163  CPortDescriptions getPortDescriptions();
164 
168  CPortType getPortType(in string port_name)
169  raises(CNoSuchPortException);
170 
174  string getDataType(in string port_name)
175  raises(CNoSuchPortException);
176 
180  boolean isConnected(in string port_name)
181  raises(CNoSuchPortException);
182 
187  void disconnectPort(in string port_name)
188  raises(CNoSuchPortException);
189 
199  CChannelElement buildChannelOutput(in string input_port, inout CConnPolicy policy)
201 
208  CChannelElement buildChannelInput(in string output_port, inout CConnPolicy policy)
210 
228  boolean createConnection(in string local_port, in CDataFlowInterface remote_ports,
229  in string remote_port, inout CConnPolicy policy)
230  raises(CNoSuchPortException);
231 
236  boolean createSharedConnection(in string input_port, inout CConnPolicy policy)
238 
242  boolean removeConnection(in string local_port,
243  in CDataFlowInterface remote_ports, in string remote_port)
244  raises(CNoSuchPortException);
245 
251  boolean createStream(in string local_port, inout CConnPolicy policy)
252  raises(CNoSuchPortException);
253 
260  void removeStream(in string local_port, in string stream_name)
261  raises(CNoSuchPortException);
262  };
263  };
264 };
265 #endif
266 
The advanced channel element interface, used by Orocos to relay over-CORBA data flow connections...
Definition: DataFlow.idl:97
An interface to access the dataflow of a CControlTask object.
Definition: DataFlow.idl:150
CConnectionModel type
Definition: DataFlow.idl:20
Emitted when information is requested on a port that does not exist.
Definition: DataFlow.idl:125
Represents the basic channel element interface for reading, writing and disconnecting a channel...
Definition: DataFlow.idl:39
sequence< CPortDescription > CPortDescriptions
Definition: DataFlow.idl:153
CBufferPolicy buffer_policy
Definition: DataFlow.idl:25
Emitted during connections, when there is no CORBA transport defined for the data type of the given p...
Definition: DataFlow.idl:128
Emitted during connections, when it is not possible to build new connections with the given arguments...
Definition: DataFlow.idl:131
sequence< string > CPortNames
Definition: DataFlow.idl:152
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
Definition: Activity.cpp:52
CLockPolicy lock_policy
Definition: DataFlow.idl:22