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

Implementation the A/V StreamCtrl class. this class is used to control the stream. It should be subclassed by applications that want to provide more control features. More...

#include <AVStreams_i.h>

Inheritance diagram for TAO_StreamCtrl:
Inheritance graph
[legend]
Collaboration diagram for TAO_StreamCtrl:
Collaboration graph
[legend]

Classes

struct  MMDevice_Map_Entry
 

Public Member Functions

 TAO_StreamCtrl (void)
 Default Constructor. More...
 
virtual ~TAO_StreamCtrl (void)
 virtual destructor. More...
 
virtual void stop (const AVStreams::flowSpec &the_spec)
 
virtual void start (const AVStreams::flowSpec &the_spec)
 
virtual void destroy (const AVStreams::flowSpec &the_spec)
 
virtual CORBA::Boolean bind_devs (AVStreams::MMDevice_ptr a_party, AVStreams::MMDevice_ptr b_party, AVStreams::streamQoS &the_qos, const AVStreams::flowSpec &the_flows)
 
virtual CORBA::Boolean bind (AVStreams::StreamEndPoint_A_ptr a_party, AVStreams::StreamEndPoint_B_ptr b_party, AVStreams::streamQoS &the_qos, const AVStreams::flowSpec &the_flows)
 
virtual void unbind_dev (AVStreams::MMDevice_ptr dev, const AVStreams::flowSpec &the_spec)
 
virtual void unbind_party (AVStreams::StreamEndPoint_ptr the_ep, const AVStreams::flowSpec &the_spec)
 Unbind the_ep from the stream. Empty the_spec means apply to all flows. More...
 
virtual void unbind (void)
 unbind the stream. Same effect as Basic_StreamCtrl::destroy () More...
 
virtual AVStreams::VDev_ptr get_related_vdev (AVStreams::MMDevice_ptr adev, AVStreams::StreamEndPoint_out sep)
 
virtual CORBA::Boolean modify_QoS (AVStreams::streamQoS &new_qos, const AVStreams::flowSpec &the_spec)
 
- Public Member Functions inherited from TAO_Basic_StreamCtrl
 TAO_Basic_StreamCtrl (void)
 Default Constructor. More...
 
virtual void push_event (const struct CosPropertyService::Property &the_event)
 
virtual void set_FPStatus (const AVStreams::flowSpec &the_spec, const char *fp_name, const CORBA::Any &fp_settings)
 Used to control the flow protocol parameters. More...
 
virtual CORBA::Object_ptr get_flow_connection (const char *flow_name)
 
virtual void set_flow_connection (const char *flow_name, CORBA::Object_ptr flow_connection)
 

Protected Types

typedef ACE_Hash_Map_Manager
< MMDevice_Map_Hash_Key,
MMDevice_Map_Entry,
ACE_Null_Mutex
MMDevice_Map
 
typedef ACE_Hash_Map_Iterator
< MMDevice_Map_Hash_Key,
MMDevice_Map_Entry,
ACE_Null_Mutex
MMDevice_Map_Iterator
 
- Protected Types inherited from TAO_Basic_StreamCtrl
typedef ACE_Hash_Map_Manager
< ACE_CString,
AVStreams::FlowConnection_var,
ACE_Null_Mutex
FlowConnection_Map
 Hash table for the flow names and its corresponding flowconnection object reference. More...
 
typedef ACE_Hash_Map_Iterator
< ACE_CString,
AVStreams::FlowConnection_var,
ACE_Null_Mutex
FlowConnection_Map_Iterator
 
typedef ACE_Hash_Map_Entry
< ACE_CString,
AVStreams::FlowConnection_var > 
FlowConnection_Map_Entry
 

Protected Attributes

MMDevice_Map mmdevice_a_map_
 
MMDevice_Map mmdevice_b_map_
 
TAO_MCastConfigIfmcastconfigif_
 
AVStreams::MCastConfigIf_var mcastconfigif_ptr_
 
AVStreams::StreamCtrl_var streamctrl_
 
CORBA::ULong source_id_
 
- Protected Attributes inherited from TAO_Basic_StreamCtrl
AVStreams::VDev_var vdev_a_
 The Virtual Devices for this stream. More...
 
AVStreams::VDev_var vdev_b_
 
