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

# TAO_MMDevice Class Reference

Implements a factory to create Endpoints and VDevs. More...

`#include <AVStreams_i.h>`

Collaboration diagram for TAO_MMDevice:

[legend]
List of all members.

## Public Types
enum | MMDevice_Type { MMDEVICE_A = 0, MMDEVICE_B = 1 }
| Constructor. More...
## Public Methods
| TAO_MMDevice (TAO_AV_Endpoint_Strategy *endpoint_strategy_)
virtual AVStreams::StreamEndPoint_ptr | create_A_B (MMDevice_Type type, AVStreams::StreamCtrl_ptr the_requester, AVStreams::VDev_out the_vdev, AVStreams::streamQoS &the_qos, CORBA::Boolean_out met_qos, char *&named_vdev, const AVStreams::flowSpec &the_spec ACE_ENV_ARG_DECL_WITH_DEFAULTS)
virtual AVStreams::StreamCtrl_ptr | bind (AVStreams::MMDevice_ptr peer_device, AVStreams::streamQoS &the_qos, CORBA::Boolean_out is_met, const AVStreams::flowSpec &the_spec ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, AVStreams::streamOpFailed, AVStreams::noSuchFlow, AVStreams::QoSRequestFailed)
| Can be used to request the MMDevice to create a new StreamCtrl, and call bind_devs on it. More...
virtual AVStreams::StreamCtrl_ptr | bind_mcast (AVStreams::MMDevice_ptr first_peer, AVStreams::streamQoS &the_qos, CORBA::Boolean_out is_met, const AVStreams::flowSpec &the_spec ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, AVStreams::streamOpFailed, AVStreams::noSuchFlow, AVStreams::QoSRequestFailed)
| Multicast bind. More...
virtual AVStreams::StreamEndPoint_A_ptr | create_A (AVStreams::StreamCtrl_ptr the_requester, AVStreams::VDev_out the_vdev, AVStreams::streamQoS &the_qos, CORBA::Boolean_out met_qos, char *&named_vdev, const AVStreams::flowSpec &the_spec ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, AVStreams::streamOpFailed, AVStreams::streamOpDenied, AVStreams::notSupported, AVStreams::QoSRequestFailed, AVStreams::noSuchFlow)
| Called by StreamCtrl to create a "A" type streamandpoint and vdev. More...
virtual AVStreams::StreamEndPoint_B_ptr | create_B (AVStreams::StreamCtrl_ptr the_requester, AVStreams::VDev_out the_vdev, AVStreams::streamQoS &the_qos, CORBA::Boolean_out met_qos, char *&named_vdev, const AVStreams::flowSpec &the_spec ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, AVStreams::streamOpFailed, AVStreams::streamOpDenied, AVStreams::notSupported, AVStreams::QoSRequestFailed, AVStreams::noSuchFlow)
| Called by StreamCtrl to create a "B" type streamandpoint and vdev. More...
virtual void | destroy (AVStreams::StreamEndPoint_ptr the_ep, const char *vdev_name ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, AVStreams::notSupported)
| Remove the StreamEndPoint and the related vdev. More...
virtual char * | add_fdev (CORBA::Object_ptr the_fdev ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, AVStreams::notSupported, AVStreams::streamOpFailed)
| Not supported in the light profile, raises notsupported. More...
virtual CORBA::Object_ptr | get_fdev (const char *flow_name ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, AVStreams::notSupported, AVStreams::noSuchFlow)
| Not supported in the light profile, raises notsupported. More...
virtual void | remove_fdev (const char *flow_name ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, AVStreams::notSupported, AVStreams::noSuchFlow, AVStreams::streamOpFailed)
| Not supported in the light profile, raises notsupported. More...
virtual | ~TAO_MMDevice (void)
| Destructor. More...
## Protected Types
typedef ACE_Hash_Map_Manager< ACE_CString, AVStreams::FDev_ptr, ACE_Null_Mutex > | FDev_Map
typedef ACE_Hash_Map_Iterator< ACE_CString, AVStreams::FDev_ptr, ACE_Null_Mutex > | FDev_Map_Iterator
typedef ACE_Hash_Map_Entry< ACE_CString, AVStreams::FDev_ptr > | FDev_Map_Entry
## Protected Methods
char * | add_fdev_i (AVStreams::FDev_ptr fdev ACE_ENV_ARG_DECL) throw (CORBA::SystemException, AVStreams::notSupported, AVStreams::streamOpFailed)
| Helper method to implement add_fdev(). More...
## Protected Attributes
TAO_AV_Endpoint_Strategy * | endpoint_strategy_
u_int | flow_count_
| Count of the number of flows in this MMDevice , used to generate unique names for the flows. More...
u_int | flow_num_
| current flow number used for system generation of flow names. More...
FDev_Map | fdev_map_
| hash table for the flownames and its corresponding flowEndpoint reference. More...
AVStreams::flowSpec | flows_
| sequence of supported flow names. More...
TAO_StreamCtrl * | stream_ctrl_

