Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

TAO_FDev< T_Producer, T_Consumer > Class Template Reference

Implementation of the AV/Streams Flow Device. A FlowConnection is used to bind FDevs for flows, much like how a StreamCtrl is used to bind MMDevices for streams. More...

#include <Flows_T.h>

Collaboration diagram for TAO_FDev< T_Producer, T_Consumer >:

Collaboration graph
[legend]
List of all members.

Public Methods

 TAO_FDev (void)
 default constructor

 TAO_FDev (const char *flowname)
 constructor taking a flowname.

 ~TAO_FDev (void)
 Destructor..

const char * flowname (void)
void flowname (const char *flowname)
AVStreams::FlowProducer_ptr create_producer (AVStreams::FlowConnection_ptr the_requester, AVStreams::QoS &the_qos, CORBA::Boolean_out met_qos, char *&named_fdev ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, AVStreams::streamOpFailed, AVStreams::streamOpDenied, AVStreams::notSupported, AVStreams::QoSRequestFailed)
virtual AVStreams::FlowProducer_ptr make_producer (AVStreams::FlowConnection_ptr the_requester, AVStreams::QoS &the_qos, CORBA::Boolean_out met_qos, char *&named_fdev ACE_ENV_ARG_DECL_WITH_DEFAULTS)
virtual AVStreams::FlowConsumer_ptr create_consumer (AVStreams::FlowConnection_ptr the_requester, AVStreams::QoS &the_qos, CORBA::Boolean_out met_qos, char *&named_fdev ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, AVStreams::streamOpFailed, AVStreams::streamOpDenied, AVStreams::notSupported, AVStreams::QoSRequestFailed)
 create a flow consumer object.

virtual AVStreams::FlowConsumer_ptr make_consumer (AVStreams::FlowConnection_ptr the_requester, AVStreams::QoS &the_qos, CORBA::Boolean_out met_qos, char *&named_fdev ACE_ENV_ARG_DECL_WITH_DEFAULTS)
virtual AVStreams::FlowConnection_ptr bind (AVStreams::FDev_ptr peer_device, AVStreams::QoS &the_qos, CORBA::Boolean_out is_met ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, AVStreams::streamOpFailed, AVStreams::QoSRequestFailed)
 bind this FDev with another FDev.

virtual AVStreams::FlowConnection_ptr bind_mcast (AVStreams::FDev_ptr first_peer, AVStreams::QoS &the_qos, CORBA::Boolean_out is_met ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, AVStreams::streamOpFailed, AVStreams::QoSRequestFailed)
 multicast bind is not implemented yet.

virtual void destroy (AVStreams::FlowEndPoint_ptr the_ep, const char *fdev_name ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, AVStreams::notSupported)
 destroys this FDev.


Protected Types

typedef ACE_DLList_Iterator<
TAO_FlowProducer
PRODUCER_LIST_ITERATOR
typedef ACE_DLList_Iterator<
TAO_FlowConsumer
CONSUMER_LIST_ITERATOR

Protected Attributes

ACE_DLList< TAO_FlowProducerproducer_list_
ACE_DLList< TAO_FlowConsumerconsumer_list_
CORBA::String_var flowname_

Detailed Description

template<class T_Producer, class T_Consumer>
class TAO_FDev< T_Producer, T_Consumer >

Implementation of the AV/Streams Flow Device. A FlowConnection is used to bind FDevs for flows, much like how a StreamCtrl is used to bind MMDevices for streams.


Member Typedef Documentation

template<class T_Producer, class T_Consumer>
typedef ACE_DLList_Iterator<TAO_FlowConsumer> TAO_FDev< T_Producer, T_Consumer >::CONSUMER_LIST_ITERATOR [protected]
 

template<class T_Producer, class T_Consumer>
typedef ACE_DLList_Iterator<TAO_FlowProducer> TAO_FDev< T_Producer, T_Consumer >::PRODUCER_LIST_ITERATOR [protected]
 


Constructor & Destructor Documentation

template<class T_Producer, class T_Consumer>
TAO_FDev< T_Producer, T_Consumer >::TAO_FDev void   
 

default constructor

template<class T_Producer, class T_Consumer>
TAO_FDev< T_Producer, T_Consumer >::TAO_FDev const char *    flowname
 

constructor taking a flowname.

template<class T_Producer, class T_Consumer>
TAO_FDev< T_Producer, T_Consumer >::~TAO_FDev void   
 

Destructor..


Member Function Documentation

