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>

Inheritance diagram for TAO_MMDevice

Inheritance graph
[legend]
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 Methods

 TAO_MMDevice (TAO_AV_Endpoint_Strategy *endpoint_strategy_)
 TAO_MMDevice (TAO_MMDevice const &)
 Copy constructor to fool g++.

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, CORBA::Environment &env = CORBA::Environment::default_environment ())
virtual AVStreams::StreamCtrl_ptr bind (AVStreams::MMDevice_ptr peer_device, AVStreams::streamQoS &the_qos, CORBA::Boolean_out is_met, const AVStreams::flowSpec &the_spec, CORBA::Environment &env = CORBA::Environment::default_environment ()) 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.

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, CORBA::Environment &env = CORBA::Environment::default_environment ()) throw (CORBA::SystemException, AVStreams::streamOpFailed, AVStreams::noSuchFlow, AVStreams::QoSRequestFailed)
 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, CORBA::Environment &env = CORBA::Environment::default_environment ()) throw (CORBA::SystemException, AVStreams::streamOpFailed, AVStreams::streamOpDenied, AVStreams::notSupported, AVStreams::QoSRequestFailed, AVStreams::noSuchFlow)
 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, CORBA::Environment &env = CORBA::Environment::default_environment ()) throw (CORBA::SystemException, AVStreams::streamOpFailed, AVStreams::streamOpDenied, AVStreams::notSupported, AVStreams::QoSRequestFailed, AVStreams::noSuchFlow)
 Called by StreamCtrl to create a "B" type streamandpoint and vdev.

virtual void destroy (AVStreams::StreamEndPoint_ptr the_ep, const char *vdev_name, CORBA::Environment &env = CORBA::Environment::default_environment ()) throw (CORBA::SystemException, AVStreams::notSupported)
 Remove the StreamEndPoint and the related vdev.

virtual char* add_fdev (CORBA::Object_ptr the_fdev, CORBA::Environment &env = CORBA::Environment::default_environment ()) throw (CORBA::SystemException, AVStreams::notSupported, AVStreams::streamOpFailed)
 Not supported in the light profile, raises notsupported.

virtual CORBA::Object_ptr get_fdev (const char *flow_name, CORBA::Environment &env = CORBA::Environment::default_environment ()) throw (CORBA::SystemException, AVStreams::notSupported, AVStreams::noSuchFlow)
 Not supported in the light profile, raises notsupported.

virtual void remove_fdev (const char *flow_name, CORBA::Environment &env = CORBA::Environment::default_environment ()) throw (CORBA::SystemException, AVStreams::notSupported, AVStreams::noSuchFlow, AVStreams::streamOpFailed)
 Not supported in the light profile, raises notsupported.

virtual ~TAO_MMDevice (void)
 Destructor.


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, CORBA::Environment &ACE_TRY_ENV) throw (CORBA::SystemException, AVStreams::notSupported, AVStreams::streamOpFailed)
 Helper method to implement add_fdev().


Protected Attributes

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

u_int flow_num_
 current flow number used for system generation of flow names.

FDev_Map fdev_map_
 hash table for the flownames and its corresponding flowEndpoint reference.

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_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 ( TAO_MMDevice const & mm_device )
 

Copy constructor to fool g++.

TAO_MMDevice::~TAO_MMDevice ( void ) [virtual]
 

Destructor.


Member Function Documentation

char * TAO_MMDevice::add_fdev ( CORBA::Object_ptr the_fdev,
CORBA::Environment & env = CORBA::Environment::default_environment () ) 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,
CORBA::Environment & ACE_TRY_ENV ) 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,
CORBA::Environment & env = CORBA::Environment::default_environment () ) 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,
CORBA::Environment & env = CORBA::Environment::default_environment () ) throw (CORBA::SystemException, AVStreams::streamOpFailed, AVStreams::noSuchFlow, AVStreams::QoSRequestFailed) [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,
CORBA::Environment & env = CORBA::Environment::default_environment () ) 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.

AVStreams::StreamEndPoint_ptr TAO_MMDevice::create_A_B ( MMDevice_Type type,
AVStreams::StreamCtrl_ptr streamctrl,
AVStreams::VDev_out the_vdev,
AVStreams::streamQoS & the_qos,
CORBA::Boolean_out met_qos,
char *& named_vdev,
const AVStreams::flowSpec & flow_spec,
CORBA::Environment & ACE_TRY_ENV = CORBA::Environment::default_environment () ) [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,
CORBA::Environment & env = CORBA::Environment::default_environment () ) 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.

void TAO_MMDevice::destroy ( AVStreams::StreamEndPoint_ptr the_ep,
const char * vdev_name,
CORBA::Environment & env = CORBA::Environment::default_environment () ) throw (CORBA::SystemException, AVStreams::notSupported) [virtual]
 

Remove the StreamEndPoint and the related vdev.

CORBA::Object_ptr TAO_MMDevice::get_fdev ( const char * flow_name,
CORBA::Environment & env = CORBA::Environment::default_environment () ) 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,
CORBA::Environment & env = CORBA::Environment::default_environment () ) 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:
Generated at Wed Nov 21 12:23:54 2001 for TAO_AV by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000