vdr 2.7.3
cList< T > Class Template Reference

#include <tools.h>

Public Member Functions

 cList (const char *NeedsLocking=NULL)
 
const T * Get (int Index) const
 
const T * First (void) const
 
const T * Last (void) const
 
const T * Prev (const T *Object) const
 
const T * Next (const T *Object) const
 
T * Get (int Index)
 
T * First (void)
 
T * Last (void)
 
T * Prev (const T *Object)
 
T * Next (const T *Object)
 
- Public Member Functions inherited from cListBase
virtual ~cListBase ()
 
bool Lock (cStateKey &StateKey, bool Write=false, int TimeoutMs=0) const
 
void SetSyncStateKey (cStateKey &StateKey)
 
void SetUseGarbageCollector (void)
 
void SetExplicitModify (void)
 
void SetModified (void)
 
void Add (cListObject *Object, cListObject *After=NULL)
 
void Ins (cListObject *Object, cListObject *Before=NULL)
 
void Del (cListObject *Object, bool DeleteObject=true)
 
virtual void Move (int From, int To)
 
void Move (cListObject *From, cListObject *To)
 
virtual void Clear (void)
 
bool Contains (const cListObject *Object) const
 
const cListObjectGet (int Index) const
 
cListObjectGet (int Index)
 
int Count (void) const
 
void Sort (void)
 

Additional Inherited Members

- Protected Member Functions inherited from cListBase
 cListBase (const char *NeedsLocking=NULL)
 
- Protected Attributes inherited from cListBase
cListObjectobjects
 
cListObjectlastObject
 
int count
 
cStateLock stateLock
 
const char * needsLocking
 
bool useGarbageCollector
 

Detailed Description

template<class T>
class cList< T >

Definition at line 631 of file tools.h.

Constructor & Destructor Documentation

◆ cList()

template<class T >
cList< T >::cList ( const char * NeedsLocking = NULL)
inline

Sets up a new cList of the given type T.

If NeedsLocking is given, the list and any of its elements may only be accessed if the caller holds a lock obtained by a call to Lock() (see cListBase::Lock() for details). NeedsLocking is used as both a boolean flag to enable locking, and as a name to identify this list in debug output. It must be a static string and should be no longer than 10 characters. The string will not be copied!

Definition at line 633 of file tools.h.

Member Function Documentation

◆ First() [1/2]

template<class T >
T * cList< T >::First ( void )
inline

Non-const version of First().

Definition at line 655 of file tools.h.

References cList< T >::First().

◆ First() [2/2]

template<class T >
const T * cList< T >::First ( void ) const
inline

Returns the first element in this list, or NULL if the list is empty.

Definition at line 643 of file tools.h.

