vdr  2.4.7
Public Member Functions | List of all members
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 598 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 600 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 622 of file tools.h.

References cList< T >::First().

Referenced by 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 610 of file tools.h.

Referenced by cSVDRPhosts::Acceptable(), cDvbPlayer::Action(), cDvbSubtitleConverter::Action(), cRecordingsHandler::Action(), cSectionHandler::Action(), cPluginManager::Active(), cCiCaProgramData::Active(), cSectionHandler::Add(), cCaDescriptors::AddCaDescriptor(), cCamSlot::AddPid(), AddRecordingFolders(), cScanList::AddTransponders(), cMarks::Align(), 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(), cSources::ContainsSourceType(), cSkinDisplayReplay::cProgressBar::cProgressBar(), cSortedTimers::cSortedTimers(), cHashBase::Del(), cSectionHandler::Del(), cFilter::Del(), cRecordingsHandler::DelAll(), cChannels::DeleteDuplicateChannels(), cTimers::DeleteExpired(), cChannel::DelLinkChannel(), cDevice::DeviceHooksProvidesEIT(), cDevice::DeviceHooksProvidesTransponder(), cSchedule::DropOutdated(), cSchedule::Dump(), cPictureEntry::FirstPicture(), cRecordingsHandler::Get(), cSetup::Get(), cKeys::Get(), cKeyMacros::Get(), cSources::Get(), cDiseqcs::Get(), cMarks::Get(), cHashBase::Get(), cDvbSubtitlePage::GetAreas(), cChannels::GetByChannelID(), cTimers::GetById(), cChannels::GetByServiceID(), cCaDescriptors::GetCaDescriptors(), cCaDescriptors::GetCaPids(), cDvbSubtitlePage::GetClutById(), cDevice::GetDevice(), cSchedule::GetEventAround(), cSchedule::GetFollowingEvent(), cCamResponses::GetMatch(), cTimers::GetMatch(), cTimers::GetMaxPriority(), cMarks::GetNext(), cTimers::GetNextActiveTimer(), cMarks::GetNextBegin(), cPluginManager::GetNextWakeupPlugin(), cDvbSubtitleConverter::GetPageById(), cPluginManager::GetPlugin(), cSchedule::GetPresentEvent(), cDvbSubtitlePage::GetRegionById(), cKeys::GetSetup(), cTimers::GetTimer(), cScrs::GetUnused(), cFreetypeFont::Glyph(), cPluginManager::InitializePlugins(), cCamSlot::IsDecrypting(), cCamSlot::KeepSharedCaPids(), cKeys::KnowsRemote(), cInterface::LearnKeys(), cSetup::Load(), cTimers::Load(), cPluginManager::LoadPlugins(), cSVDRPhosts::LocalhostOnly(), 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(), cCaDescriptors::operator==(), cPatFilter::PmtPidComplete(), cPatFilter::PmtPidReset(), cPatFilter::PmtVersionChanged(), cNitFilter::Process(), cPatFilter::Process(), cEITScanner::Process(), cMenuEditSrcItem::ProcessKey(), cSubtitleRegion::Render(), cSchedule::ResetVersions(), cDvbPlayer::Save(), cConfig< T >::Save(), cVideoDirectoryScannerThread::ScanVideoDir(), cMenuRecordings::Set(), cMenuFolder::Set(), cPictureMenu::Set(), cMenuSetupOSD::Set(), cTimer::SetEventFromSchedule(), cTimers::SetEvents(), cChannel::SetLinkChannels(), cCamSlot::SetPid(), cSchedule::SetRunningStatus(), cFilter::SetStatus(), cSectionHandler::SetStatus(), cSchedule::Sort(), cMarks::Sort(), cPluginManager::StartPlugins(), cTimers::StoreRemoteTimers(), cPatFilter::SwitchToNextPmtPid(), cTimers::UsesChannel(), 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 620 of file tools.h.

References cList< T >::Get().

Referenced by 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 624 of file tools.h.

References cList< T >::Last().

Referenced by 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 612 of file tools.h.

Referenced by cMarks::GetPrev(), 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 628 of file tools.h.