## Detailed Description

Implements a factory to create Endpoints and VDevs.

## Member Typedef Documentation

typedef ACE_Hash_Map_Manager<ACE_CString,AVStreams::FDev_ptr,ACE_Null_Mutex> TAO_MMDevice::FDev_Map`[protected]`

typedef ACE_Hash_Map_Entry<ACE_CString,AVStreams::FDev_ptr> TAO_MMDevice::FDev_Map_Entry`[protected]`

typedef ACE_Hash_Map_Iterator<ACE_CString,AVStreams::FDev_ptr,ACE_Null_Mutex> TAO_MMDevice::FDev_Map_Iterator`[protected]`

## Member Enumeration Documentation

enum TAO_MMDevice::MMDevice_Type

  | Constructor. Enumeration values:
  MMDEVICE_A |
  MMDEVICE_B |

## Constructor & Destructor Documentation

TAO_MMDevice::TAO_MMDevice | ( | TAO_AV_Endpoint_Strategy * | endpoint_strategy | ) |

TAO_MMDevice::~TAO_MMDevice | ( | void |  | ) | `[virtual]`

| Destructor.

## Member Function Documentation

virtual char* TAO_MMDevice::add_fdev | ( | CORBA::Object_ptr the_fdev | ACE_ENV_ARG_DECL_WITH_DEFAULTS | ) | throw (CORBA::SystemException, AVStreams::notSupported, AVStreams::streamOpFailed)`[virtual]`

| Not supported in the light profile, raises notsupported.

char * TAO_MMDevice::add_fdev_i | ( | AVStreams::FDev_ptr fdev | ACE_ENV_ARG_DECL | ) | throw (CORBA::SystemException, AVStreams::notSupported, AVStreams::streamOpFailed)`[protected]`

| Helper method to implement add_fdev().

AVStreams::StreamCtrl_ptr TAO_MMDevice::bind | ( | AVStreams::MMDevice_ptr | peer_device,
|  | AVStreams::streamQoS & | the_qos,
|  | CORBA::Boolean_out | is_met,
|  | const AVStreams::flowSpec &the_spec | ACE_ENV_ARG_DECL
| ) | throw (CORBA::SystemException, AVStreams::streamOpFailed, AVStreams::noSuchFlow, AVStreams::QoSRequestFailed)`[virtual]`

| Can be used to request the MMDevice to create a new StreamCtrl, and call bind_devs on it.

AVStreams::StreamCtrl_ptr TAO_MMDevice::bind_mcast | ( | AVStreams::MMDevice_ptr | first_peer,
|  | AVStreams::streamQoS & | the_qos,
|  | CORBA::Boolean_out | is_met,
|  | const AVStreams::flowSpec &the_spec | ACE_ENV_ARG_DECL_NOT_USED
| ) | throw (CORBA::SystemException, AVStreams::streamOpFailed, AVStreams::noSuchFlow, AVStreams::QoSRequestFailed)`[virtual]`

