Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class 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 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 ACE_ENV_ARG_DECL_WITH_DEFAULTS)
virtual AVStreams::StreamCtrl_ptr bind (AVStreams::MMDevice_ptr peer_device, AVStreams::streamQoS &the_qos, CORBA::Boolean_out is_met, const AVStreams::flowSpec &the_spec ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, AVStreams::streamOpFailed, AVStreams::noSuchFlow, AVStreams::QoSRequestFailed)
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 ACE_ENV_ARG_DECL_WITH_DEFAULTS) 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 ACE_ENV_ARG_DECL_WITH_DEFAULTS) 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 ACE_ENV_ARG_DECL_WITH_DEFAULTS) 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 ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, AVStreams::notSupported)
 Remove the StreamEndPoint and the related vdev.
virtual char * add_fdev (CORBA::Object_ptr the_fdev ACE_ENV_ARG_DECL_WITH_DEFAULTS) 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 ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, AVStreams::notSupported, AVStreams::noSuchFlow)
 Not supported in the light profile, raises notsupported.
virtual void remove_fdev (const char *flow_name ACE_ENV_ARG_DECL_WITH_DEFAULTS) 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_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 ACE_ENV_ARG_DECL) throw (CORBA::SystemException, AVStreams::notSupported, AVStreams::streamOpFailed)
 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]
 

typedef ACE_Hash_Map_Iterator<ACE_CString,AVStreams::FDev_var,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 void   )  [virtual]
 

Destructor.


Member Function Documentation

virtual char* TAO_MMDevice::add_fdev CORBA::Object_ptr the_fdev  ACE_ENV_ARG_DECL_WITH_DEFAULTS  )  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  ACE_ENV_ARG_DECL  )  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  ACE_ENV_ARG_DECL_WITH_DEFAULTS
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  ACE_ENV_ARG_DECL_WITH_DEFAULTS
throw (CORBA::SystemException, AVStreams::streamOpFailed, AVStreams::noSuchFlow, AVStreams::QoSRequestFailed) [virtual]
 

Multicast bind.

virtual 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  ACE_ENV_ARG_DECL_WITH_DEFAULTS
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.

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

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  ACE_ENV_ARG_DECL_WITH_DEFAULTS
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.

virtual void TAO_MMDevice::destroy AVStreams::StreamEndPoint_ptr  the_ep,
const char *vdev_name  ACE_ENV_ARG_DECL_WITH_DEFAULTS
throw (CORBA::SystemException, AVStreams::notSupported) [virtual]
 

Remove the StreamEndPoint and the related vdev.

CORBA::Object_ptr TAO_MMDevice::get_fdev const char *flow_name  ACE_ENV_ARG_DECL_WITH_DEFAULTS  )  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  ACE_ENV_ARG_DECL_WITH_DEFAULTS  )  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 on Sun May 15 13:33:26 2005 for TAO_AV by  doxygen 1.3.9.1