#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 213 of file MatroskaFile.cpp.
00214 : fTable(HashTable::create(ONE_WORD_HASH_KEYS)) { 00215 }
| 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 }
| 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(); }
friend class Iterator [friend] |
Definition at line 65 of file MatroskaFile.hh.
HashTable* MatroskaFile::TrackTable::fTable [private] |
Definition at line 66 of file MatroskaFile.hh.
Referenced by add(), MatroskaFile::TrackTable::Iterator::Iterator(), lookup(), numTracks(), and ~TrackTable().
1.5.2