File indexing completed on 2025-08-03 08:14:07
0001 #include "PidInfoContainer.h"
0002 #include "PidInfo.h"
0003
0004 #include <cstdlib>
0005 #include <iostream>
0006
0007 using namespace std;
0008
0009 PidInfoContainer::ConstRange
0010 PidInfoContainer::getPidInfos( void ) const
0011 {
0012 return make_pair(_pidinfos.begin(), _pidinfos.end());
0013 }
0014
0015 PidInfoContainer::Range
0016 PidInfoContainer::getPidInfos( void )
0017 {
0018 return make_pair(_pidinfos.begin(), _pidinfos.end());
0019 }
0020
0021 PidInfoContainer::ConstIterator
0022 PidInfoContainer::AddPidInfo(PidInfo *pidinfo)
0023 {
0024 unsigned int key = pidinfo->get_track_id();
0025 _pidinfos[key] = pidinfo;
0026 return _pidinfos.find(key);
0027 }
0028
0029 PidInfo *
0030 PidInfoContainer::getPidInfo(const int key)
0031 {
0032 Iterator it = _pidinfos.find(key);
0033 if (it != _pidinfos.end())
0034 {
0035 return it->second;
0036 }
0037 return NULL;
0038 }
0039
0040 int
0041 PidInfoContainer::isValid() const
0042 {
0043 return (!_pidinfos.empty());
0044 }
0045
0046 void
0047 PidInfoContainer::Reset()
0048 {
0049 while (_pidinfos.begin() != _pidinfos.end())
0050 {
0051 delete _pidinfos.begin()->second;
0052 _pidinfos.erase(_pidinfos.begin());
0053 }
0054 }
0055
0056 void
0057 PidInfoContainer::identify(std::ostream& os) const
0058 {
0059 os << "PidInfoContainer, number of pid infos: " << size() << std::endl;
0060 }