43 #include "DataFlowS.h" 45 #include "DataFlowC.h" 48 #include "../../base/ChannelElement.hpp" 49 #include "../../internal/DataSources.hpp" 54 #if !defined (ACE_LACKS_PRAGMA_ONCE) 62 class CDataFlowInterface_i;
70 :
public POA_RTT::corba::CRemoteChannelElement
71 ,
public virtual PortableServer::RefCountServantBase
76 PortableServer::POA_var
mpoa;
82 PortableServer::POA_ptr poa);
86 PortableServer::ObjectId_var oid = mpoa->activate_object(
this);
91 virtual void transferSamples() = 0;
97 PortableServer::POA_ptr _default_POA();
99 void setRemoteSide(CRemoteChannelElement_ptr remote)
ACE_THROW_SPEC ((
100 CORBA::SystemException
112 :
public virtual POA_RTT::corba::CDataFlowInterface
115 PortableServer::POA_var mpoa;
122 RTT::corba::CDataFlowInterface_var objref;
126 : objref(objref), servant(servant) {}
128 typedef std::list<ServantInfo> ServantMap;
129 static ServantMap s_servant_map;
132 std::pair<RTT::corba::CChannelElement_var, base::ChannelElementBase::shared_ptr>
134 ChannelList channel_list;
146 static void clearServants();
150 void deregisterChannel(CChannelElement_ptr channel);
156 static CDataFlowInterface_ptr getRemoteInterface(
DataFlowInterface* dfi, PortableServer::POA_ptr poa);
159 PortableServer::ObjectId_var oid = mpoa->activate_object(
this);
164 PortableServer::POA_ptr _default_POA();
168 CORBA::SystemException
171 CORBA::SystemException
174 CORBA::SystemException
178 CORBA::SystemException
181 ::CORBA::Boolean isConnected(
const char* port_name)
ACE_THROW_SPEC ((
182 CORBA::SystemException
186 CORBA::SystemException
190 CORBA::SystemException
195 CORBA::SystemException
200 CORBA::SystemException
205 ::CORBA::Boolean createConnection(
const char* writer_port,
206 CDataFlowInterface_ptr reader_interface,
207 const char* reader_port,
209 CORBA::SystemException
212 bool removeConnection(
const char* writer_port,
213 CDataFlowInterface_ptr reader_interface,
215 CORBA::SystemException
219 ::CORBA::Boolean createStream(
const char* port,
221 CORBA::SystemException
224 void removeStream(
const char* port,
const char* stream_name)
ACE_THROW_SPEC ((
225 CORBA::SystemException
The Interface of a TaskContext which exposes its data-flow ports.
Emitted when information is requested on a port that does not exist.
RTT::corba::CorbaTypeTransporter const & transport
Base class for CORBA channel servers.
sequence< CPortDescription > CPortDescriptions
Emitted during connections, when there is no CORBA transport defined for the data type of the given p...
DataFlowInterface * getDataFlowInterface() const
#define ACE_THROW_SPEC(x)
CDataFlowInterface_i * mdataflow
virtual RTT::corba::CRemoteChannelElement_ptr activate_this()
CRemoteChannelElement_var remote_side
sequence< string > CPortNames
An object oriented wrapper around a non recursive mutex.
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
virtual RTT::corba::CDataFlowInterface_ptr activate_this()
Represents a remote data flow interface.
PortableServer::POA_var mpoa
Extends the TypeTransporter in order to allow the creation of channel elements or output halves for a...
void setCDataFlowInterface(CDataFlowInterface_i *dataflow)