MatroskaFile::TrackTable Class Reference

#include <MatroskaFile.hh>

Collaboration diagram for MatroskaFile::TrackTable:

Collaboration graph
[legend]

Public Member Functions

 TrackTable ()
virtual ~TrackTable ()
void add (MatroskaTrack *newTrack, unsigned trackNumber)
MatroskaTracklookup (unsigned trackNumber)
unsigned numTracks () const

Private Attributes

HashTablefTable

Friends

class Iterator

Data Structures

class  Iterator

Detailed Description

Definition at line 44 of file MatroskaFile.hh.


Constructor & Destructor Documentation

MatroskaFile::TrackTable::TrackTable (  ) 

Definition at line 213 of file MatroskaFile.cpp.

MatroskaFile::TrackTable::~TrackTable (  )  [virtual]

Definition at line 217 of file MatroskaFile.cpp.

References fTable, NULL, and HashTable::RemoveNext().

00217                                     {
00218   // Remove and delete all of our "MatroskaTrack" descriptors, and the hash table itself:
00219   MatroskaTrack* track;
00220   while ((track = (MatroskaTrack*)fTable->RemoveNext()) != NULL) {
00221     delete track;
00222   }
00223   delete fTable;
00224 } 


Member Function Documentation

void MatroskaFile::TrackTable::add ( MatroskaTrack newTrack,
unsigned  trackNumber 
)

Definition at line 226 of file MatroskaFile.cpp.

References HashTable::Add(), fTable, NULL, HashTable::Remove(), and MatroskaTrack::trackNumber.

00226                                                                               {
00227   if (newTrack != NULL && newTrack->trackNumber != 0) fTable->Remove((char const*)newTrack->trackNumber);
00228   MatroskaTrack* existingTrack = (MatroskaTrack*)fTable->Add((char const*)trackNumber, newTrack);
00229   delete existingTrack; // in case it wasn't NULL
00230 }

MatroskaTrack * MatroskaFile::TrackTable::lookup ( unsigned  trackNumber  ) 

Definition at line 232 of file MatroskaFile.cpp.

References fTable, and HashTable::Lookup().

Referenced by MatroskaFile::lookup().

00232                                                                   {
00233   return (MatroskaTrack*)fTable->Lookup((char const*)trackNumber);
00234 }

unsigned MatroskaFile::TrackTable::numTracks (  )  const

Definition at line 236 of file MatroskaFile.cpp.

References fTable, and HashTable::numEntries().

Referenced by MatroskaFile::handleEndOfTrackHeaderParsing().

00236 { return fTable->numEntries(); }


Friends And Related Function Documentation

friend class Iterator [friend]

Definition at line 65 of file MatroskaFile.hh.


Field Documentation

HashTable* MatroskaFile::TrackTable::fTable [private]

Definition at line 66 of file MatroskaFile.hh.

Referenced by add(), MatroskaFile::TrackTable::Iterator::Iterator(), lookup(), numTracks(), and ~TrackTable().


The documentation for this class was generated from the following files:
Generated on Thu May 17 07:15:28 2012 for live by  doxygen 1.5.2