template<class T_Producer, class T_Consumer>
AVStreams::FlowConnection_ptr TAO_FDev< T_Producer, T_Consumer >::bind AVStreams::FDev_ptr    peer_device,
AVStreams::QoS   the_qos,
CORBA::Boolean_out is_met    ACE_ENV_ARG_DECL_WITH_DEFAULTS
throw (CORBA::SystemException, AVStreams::streamOpFailed, AVStreams::QoSRequestFailed) [virtual]
 

bind this FDev with another FDev.

template<class T_Producer, class T_Consumer>
AVStreams::FlowConnection_ptr TAO_FDev< T_Producer, T_Consumer >::bind_mcast AVStreams::FDev_ptr    first_peer,
AVStreams::QoS   the_qos,
CORBA::Boolean_out is_met    ACE_ENV_ARG_DECL_WITH_DEFAULTS
throw (CORBA::SystemException, AVStreams::streamOpFailed, AVStreams::QoSRequestFailed) [virtual]
 

multicast bind is not implemented yet.

template<class T_Producer, class T_Consumer>
AVStreams::FlowConsumer_ptr TAO_FDev< T_Producer, T_Consumer >::create_consumer AVStreams::FlowConnection_ptr    the_requester,
AVStreams::QoS   the_qos,
CORBA::Boolean_out    met_qos,
char *&named_fdev    ACE_ENV_ARG_DECL_WITH_DEFAULTS
throw (CORBA::SystemException, AVStreams::streamOpFailed, AVStreams::streamOpDenied, AVStreams::notSupported, AVStreams::QoSRequestFailed) [virtual]
 

create a flow consumer object.

template<class T_Producer, class T_Consumer>
AVStreams::FlowProducer_ptr TAO_FDev< T_Producer, T_Consumer >::create_producer AVStreams::FlowConnection_ptr    the_requester,
AVStreams::QoS   the_qos,
CORBA::Boolean_out    met_qos,
char *&named_fdev    ACE_ENV_ARG_DECL_WITH_DEFAULTS
throw (CORBA::SystemException, AVStreams::streamOpFailed, AVStreams::streamOpDenied, AVStreams::notSupported, AVStreams::QoSRequestFailed)
 

template<class T_Producer, class T_Consumer>
virtual void TAO_FDev< T_Producer, T_Consumer >::destroy AVStreams::FlowEndPoint_ptr    the_ep,
const char *fdev_name    ACE_ENV_ARG_DECL_WITH_DEFAULTS
throw (CORBA::SystemException, AVStreams::notSupported) [virtual]
 

destroys this FDev.

template<class T_Producer, class T_Consumer>
void TAO_FDev< T_Producer, T_Consumer >::flowname const char *    flowname
 

template<class T_Producer, class T_Consumer>
const char * TAO_FDev< T_Producer, T_Consumer >::flowname void   
 

set/get the flowname. create a flow producer object.

template<class T_Producer, class T_Consumer>
virtual AVStreams::FlowConsumer_ptr TAO_FDev< T_Producer, T_Consumer >::make_consumer AVStreams::FlowConnection_ptr    the_requester,
AVStreams::QoS   the_qos,
CORBA::Boolean_out    met_qos,
char *&named_fdev    ACE_ENV_ARG_DECL_WITH_DEFAULTS
[virtual]
 

bridge method for the application to override the consumer object creation. Default implementation creates a TAO_FlowConsumer.

template<class T_Producer, class T_Consumer>
virtual AVStreams::FlowProducer_ptr TAO_FDev< T_Producer, T_Consumer >::make_producer AVStreams::FlowConnection_ptr    the_requester,
AVStreams::QoS   the_qos,
CORBA::Boolean_out    met_qos,
char *&named_fdev    ACE_ENV_ARG_DECL_WITH_DEFAULTS
[virtual]
 

bridge method for the application to override the producer object creation. Default implementation creates a TAO_FlowProducer.


Member Data Documentation

template<class T_Producer, class T_Consumer>
ACE_DLList<TAO_FlowConsumer> TAO_FDev< T_Producer, T_Consumer >::consumer_list_ [protected]
 

template<class T_Producer, class T_Consumer>
CORBA::String_var TAO_FDev< T_Producer, T_Consumer >::flowname_ [protected]
 

template<class T_Producer, class T_Consumer>
ACE_DLList<TAO_FlowProducer> TAO_FDev< T_Producer, T_Consumer >::producer_list_ [protected]
 


The documentation for this class was generated from the following files:
Generated on Fri Apr 2 19:02:55 2004 for TAO_AV by doxygen1.2.18