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 >:

[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_FlowProducer > | producer_list_
ACE_DLList< TAO_FlowConsumer > | consumer_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:

- Flows_T.h
- Flows_T.cpp