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
122 RTT::corba::CDataFlowInterface_var
objref;
126 : objref(objref), servant(servant) {}
132 std::pair<RTT::corba::CChannelElement_var, base::ChannelElementBase::shared_ptr>
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();
167 RTT::corba::CDataFlowInterface::CPortNames* getPorts()
ACE_THROW_SPEC ((
168 CORBA::SystemException
170 RTT::corba::CDataFlowInterface::CPortDescriptions* getPortDescriptions()
ACE_THROW_SPEC ((
171 CORBA::SystemException
173 RTT::corba::CPortType getPortType(
const char* port_name)
ACE_THROW_SPEC ((
174 CORBA::SystemException
175 ,::RTT::corba::CNoSuchPortException
178 CORBA::SystemException
179 ,::RTT::corba::CNoSuchPortException
181 ::CORBA::Boolean isConnected(
const char* port_name)
ACE_THROW_SPEC ((
182 CORBA::SystemException
183 ,::RTT::corba::CNoSuchPortException
186 CORBA::SystemException
187 ,::RTT::corba::CNoSuchPortException
190 CChannelElement_ptr buildChannelOutput(
const char* input_port, RTT::corba::CConnPolicy& policy)
ACE_THROW_SPEC ((
191 CORBA::SystemException
192 ,::RTT::corba::CNoCorbaTransport
193 ,::RTT::corba::CNoSuchPortException
194 ,::RTT::corba::CInvalidArgument
197 CChannelElement_ptr buildChannelInput(
const char* output_port, RTT::corba::CConnPolicy& policy)
ACE_THROW_SPEC ((
198 CORBA::SystemException
199 ,::RTT::corba::CNoCorbaTransport
200 ,::RTT::corba::CNoSuchPortException
201 ,::RTT::corba::CInvalidArgument
204 ::CORBA::Boolean createConnection(
const char* writer_port,
205 CDataFlowInterface_ptr reader_interface,
206 const char* reader_port,
208 CORBA::SystemException
209 ,::RTT::corba::CNoSuchPortException
212 ::CORBA::Boolean createSharedConnection(
const char *input_port, RTT::corba::CConnPolicy& policy)
ACE_THROW_SPEC ((
213 CORBA::SystemException
214 ,::RTT::corba::CNoSuchPortException
215 ,::RTT::corba::CInvalidArgument
218 bool removeConnection(
const char* writer_port,
219 CDataFlowInterface_ptr reader_interface,
221 CORBA::SystemException
222 ,::RTT::corba::CNoSuchPortException
225 ::CORBA::Boolean createStream(
const char* port,
227 CORBA::SystemException
228 ,::RTT::corba::CNoSuchPortException
231 void removeStream(
const char* port,
const char* stream_name)
ACE_THROW_SPEC ((
232 CORBA::SystemException
233 ,::RTT::corba::CNoSuchPortException
std::list< std::pair< RTT::corba::CChannelElement_var, base::ChannelElementBase::shared_ptr > > ChannelList
std::list< ServantInfo > ServantMap
RTT::corba::CDataFlowInterface_var objref
RTT::corba::CorbaTypeTransporter const & transport
PortableServer::POA_var mpoa
RTT::corba::CDataFlowInterface_i * servant
DataFlowInterface * getDataFlowInterface() const
#define ACE_THROW_SPEC(x)
ServantInfo(CDataFlowInterface_var objref, CDataFlowInterface_i *servant)
CDataFlowInterface_i * mdataflow
virtual RTT::corba::CRemoteChannelElement_ptr activate_this()
static ServantMap s_servant_map
CRemoteChannelElement_var remote_side
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()
DataFlowInterface * getDataFlowInterface() const
PortableServer::POA_var mpoa
RTT::os::Mutex channel_list_mtx
void setCDataFlowInterface(CDataFlowInterface_i *dataflow)