References cList< T >::Next().

Referenced by 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 617 of file tools.h.

Referenced by cDvbSubtitleConverter::Action(), cSectionHandler::Action(), cPluginManager::Active(), cCiCaProgramData::Active(), cSectionHandler::Add(), cCaDescriptors::AddCaDescriptor(), cCamSlot::AddPid(), AddRecordingFolders(), cScanList::AddTransponders(), cMarks::Align(), cCamSlot::BuildCaPmts(), cPluginManager::CallAllServices(), cPluginManager::CallFirstService(), CamControl(), cMenuSetupCAMItem::Changed(), cHashBase::Clear(), cSchedule::ClrRunningStatus(), cMenuCommands::cMenuCommands(), cMenuSetupCAM::cMenuSetupCAM(), cMenuWhatsOn::cMenuWhatsOn(), cMenuEditFolder::Confirm(), cSources::ContainsSourceType(), cSkinDisplayReplay::cProgressBar::cProgressBar(), cSortedTimers::cSortedTimers(), cHashBase::Del(), cSectionHandler::Del(), cFilter::Del(), cRecordingsHandler::DelAll(), cChannels::DeleteDuplicateChannels(), cTimers::DeleteExpired(), cChannel::DelLinkChannel(), cDevice::DeviceHooksProvidesEIT(), cDevice::DeviceHooksProvidesTransponder(), cSchedule::DropOutdated(), cSchedule::Dump(), cReplayControl::EditTest(), cPictureEntry::FirstPicture(), cRecordingsHandler::Get(), cSetup::Get(), cKeys::Get(), cKeyMacros::Get(), cSources::Get(), cDiseqcs::Get(), cMarks::Get(), cHashBase::Get(), cDvbSubtitlePage::GetAreas(), cChannels::GetByChannelID(), cTimers::GetById(), cChannels::GetByServiceID(), cCaDescriptors::GetCaDescriptors(), cCaDescriptors::GetCaPids(), cDvbSubtitlePage::GetClutById(), cDevice::GetDevice(), cSchedule::GetEventAround(), cSchedule::GetFollowingEvent(), cCamResponses::GetMatch(), cTimers::GetMatch(), cTimers::GetMaxPriority(), cMarks::GetNext(), cTimers::GetNextActiveTimer(), cMarks::GetNextBegin(), cMarks::GetNextEnd(), cPluginManager::GetNextWakeupPlugin(), cDvbSubtitleConverter::GetPageById(), cPluginManager::GetPlugin(), cSchedule::GetPresentEvent(), cDvbSubtitlePage::GetRegionById(), cKeys::GetSetup(), cTimers::GetTimer(), cScrs::GetUnused(), cFreetypeFont::Glyph(), cPluginManager::InitializePlugins(), cCamSlot::IsDecrypting(), cCamSlot::KeepSharedCaPids(), cKeys::KnowsRemote(), cInterface::LearnKeys(), cSetup::Load(), 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(), cPictureEntry::NextPicture(), cCamSlots::NumReadyMasterSlots(), cCaDescriptors::operator==(), cPatFilter::PmtPidComplete(), cPatFilter::PmtPidReset(), cPatFilter::PmtVersionChanged(), cNitFilter::Process(), cPatFilter::Process(), cEITScanner::Process(), cSubtitleRegion::Render(), cSchedule::ResetVersions(), cVideoDirectoryScannerThread::ScanVideoDir(), cMenuRecordings::Set(), cMenuFolder::Set(), cPictureMenu::Set(), cMenuSetupOSD::Set(), cTimer::SetEventFromSchedule(), cTimers::SetEvents(), cChannel::SetLinkChannels(), cCamSlot::SetPid(), cSchedule::SetRunningStatus(), cFilter::SetStatus(), cSectionHandler::SetStatus(), cSchedule::Sort(), cMarks::Sort(), cPluginManager::StartPlugins(), cTimers::StoreRemoteTimers(), cPatFilter::SwitchToNextPmtPid(), cTimers::UsesChannel(), 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 626 of file tools.h.

References cList< T >::Prev().

Referenced by 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: