TAO_AV  2.2.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
TAO_MMDevice Class Reference

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

#include <AVStreams_i.h>

Inheritance diagram for TAO_MMDevice:
Inheritance graph
Collaboration diagram for TAO_MMDevice:
Collaboration graph

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. 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)
 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)
 Called by StreamCtrl to create a "B" type streamandpoint and vdev. More...
 
virtual void destroy (AVStreams::StreamEndPoint_ptr the_ep, const char *vdev_name)
 Remove the StreamEndPoint and the related vdev. More...
 
virtual char * add_fdev (CORBA::Object_ptr the_fdev)
 Not supported in the light profile, raises notsupported. More...
 
virtual CORBA::Object_ptr get_fdev (const char *flow_name)
 Not supported in the light profile, raises notsupported. More...
 
virtual void remove_fdev (const char *flow_name)
 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_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() More...
 

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. More...
 
FDev_Map fdev_map_
 
AVStreams::flowSpec flows_
 sequence of supported flow names. More...
 
TAO_StreamCtrlstream_ctrl_
 

Detailed Description

Implements a factory to create Endpoints and VDevs.

Member Typedef Documentation

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

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: