TAO_AV 4.0.1
Loading...
Searching...
No Matches
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
[legend]
Collaboration diagram for TAO_MMDevice:
Collaboration graph
[legend]

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 ()
 Destructor.
 

Protected Types

typedef ACE_Hash_Map_Manager< ACE_CString, AVStreams::FDev_var, ACE_Null_MutexFDev_Map
 
typedef ACE_Hash_Map_Iterator< ACE_CString, AVStreams::FDev_var, ACE_Null_MutexFDev_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

◆ FDev_Map

◆ FDev_Map_Entry

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

◆ FDev_Map_Iterator

Member Enumeration Documentation

◆ MMDevice_Type

Constructor.

Enumerator
MMDEVICE_A 
MMDEVICE_B 

Constructor & Destructor Documentation

◆ TAO_MMDevice()

TAO_MMDevice::TAO_MMDevice ( TAO_AV_Endpoint_Strategy * endpoint_strategy_)

◆ ~TAO_MMDevice()

TAO_MMDevice::~TAO_MMDevice ( )
virtual

Destructor.

Member Function Documentation

◆ add_fdev()

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

Not supported in the light profile, raises notsupported.

◆ add_fdev_i()

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

Helper method to implement add_fdev()

◆ bind()

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

◆ bind_mcast()

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.

◆ create_A()

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.

◆ create_A_B()

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

◆ create_B()

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.

◆ destroy()

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

Remove the StreamEndPoint and the related vdev.

◆ get_fdev()

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

Not supported in the light profile, raises notsupported.

◆ remove_fdev()

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

Not supported in the light profile, raises notsupported.

Member Data Documentation

◆ endpoint_strategy_

TAO_AV_Endpoint_Strategy* TAO_MMDevice::endpoint_strategy_
protected

◆ fdev_map_

FDev_Map TAO_MMDevice::fdev_map_
protected

hash table for the flownames and its corresponding flowEndpoint reference.

◆ flow_count_

u_int TAO_MMDevice::flow_count_
protected

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

◆ flow_num_

u_int TAO_MMDevice::flow_num_
protected

current flow number used for system generation of flow names.

◆ flows_

AVStreams::flowSpec TAO_MMDevice::flows_
protected

sequence of supported flow names.

◆ stream_ctrl_

TAO_StreamCtrl* TAO_MMDevice::stream_ctrl_
protected

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