| Multicast bind.

virtual AVStreams::StreamEndPoint_A_ptr TAO_MMDevice::create_A | ( | AVStreams::StreamCtrl_ptr | the_requester,
|  | AVStreams::VDev_out | the_vdev,
|  | AVStreams::streamQoS & | the_qos,
|  | CORBA::Boolean_out | met_qos,
|  | char *& | named_vdev,
|  | const AVStreams::flowSpec &the_spec | ACE_ENV_ARG_DECL_WITH_DEFAULTS
| ) | throw (CORBA::SystemException, AVStreams::streamOpFailed, AVStreams::streamOpDenied, AVStreams::notSupported, AVStreams::QoSRequestFailed, AVStreams::noSuchFlow)`[virtual]`

| Called by StreamCtrl to create a "A" type streamandpoint and vdev.

virtual AVStreams::StreamEndPoint_ptr TAO_MMDevice::create_A_B | ( | MMDevice_Type | type,
|  | AVStreams::StreamCtrl_ptr | the_requester,
|  | AVStreams::VDev_out | the_vdev,
|  | AVStreams::streamQoS & | the_qos,
|  | CORBA::Boolean_out | met_qos,
|  | char *& | named_vdev,
|  | const AVStreams::flowSpec &the_spec | ACE_ENV_ARG_DECL_WITH_DEFAULTS
| ) | `[virtual]`

virtual AVStreams::StreamEndPoint_B_ptr TAO_MMDevice::create_B | ( | AVStreams::StreamCtrl_ptr | the_requester,
|  | AVStreams::VDev_out | the_vdev,
|  | AVStreams::streamQoS & | the_qos,
|  | CORBA::Boolean_out | met_qos,
|  | char *& | named_vdev,
|  | const AVStreams::flowSpec &the_spec | ACE_ENV_ARG_DECL_WITH_DEFAULTS
| ) | throw (CORBA::SystemException, AVStreams::streamOpFailed, AVStreams::streamOpDenied, AVStreams::notSupported, AVStreams::QoSRequestFailed, AVStreams::noSuchFlow)`[virtual]`

| Called by StreamCtrl to create a "B" type streamandpoint and vdev.

virtual void TAO_MMDevice::destroy | ( | AVStreams::StreamEndPoint_ptr | the_ep,
|  | const char *vdev_name | ACE_ENV_ARG_DECL_WITH_DEFAULTS
| ) | throw (CORBA::SystemException, AVStreams::notSupported)`[virtual]`

| Remove the StreamEndPoint and the related vdev.

CORBA::Object_ptr TAO_MMDevice::get_fdev | ( | const char *flow_name | ACE_ENV_ARG_DECL_NOT_USED | ) | throw (CORBA::SystemException, AVStreams::notSupported, AVStreams::noSuchFlow)`[virtual]`

| Not supported in the light profile, raises notsupported.

void TAO_MMDevice::remove_fdev | ( | const char *flow_name | ACE_ENV_ARG_DECL | ) | throw (CORBA::SystemException, AVStreams::notSupported, AVStreams::noSuchFlow, AVStreams::streamOpFailed)`[virtual]`

| Not supported in the light profile, raises notsupported.

## Member Data Documentation

TAO_AV_Endpoint_Strategy* TAO_MMDevice::endpoint_strategy_`[protected]`

FDev_Map TAO_MMDevice::fdev_map_`[protected]`

| hash table for the flownames and its corresponding flowEndpoint reference.

u_int TAO_MMDevice::flow_count_`[protected]`

| Count of the number of flows in this MMDevice , used to generate unique names for the flows.

u_int TAO_MMDevice::flow_num_`[protected]`

| current flow number used for system generation of flow names.

AVStreams::flowSpec TAO_MMDevice::flows_`[protected]`

| sequence of supported flow names.

TAO_StreamCtrl* TAO_MMDevice::stream_ctrl_`[protected]`

The documentation for this class was generated from the following files:

- AVStreams_i.h
- AVStreams_i.cpp