MMDevice_Map_Hash_Key Class Reference

#include <AVStreams_i.h>

List of all members.

Public Member Functions

 MMDevice_Map_Hash_Key (void)
 default constructor.

 MMDevice_Map_Hash_Key (AVStreams::MMDevice_ptr mmdevice)
 constructor.

 MMDevice_Map_Hash_Key (const MMDevice_Map_Hash_Key &)
 copy constructor.

 ~MMDevice_Map_Hash_Key (void)
 destructor.

bool operator== (const MMDevice_Map_Hash_Key &hash_key) const
 operator== needed by ACE_Hash_Map_Manager.

u_long hash (void) const
 hash function for this mmdevice.


Static Public Attributes

const int hash_maximum_ = 10000

Protected Attributes

AVStreams::MMDevice_ptr mmdevice_

Friends

bool operator< (const MMDevice_Map_Hash_Key &left, const MMDevice_Map_Hash_Key &right)
 operator== needed by ACE_Hash_Map_Manager.


Constructor & Destructor Documentation

MMDevice_Map_Hash_Key::MMDevice_Map_Hash_Key void   ) 
 

default constructor.

Definition at line 304 of file AVStreams_i.cpp.

References mmdevice_.

00305 {
00306   this->mmdevice_ = AVStreams::MMDevice::_nil ();
00307 }

MMDevice_Map_Hash_Key::MMDevice_Map_Hash_Key AVStreams::MMDevice_ptr  mmdevice  ) 
 

constructor.

Definition at line 310 of file AVStreams_i.cpp.

References mmdevice_.

00311 {
00312   this->mmdevice_ = AVStreams::MMDevice::_duplicate (mmdevice);
00313 }

MMDevice_Map_Hash_Key::MMDevice_Map_Hash_Key const MMDevice_Map_Hash_Key  ) 
 

copy constructor.

Definition at line 316 of file AVStreams_i.cpp.

References mmdevice_.

00317 {
00318   this->mmdevice_ = AVStreams::MMDevice::_duplicate (hash_key.mmdevice_);
00319 }

MMDevice_Map_Hash_Key::~MMDevice_Map_Hash_Key void   ) 
 

destructor.

Definition at line 322 of file AVStreams_i.cpp.

References CORBA::release().

00323 {
00324   CORBA::release (this->mmdevice_);
00325 }


Member Function Documentation

u_long MMDevice_Map_Hash_Key::hash void   )  const
 

hash function for this mmdevice.

Definition at line 372 of file AVStreams_i.cpp.

00373 {
00374   u_long result = 0;
00375   try
00376     {
00377       result = this->mmdevice_->_hash (this->hash_maximum_);
00378     }
00379   catch (const CORBA::Exception& ex)
00380     {
00381       ex._tao_print_exception ("MMDevice_Map_Hash_Key::hash");
00382       return 0;
00383     }
00384   return result;
00385 }

bool MMDevice_Map_Hash_Key::operator== const MMDevice_Map_Hash_Key hash_key  )  const
 

operator== needed by ACE_Hash_Map_Manager.

Definition at line 328 of file AVStreams_i.cpp.

References mmdevice_.

00329 {
00330   CORBA::Boolean result = 0;
00331   try
00332     {
00333       result =
00334         this->mmdevice_->_is_equivalent (hash_key.mmdevice_);
00335     }
00336   catch (const CORBA::Exception& ex)
00337     {
00338       ex._tao_print_exception (
00339         "MMDevice_Map_Hash_Key::operator == ");
00340       return false;
00341     }
00342 
00343   return result;
00344 }


Friends And Related Function Documentation

bool operator< const MMDevice_Map_Hash_Key left,
const MMDevice_Map_Hash_Key right
[friend]
 

operator== needed by ACE_Hash_Map_Manager.

Definition at line 347 of file AVStreams_i.cpp.

00349 {
00350   bool result = false;
00351 
00352   try
00353     {
00354       const CORBA::ULong left_hash =
00355         left.mmdevice_->_hash (left.hash_maximum_);
00356 
00357       const CORBA::ULong right_hash =
00358         right.mmdevice_->_hash (right.hash_maximum_);
00359 
00360       result = left_hash < right_hash;
00361     }
00362   catch (const CORBA::Exception& ex)
00363     {
00364       ex._tao_print_exception ("operator < for MMDevice_Map_Hash_Key");
00365       return false;
00366     }
00367 
00368   return result;
00369 }


Member Data Documentation

const int MMDevice_Map_Hash_Key::hash_maximum_ = 10000 [static]
 

Definition at line 301 of file AVStreams_i.cpp.

Referenced by operator<().

AVStreams::MMDevice_ptr MMDevice_Map_Hash_Key::mmdevice_ [protected]
 

Definition at line 185 of file AVStreams_i.h.

Referenced by MMDevice_Map_Hash_Key(), operator<(), and operator==().


The documentation for this class was generated from the following files:
Generated on Sun Jan 27 16:06:23 2008 for TAO_AV by doxygen 1.3.6