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 218 of file MatroskaFile.cpp.

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

Definition at line 222 of file MatroskaFile.cpp.

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

00222                                     {
00223   // Remove and delete all of our "MatroskaTrack" descriptors, and the hash table itself:
00224   MatroskaTrack* track;
00225   while ((track = (MatroskaTrack*)fTable->RemoveNext()) != NULL) {
00226     delete track;
00227   }
00228   delete fTable;
00229 } 


Member Function Documentation

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

Definition at line 231 of file MatroskaFile.cpp.

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

00231                                                                               {
00232   if (newTrack != NULL && newTrack->trackNumber != 0) fTable->Remove((char const*)newTrack->trackNumber);
00233   MatroskaTrack* existingTrack = (MatroskaTrack*)fTable->Add((char const*)trackNumber, newTrack);
00234   delete existingTrack; // in case it wasn't NULL
00235 }

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

Definition at line 237 of file MatroskaFile.cpp.

References fTable, and HashTable::Lookup().

Referenced by MatroskaFile::lookup().

00237                                                                   {
00238   return (MatroskaTrack*)fTable->Lookup((char const*)trackNumber);
00239 }

unsigned MatroskaFile::TrackTable::numTracks (  )  const

Definition at line 241 of file MatroskaFile.cpp.

References fTable, and HashTable::numEntries().

Referenced by MatroskaFile::handleEndOfTrackHeaderParsing().

00241 { return fTable->numEntries(); }


Friends And Related Function Documentation

friend class Iterator [friend]

Definition at line 64 of file MatroskaFile.hh.


Field Documentation

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

Definition at line 65 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 Tue Jun 18 13:20:36 2013 for live by  doxygen 1.5.2