TAO_AV_QoS Class Reference

Class for getting and setting the QoS characteristics of an AV Stream. More...

#include <AVStreams_i.h>

List of all members.

Public Member Functions

 TAO_AV_QoS (void)
 constructor.
 TAO_AV_QoS (AVStreams::streamQoS &stream_qos)
 constructor taking a stream qos parameter.
int set (AVStreams::streamQoS &stream_qos)
 sets the maps with the QoS paramter.
int get_flow_qos (const char *flowname, AVStreams::QoS &flow_qos)
 gets the flow_qos.
int convert (AVStreams::streamQoS &network_qos)
 converts the application level QoS to Network-level QoS.

Protected Attributes

AVStreams::streamQoS stream_qos_
 Stream Qos.
ACE_Hash_Map_Manager< ACE_CString,
AVStreams::QoS, ACE_Null_Mutex
qos_map_


Detailed Description

Class for getting and setting the QoS characteristics of an AV Stream.

Definition at line 339 of file AVStreams_i.h.


Constructor & Destructor Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_AV_QoS::TAO_AV_QoS ( void   ) 

constructor.

Definition at line 37 of file AVStreams_i.cpp.

00038 {
00039 }

TAO_AV_QoS::TAO_AV_QoS ( AVStreams::streamQoS stream_qos  ) 

constructor taking a stream qos parameter.

Definition at line 41 of file AVStreams_i.cpp.

References set().

00042 {
00043   this->set (stream_qos);
00044 }


Member Function Documentation

int TAO_AV_QoS::convert ( AVStreams::streamQoS network_qos  ) 

converts the application level QoS to Network-level QoS.

Definition at line 47 of file AVStreams_i.cpp.

00048 {
00049   return -1;
00050 }

ACE_INLINE int TAO_AV_QoS::get_flow_qos ( const char *  flowname,
AVStreams::QoS flow_qos 
)

gets the flow_qos.

Definition at line 34 of file AVStreams_i.inl.

References ACE_DEBUG, LM_DEBUG, qos_map_, and TAO_debug_level.

Referenced by TAO_StreamCtrl::bind(), TAO_StreamEndPoint::change_qos(), TAO_StreamEndPoint_B::multiconnect(), and TAO_StreamEndPoint_A::multiconnect().

00036 {
00037   int result = this->qos_map_.find (flowname, 
00038                     flow_qos);
00039 
00040   if (result < 0)
00041     {
00042       if (TAO_debug_level > 0 ) {
00043         ACE_DEBUG((LM_DEBUG, "(%N,%l) qos_map contains the flows:\n"));
00044 
00045         ACE_Hash_Map_Manager<ACE_CString,AVStreams::QoS,ACE_Null_Mutex>::ITERATOR iter
00046           = qos_map_.begin();
00047 
00048         while( iter != qos_map_.end() )
00049         {
00050           ACE_DEBUG((LM_DEBUG, "  %s\n", (*iter).ext_id_.c_str() ));
00051           ++iter; 
00052         }
00053       
00054         ACE_DEBUG ((LM_DEBUG,
00055                     "(%N,%l) TAO_AV_QOS::get_flow_qos qos_map::find failed for %s\n", flowname));
00056       }
00057       return -1;
00058     }
00059   return 0;
00060 }

ACE_INLINE int TAO_AV_QoS::set ( AVStreams::streamQoS stream_qos  ) 

sets the maps with the QoS paramter.

Definition at line 16 of file AVStreams_i.inl.

References ACE_ERROR_RETURN, LM_ERROR, qos_map_, stream_qos_, and CORBA::string_dup().

Referenced by TAO_StreamEndPoint::connect(), TAO_StreamEndPoint::request_connection(), and TAO_AV_QoS().

00017 {
00018   this->stream_qos_ = stream_qos;
00019 
00020   for (u_int j=0;j<this->stream_qos_.length ();j++)
00021     {
00022       ACE_CString qos_key (CORBA::string_dup (this->stream_qos_[j].QoSType));
00023       int result = this->qos_map_.bind (qos_key,this->stream_qos_[j]);
00024       if (result < 0)
00025         ACE_ERROR_RETURN ((LM_ERROR,
00026                "(%N,%l) TAO_AV_QoS::set qos_map::bind failed\n"),-1);
00027     }
00028   return 0;
00029 }


Member Data Documentation

ACE_Hash_Map_Manager<ACE_CString,AVStreams::QoS,ACE_Null_Mutex> TAO_AV_QoS::qos_map_ [protected]

Definition at line 362 of file AVStreams_i.h.

Referenced by get_flow_qos(), and set().

AVStreams::streamQoS TAO_AV_QoS::stream_qos_ [protected]

Stream Qos.

Definition at line 360 of file AVStreams_i.h.

Referenced by set().


The documentation for this class was generated from the following files:
Generated on Tue Feb 2 17:48:02 2010 for TAO_AV by  doxygen 1.4.7