Referenced by cDvbPlayer::Action(), cDvbSubtitleConverter::Action(), cRecordingsHandler::Action(), cSectionHandler::Action(), cCiCaProgramData::Active(), cPluginManager::Active(), cSectionHandler::Add(), cCaDescriptors::AddCaDescriptor(), cCamSlot::AddPid(), AddRecordingFolders(), cScanList::AddTransponders(), cCamSlot::BuildCaPmts(), cPluginManager::CallAllServices(), cPluginManager::CallFirstService(), CamControl(), cMenuSetupCAMItem::Changed(), cSchedule::Cleanup(), cHashBase::Clear(), cReplayControl::ClearEditingMarks(), cSchedule::ClrRunningStatus(), cMenuCommands::cMenuCommands(), cMenuSetupCAM::cMenuSetupCAM(), cMenuWhatsOn::cMenuWhatsOn(), cMenuEditFolder::Confirm(), cSkinDisplayReplay::cProgressBar::cProgressBar(), cSortedTimers::cSortedTimers(), cFilter::Del(), cHashBase::Del(), cSectionHandler::Del(), cRecordingsHandler::DelAll(), cChannels::DeleteDuplicateChannels(), cChannel::DelLinkChannel(), cDevice::DeviceHooksProvidesEIT(), cDevice::DeviceHooksProvidesTransponder(), cSchedule::DropOutdated(), cSchedule::Dump(), cTimer::Expired(), cList< T >::First(), cPictureEntry::FirstPicture(), cHashBase::Get(), cRecordingsHandler::Get(), cDvbSubtitlePage::GetAreas(), cChannels::GetByChannelID(), cChannels::GetByServiceID(), cCaDescriptors::GetCaDescriptors(), cCaDescriptors::GetCaPids(), cDvbSubtitlePage::GetClutById(), cDevice::GetDevice(), cSchedule::GetEventAround(), cSchedule::GetFollowingEvent(), cPluginManager::GetNextWakeupPlugin(), cDvbSubtitleConverter::GetPageById(), cPluginManager::GetPlugin(), cSchedule::GetPresentEvent(), cDvbSubtitlePage::GetRegionById(), cRecordingsHandler::GetRequiredDiskSpaceMB(), cFreetypeFont::Glyph(), cPluginManager::InitializePlugins(), cCamSlot::IsDecrypting(), cCamSlot::KeepSharedCaPids(), cInterface::LearnKeys(), cTimers::Load(), cPluginManager::LoadPlugins(), main(), cPluginManager::MainThreadHook(), cFilter::Matches(), cStatus::MsgChannelChange(), cStatus::MsgChannelSwitch(), cStatus::MsgMarksModified(), cStatus::MsgOsdChannel(), cStatus::MsgOsdClear(), cStatus::MsgOsdCurrentItem(), cStatus::MsgOsdHelpKeys(), cStatus::MsgOsdItem(), cStatus::MsgOsdProgramme(), cStatus::MsgOsdStatusMessage(), cStatus::MsgOsdTextItem(), cStatus::MsgOsdTitle(), cStatus::MsgRecording(), cStatus::MsgReplaying(), cStatus::MsgSetAudioChannel(), cStatus::MsgSetAudioTrack(), cStatus::MsgSetSubtitleTrack(), cStatus::MsgSetVolume(), cStatus::MsgTimerChange(), cPictureControl::NextDirectory(), cCamSlots::NumReadyMasterSlots(), cPatFilter::NumSidRequests(), cCaDescriptors::operator==(), cPatFilter::PmtPidComplete(), cPatFilter::PmtPidReset(), cPatFilter::PmtVersionChanged(), cEITScanner::Process(), cNitFilter::Process(), cPatFilter::Process(), cMenuEditSrcItem::ProcessKey(), cPatFilter::Release(), cSubtitleRegion::Render(), cPatFilter::Request(), cSchedule::ResetVersions(), cConfig< T >::Save(), cDvbPlayer::Save(), cVideoDirectoryScannerThread::ScanVideoDir(), cMenuFolder::Set(), cMenuRecordings::Set(), cMenuSetupOSD::Set(), cPictureMenu::Set(), cTimer::SetEventFromSchedule(), cChannel::SetLinkChannels(), cCamSlot::SetPid(), cSchedule::SetRunningStatus(), cFilter::SetStatus(), cPatFilter::SetStatus(), cSectionHandler::SetStatus(), cTimer::SpawnPatternTimers(), cPluginManager::StartPlugins(), cCamSlots::WaitForAllCamSlotsReady(), and cSectionHandler::~cSectionHandler().

◆ Get() [1/2]

template<class T >
T * cList< T >::Get ( int Index)
inline

< Returns the element immediately following Object in this list, or NULL if Object is the last element in the list.

Object must not be NULL! Non-const version of Get().

Definition at line 653 of file tools.h.

References cList< T >::Get().

◆ Get() [2/2]

template<class T >
const T * cList< T >::Get ( int Index) const
inline

◆ Last() [1/2]

template<class T >
T * cList< T >::Last ( void )
inline

Non-const version of Last().

Definition at line 657 of file tools.h.

References cList< T >::Last().

◆ Last() [2/2]

template<class T >
const T * cList< T >::Last ( void ) const
inline

Returns the last element in this list, or NULL if the list is empty.

Definition at line 645 of file tools.h.

Referenced by cList< T >::Last(), cPictureEntry::LastPicture(), cPictureControl::NextDirectory(), cMenuEditSrcItem::ProcessKey(), cInterface::QueryKeys(), cPluginManager::Shutdown(), and cPluginManager::StopPlugins().

◆ Next() [1/2]

template<class T >
T * cList< T >::Next ( const T * Object)
inline

Non-const version of Next().

Definition at line 661 of file tools.h.

References cList< T >::Next().

◆ Next() [2/2]

template<class T >
const T * cList< T >::Next ( const T * Object) const
inline

< Returns the element immediately before Object in this list, or NULL if Object is the first element in the list.

Object must not be NULL!

Definition at line 650 of file tools.h.

