HashTable Class Reference

#include <HashTable.hh>

Inheritance diagram for HashTable:

Inheritance graph
[legend]

Public Member Functions

virtual ~HashTable ()
virtual void * Add (char const *key, void *value)=0
virtual Boolean Remove (char const *key)=0
virtual void * Lookup (char const *key) const =0
virtual unsigned numEntries () const=0
Boolean IsEmpty () const
void * RemoveNext ()

Static Public Member Functions

static HashTablecreate (int keyType)

Protected Member Functions

 HashTable ()

Data Structures

class  Iterator

Detailed Description

Definition at line 27 of file HashTable.hh.


Constructor & Destructor Documentation

HashTable::~HashTable (  )  [virtual]

Definition at line 25 of file HashTable.cpp.

00025                       {
00026 }

HashTable::HashTable (  )  [protected]

Definition at line 22 of file HashTable.cpp.

00022                      {
00023 }


Member Function Documentation

HashTable * HashTable::create ( int  keyType  )  [static]

Definition at line 118 of file BasicHashTable.cpp.

Referenced by getSocketTable(), MPEG2TransportFileServerMediaSubsession::MPEG2TransportFileServerMediaSubsession(), MPEG2TransportStreamFramer::MPEG2TransportStreamFramer(), OnDemandServerMediaSubsession::OnDemandServerMediaSubsession(), and socketHashTable().

00118                                         {
00119   return new BasicHashTable(keyType);
00120 }

virtual void* HashTable::Add ( char const *  key,
void *  value 
) [pure virtual]

Implemented in BasicHashTable.

Referenced by RTPReceptionStatsDB::add(), RTPTransmissionStatsDB::add(), DirectedNetInterfaceSet::Add(), AddressPortLookupTable::Add(), MediaLookupTable::addNew(), RTSPServer::addServerMediaSession(), UserAuthenticationDatabase::addUserRecord(), MPEG2TransportFileServerMediaSubsession::createNewStreamSource(), SocketLookupTable::Fetch(), OnDemandServerMediaSubsession::getStreamParameters(), RTCPMemberDatabase::noteMembership(), SocketDescriptor::registerRTPInterface(), setGroupsockBySocket(), and MPEG2TransportStreamFramer::updateTSPacketDurationEstimate().

virtual Boolean HashTable::Remove ( char const *  key  )  [pure virtual]

Implemented in BasicHashTable.

Referenced by OnDemandServerMediaSubsession::deleteStream(), SocketDescriptor::deregisterRTPInterface(), RTCPMemberDatabase::remove(), MediaLookupTable::remove(), SocketLookupTable::Remove(), DirectedNetInterfaceSet::Remove(), AddressPortLookupTable::Remove(), RemoveNext(), RTPReceptionStatsDB::removeRecord(), RTPTransmissionStatsDB::removeRecord(), RTSPServer::removeServerMediaSession(), removeSocketDescription(), UserAuthenticationDatabase::removeUserRecord(), and unsetGroupsockBySocket().

virtual void* HashTable::Lookup ( char const *  key  )  const [pure virtual]

Implemented in BasicHashTable.

Referenced by OnDemandServerMediaSubsession::deleteStream(), SocketLookupTable::Fetch(), getGroupsockBySocket(), RTCPMemberDatabase::isMember(), RTPReceptionStatsDB::lookup(), RTPTransmissionStatsDB::lookup(), MediaLookupTable::lookup(), AddressPortLookupTable::Lookup(), MPEG2TransportFileServerMediaSubsession::lookupClient(), UserAuthenticationDatabase::lookupPassword(), SocketDescriptor::lookupRTPInterface(), RTSPServer::lookupServerMediaSession(), lookupSocketDescriptor(), UserAuthenticationDatabase::removeUserRecord(), setGroupsockBySocket(), OnDemandServerMediaSubsession::startStream(), unsetGroupsockBySocket(), and MPEG2TransportStreamFramer::updateTSPacketDurationEstimate().

virtual unsigned HashTable::numEntries (  )  const [pure virtual]

Implemented in BasicHashTable.

Referenced by IsEmpty().

Boolean HashTable::IsEmpty (  )  const [inline]

Definition at line 41 of file HashTable.hh.

References numEntries().

Referenced by SocketDescriptor::deregisterRTPInterface(), DirectedNetInterfaceSet::IsEmpty(), SocketDescriptor::registerRTPInterface(), MediaLookupTable::remove(), removeSocketDescription(), and unsetGroupsockBySocket().

00041 { return numEntries() == 0; }

void * HashTable::RemoveNext (  ) 

Definition at line 33 of file HashTable.cpp.

References HashTable::Iterator::create(), iter, MediaSubsessionIterator::next(), and Remove().

Referenced by MPEG2TransportStreamFramer::clearPIDStatusTable(), MPEG2TransportFileServerMediaSubsession::~MPEG2TransportFileServerMediaSubsession(), OnDemandServerMediaSubsession::~OnDemandServerMediaSubsession(), RTPReceptionStatsDB::~RTPReceptionStatsDB(), RTPTransmissionStatsDB::~RTPTransmissionStatsDB(), and RTSPServer::~RTSPServer().

00033                             {
00034   Iterator* iter = Iterator::create(*this);
00035   char const* key;
00036   void* removedValue = iter->next(key);
00037   if (removedValue != 0) Remove(key);
00038 
00039   delete iter;
00040   return removedValue;
00041 }


The documentation for this class was generated from the following files:
Generated on Tue Jul 22 06:40:40 2008 for live by  doxygen 1.5.2