TAO_AV  2.0.8
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
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

char * TAO_MMDevice::add_fdev ( CORBA::Object_ptr  the_fdev) [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()

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

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.


Member Data Documentation

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.

sequence of supported flow names.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines