TAO_MMDevice Class Reference

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

#include <AVStreams_i.h>

Collaboration diagram for TAO_MMDevice:

Collaboration graph
[legend]

List of all members.

Public Types

enum  MMDevice_Type { MMDEVICE_A = 0, MMDEVICE_B = 1 }
 Constructor. More...

Public Member Functions

 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)
virtual AVStreams::StreamCtrl_ptr bind (AVStreams::MMDevice_ptr peer_device, AVStreams::streamQoS &the_qos, CORBA::Boolean_out is_met, const AVStreams::flowSpec &the_spec)
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)
 Multicast bind.
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)
 Called by StreamCtrl to create a "A" type streamandpoint and vdev.
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)
 Called by StreamCtrl to create a "B" type streamandpoint and vdev.
virtual void destroy (AVStreams::StreamEndPoint_ptr the_ep, const char *vdev_name)
 Remove the StreamEndPoint and the related vdev.
virtual char * add_fdev (CORBA::Object_ptr the_fdev)
 Not supported in the light profile, raises notsupported.
virtual CORBA::Object_ptr get_fdev (const char *flow_name)
 Not supported in the light profile, raises notsupported.
virtual void remove_fdev (const char *flow_name)
 Not supported in the light profile, raises notsupported.
virtual ~TAO_MMDevice (void)
 Destructor.

Protected Types

typedef ACE_Hash_Map_Manager
< ACE_CString,
AVStreams::FDev_var,
ACE_Null_Mutex
FDev_Map
typedef ACE_Hash_Map_Iterator
< ACE_CString,
AVStreams::FDev_var,
ACE_Null_Mutex
FDev_Map_Iterator
typedef ACE_Hash_Map_Entry
< ACE_CString,
AVStreams::FDev_var > 
FDev_Map_Entry

Protected Member Functions

char * add_fdev_i (AVStreams::FDev_ptr fdev)
 Helper method to implement add_fdev().

Protected Attributes

TAO_AV_Endpoint_Strategyendpoint_strategy_
u_int flow_count_
u_int flow_num_
 current flow number used for system generation of flow names.
FDev_Map fdev_map_
AVStreams::flowSpec flows_
 sequence of supported flow names.
TAO_StreamCtrlstream_ctrl_


Detailed Description

Implements a factory to create Endpoints and VDevs.

Member Typedef Documentation

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

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


Member Enumeration Documentation

Constructor.

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

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 
) [virtual]

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 
) [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 
) [virtual]

Multicast bind.

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 
) [virtual]

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

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 
) [virtual]

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

void TAO_MMDevice::destroy ( AVStreams::StreamEndPoint_ptr  the_ep,
const char *  vdev_name 
) [virtual]

Remove the StreamEndPoint and the related vdev.

char * TAO_MMDevice::add_fdev ( CORBA::Object_ptr  the_fdev  )  [virtual]

Not supported in the light profile, raises notsupported.

CORBA::Object_ptr TAO_MMDevice::get_fdev ( const char *  flow_name  )  [virtual]

Not supported in the light profile, raises notsupported.

void TAO_MMDevice::remove_fdev ( const char *  flow_name  )  [virtual]

Not supported in the light profile, raises notsupported.

char * TAO_MMDevice::add_fdev_i ( AVStreams::FDev_ptr  fdev  )  [protected]

Helper method to implement add_fdev().


Member Data Documentation

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.

hash table for the flownames and its corresponding flowEndpoint reference.

sequence of supported flow names.


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

Generated on Mon Sep 15 08:35:09 2008 for TAO_AV by  doxygen 1.5.5