#include <MatroskaFile.hh>
Collaboration diagram for MatroskaFile::TrackTable:

Public Member Functions | |
| TrackTable () | |
| virtual | ~TrackTable () |
| void | add (MatroskaTrack *newTrack, unsigned trackNumber) |
| MatroskaTrack * | lookup (unsigned trackNumber) |
| unsigned | numTracks () const |
Private Attributes | |
| HashTable * | fTable |
Friends | |
| class | Iterator |
Data Structures | |
| class | Iterator |
Definition at line 44 of file MatroskaFile.hh.
| MatroskaFile::TrackTable::TrackTable | ( | ) |
Definition at line 218 of file MatroskaFile.cpp.
00219 : fTable(HashTable::create(ONE_WORD_HASH_KEYS)) { 00220 }
| 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 }
| 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(); }
friend class Iterator [friend] |
Definition at line 64 of file MatroskaFile.hh.
HashTable* MatroskaFile::TrackTable::fTable [private] |
Definition at line 65 of file MatroskaFile.hh.
Referenced by add(), MatroskaFile::TrackTable::Iterator::Iterator(), lookup(), numTracks(), and ~TrackTable().
1.5.2