AVStreams::StreamEndPoint_A_var sep_a_
 The Endpoints for this stream. More...
 
AVStreams::StreamEndPoint_B_var sep_b_
 
FlowConnection_Map flow_connection_map_
 
AVStreams::FlowConnection_seq flowConnections_
 
u_int flow_count_
 sequence of flow names. More...
 
AVStreams::flowSpec flows_
 

Additional Inherited Members

- Protected Member Functions inherited from TAO_Basic_StreamCtrl
virtual ~TAO_Basic_StreamCtrl (void)
 Destructor. More...
 

Detailed Description

Implementation the A/V StreamCtrl class. this class is used to control the stream. It should be subclassed by applications that want to provide more control features.

Member Typedef Documentation

Constructor & Destructor Documentation

TAO_StreamCtrl::TAO_StreamCtrl ( void  )

Default Constructor.

TAO_StreamCtrl::~TAO_StreamCtrl ( void  )
virtual

virtual destructor.

Member Function Documentation

CORBA::Boolean TAO_StreamCtrl::bind ( AVStreams::StreamEndPoint_A_ptr  a_party,
AVStreams::StreamEndPoint_B_ptr  b_party,
AVStreams::streamQoS the_qos,
const AVStreams::flowSpec the_flows 
)
virtual

Establish a connection between two streamendpoints. This can be used if the streamendpoints have been created independent of a MMDevice

CORBA::Boolean TAO_StreamCtrl::bind_devs ( AVStreams::MMDevice_ptr  a_party,
AVStreams::MMDevice_ptr  b_party,
AVStreams::streamQoS the_qos,
const AVStreams::flowSpec the_flows 
)
virtual

Establish a stream between a_party and b_party, with qos the_qos, and for the flows in the_flows if the_flows is empty, bind all the flows Causes a connection to be established between the StreamEndpoints. Returns success/failure

void TAO_StreamCtrl::destroy ( const AVStreams::flowSpec the_spec)
virtual

Tears down the stream. This will close the connection, and delete the streamendpoint and vdev associated with this stream Empty the_spec means apply operation to all flows

Reimplemented from TAO_Basic_StreamCtrl.

AVStreams::VDev_ptr TAO_StreamCtrl::get_related_vdev ( AVStreams::MMDevice_ptr  adev,
AVStreams::StreamEndPoint_out  sep 
)
virtual
CORBA::Boolean TAO_StreamCtrl::modify_QoS ( AVStreams::streamQoS new_qos,
const AVStreams::flowSpec the_spec 
)
virtual

Changes the QoS associated with the stream Empty the_spec means apply operation to all flows

Reimplemented from TAO_Basic_StreamCtrl.

void TAO_StreamCtrl::start ( const AVStreams::flowSpec the_spec)
virtual

Start the transfer of data in the stream. Empty the_spec means apply operation to all flows

Reimplemented from TAO_Basic_StreamCtrl.

void TAO_StreamCtrl::stop ( const AVStreams::flowSpec the_spec)
virtual

Stop the transfer of data of the stream Empty the_spec means apply operation to all flows

Reimplemented from TAO_Basic_StreamCtrl.

void TAO_StreamCtrl::unbind ( void  )
virtual

unbind the stream. Same effect as Basic_StreamCtrl::destroy ()

void TAO_StreamCtrl::unbind_dev ( AVStreams::MMDevice_ptr  dev,
const AVStreams::flowSpec the_spec 
)
virtual
void TAO_StreamCtrl::unbind_party ( AVStreams::StreamEndPoint_ptr  the_ep,
const AVStreams::flowSpec the_spec 
)
virtual

Unbind the_ep from the stream. Empty the_spec means apply to all flows.

Member Data Documentation

TAO_MCastConfigIf* TAO_StreamCtrl::mcastconfigif_
protected
AVStreams::MCastConfigIf_var TAO_StreamCtrl::mcastconfigif_ptr_
protected
MMDevice_Map TAO_StreamCtrl::mmdevice_a_map_
protected
MMDevice_Map TAO_StreamCtrl::mmdevice_b_map_
protected
CORBA::ULong TAO_StreamCtrl::source_id_
protected
AVStreams::StreamCtrl_var TAO_StreamCtrl::streamctrl_
protected

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