Referenced by cDvbSubtitleConverter::Action(), cSectionHandler::Action(), cCiCaProgramData::Active(), cPluginManager::Active(), cSectionHandler::Add(), cCaDescriptors::AddCaDescriptor(), cCamSlot::AddPid(), AddRecordingFolders(), cScanList::AddTransponders(), cCamSlot::BuildCaPmts(), cPluginManager::CallAllServices(), cPluginManager::CallFirstService(), CamControl(), cMenuSetupCAMItem::Changed(), cHashBase::Clear(), cSchedule::ClrRunningStatus(), cMenuCommands::cMenuCommands(), cMenuSetupCAM::cMenuSetupCAM(), cMenuWhatsOn::cMenuWhatsOn(), cMenuEditFolder::Confirm(), cSkinDisplayReplay::cProgressBar::cProgressBar(), cSortedTimers::cSortedTimers(), cFilter::Del(), cHashBase::Del(), cSectionHandler::Del(), cRecordingsHandler::DelAll(), cChannels::DeleteDuplicateChannels(), cChannel::DelLinkChannel(), cDevice::DeviceHooksProvidesEIT(), cDevice::DeviceHooksProvidesTransponder(), cSchedule::DropOutdated(), cSchedule::Dump(), cReplayControl::EditTest(), cTimer::Expired(), cPictureEntry::FirstPicture(), cHashBase::Get(), cRecordingsHandler::Get(), cDvbSubtitlePage::GetAreas(), cChannels::GetByChannelID(), cChannels::GetByServiceID(), cCaDescriptors::GetCaDescriptors(), cCaDescriptors::GetCaPids(), cDvbSubtitlePage::GetClutById(), cDevice::GetDevice(), cSchedule::GetEventAround(), cSchedule::GetFollowingEvent(), cPluginManager::GetNextWakeupPlugin(), cDvbSubtitleConverter::GetPageById(), cPluginManager::GetPlugin(), cSchedule::GetPresentEvent(), cDvbSubtitlePage::GetRegionById(), cRecordingsHandler::GetRequiredDiskSpaceMB(), cFreetypeFont::Glyph(), cPluginManager::InitializePlugins(), cCamSlot::IsDecrypting(), cCamSlot::KeepSharedCaPids(), cInterface::LearnKeys(), cTimers::Load(), cPluginManager::LoadPlugins(), main(), cPluginManager::MainThreadHook(), cReplayControl::MarkMove(), cFilter::Matches(), cStatus::MsgChannelChange(), cStatus::MsgChannelSwitch(), cStatus::MsgMarksModified(), cStatus::MsgOsdChannel(), cStatus::MsgOsdClear(), cStatus::MsgOsdCurrentItem(), cStatus::MsgOsdHelpKeys(), cStatus::MsgOsdItem(), cStatus::MsgOsdProgramme(), cStatus::MsgOsdStatusMessage(), cStatus::MsgOsdTextItem(), cStatus::MsgOsdTitle(), cStatus::MsgRecording(), cStatus::MsgReplaying(), cStatus::MsgSetAudioChannel(), cStatus::MsgSetAudioTrack(), cStatus::MsgSetSubtitleTrack(), cStatus::MsgSetVolume(), cStatus::MsgTimerChange(), cList< T >::Next(), cPictureEntry::NextPicture(), cCamSlots::NumReadyMasterSlots(), cPatFilter::NumSidRequests(), cCaDescriptors::operator==(), cPatFilter::PmtPidComplete(), cPatFilter::PmtPidReset(), cPatFilter::PmtVersionChanged(), cEITScanner::Process(), cNitFilter::Process(), cPatFilter::Process(), cPatFilter::Release(), cSubtitleRegion::Render(), cPatFilter::Request(), cSchedule::ResetVersions(), cVideoDirectoryScannerThread::ScanVideoDir(), cMenuFolder::Set(), cMenuRecordings::Set(), cMenuSetupOSD::Set(), cPictureMenu::Set(), cTimer::SetEventFromSchedule(), cChannel::SetLinkChannels(), cCamSlot::SetPid(), cSchedule::SetRunningStatus(), cFilter::SetStatus(), cPatFilter::SetStatus(), cSectionHandler::SetStatus(), cTimer::SpawnPatternTimers(), cPluginManager::StartPlugins(), cPatFilter::SwitchToNextPmtPid(), and cCamSlots::WaitForAllCamSlotsReady().

◆ Prev() [1/2]

template<class T >
T * cList< T >::Prev ( const T * Object)
inline

Non-const version of Prev().

Definition at line 659 of file tools.h.

References cList< T >::Prev().

◆ Prev() [2/2]

template<class T >
const T * cList< T >::Prev ( const T * Object) const
inline

The documentation for this class was generated from the following file: