vdr 2.7.4
cChannels Class Reference

#include <channels.h>

Public Member Functions

 cChannels (void)
 
void HashChannel (cChannel *Channel)
 
void UnhashChannel (cChannel *Channel)
 
int GetNextGroup (int Idx) const
 
int GetPrevGroup (int Idx) const
 
int GetNextNormal (int Idx) const
 
int GetPrevNormal (int Idx) const
 
void ReNumber (void)
 
bool MoveNeedsDecrement (cChannel *From, cChannel *To)
 
void Del (cChannel *Channel)
 
const cChannelGetByNumber (int Number, int SkipGap=0) const
 
cChannelGetByNumber (int Number, int SkipGap=0)
 
const cChannelGetByServiceID (int Source, int Transponder, unsigned short ServiceID) const
 
cChannelGetByServiceID (int Source, int Transponder, unsigned short ServiceID)
 
const cChannelGetByChannelID (tChannelID ChannelID, bool TryWithoutRid=false, bool TryWithoutPolarization=false) const
 
cChannelGetByChannelID (tChannelID ChannelID, bool TryWithoutRid=false, bool TryWithoutPolarization=false)
 
const cChannelGetByTransponderID (tChannelID ChannelID) const
 
cChannelGetByTransponderID (tChannelID ChannelID)
 
bool HasUniqueChannelID (const cChannel *NewChannel, const cChannel *OldChannel=NULL) const
 
bool SwitchTo (int Number) const
 
void SetModifiedByUser (void)
 
bool ModifiedByUser (int &State) const
 
cChannelNewChannel (const cChannel *Transponder, const char *Name, const char *ShortName, const char *Provider, int Nid, int Tid, int Sid, int Rid=0)
 
bool MarkObsoleteChannels (int Source, int Nid, int Tid)
 
- Public Member Functions inherited from cConfig< cChannel >
 cConfig (const char *NeedsLocking=NULL)
 
virtual ~cConfig ()
 
const char * FileName (void)
 
bool Load (const char *FileName=NULL, bool AllowComments=false, bool MustExist=false)
 
bool Save (void) const
 
- Public Member Functions inherited from cList< cChannel >
 cList (const char *NeedsLocking=NULL)
 
const cChannelGet (int Index) const
 
cChannelGet (int Index)
 
const cChannelFirst (void) const
 
cChannelFirst (void)
 
const cChannelLast (void) const
 
cChannelLast (void)
 
const cChannelPrev (const cChannel *Object) const
 
cChannelPrev (const cChannel *Object)
 
const cChannelNext (const cChannel *Object) const
 
cChannelNext (const cChannel *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)
 
bool Contains (const cListObject *Object) const
 
const cListObjectGet (int Index) const
 
cListObjectGet (int Index)
 
int Count (void) const
 
void Sort (void)
 

Static Public Member Functions

static const cChannelsGetChannelsRead (cStateKey &StateKey, int TimeoutMs=0)
 
static cChannelsGetChannelsWrite (cStateKey &StateKey, int TimeoutMs=0)
 
static bool Load (const char *FileName, bool AllowComments=false, bool MustExist=false)
 
static int MaxNumber (void)
 
static int MaxChannelNameLength (void)
 
static int MaxShortChannelNameLength (void)
 

Private Member Functions

void DeleteDuplicateChannels (void)
 

Private Attributes

int modifiedByUser
 
cHash< cChannelchannelsHashSid
 

Static Private Attributes

static cChannels channels
 
static int maxNumber = 0
 
static int maxChannelNameLength = 0
 
static int maxShortChannelNameLength = 0
 

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

Definition at line 212 of file channels.h.

Constructor & Destructor Documentation

◆ cChannels()

cChannels::cChannels ( void )

Member Function Documentation

◆ Del()

void cChannels::Del ( cChannel * Channel)

Delete the given Channel from the list.

Definition at line 975 of file channels.c.

References cListBase::Del(), cList< cChannel >::First(), cList< cChannel >::Next(), and UnhashChannel().

Referenced by cMenuChannels::Delete(), and DeleteDuplicateChannels().

◆ DeleteDuplicateChannels()

◆ GetByChannelID() [1/2]

cChannel * cChannels::GetByChannelID ( tChannelID ChannelID,
bool TryWithoutRid = false,
bool TryWithoutPolarization = false )
inline

Definition at line 244 of file channels.h.

References cChannels().

◆ GetByChannelID() [2/2]

◆ GetByNumber() [1/2]

cChannel * cChannels::GetByNumber ( int Number,
int SkipGap = 0 )
inline

Definition at line 240 of file channels.h.

References cChannels().

◆ GetByNumber() [2/2]

const cChannel * cChannels::GetByNumber ( int Number,
int SkipGap = 0 ) const

◆ GetByServiceID() [1/2]

cChannel * cChannels::GetByServiceID ( int Source,
int Transponder,
unsigned short ServiceID )
inline

Definition at line 242 of file channels.h.

References cChannels().

◆ GetByServiceID() [2/2]

const cChannel * cChannels::GetByServiceID ( int Source,
int Transponder,
unsigned short ServiceID ) const

◆ GetByTransponderID() [1/2]

cChannel * cChannels::GetByTransponderID ( tChannelID ChannelID)
inline

Definition at line 246 of file channels.h.

References cChannels().

◆ GetByTransponderID() [2/2]

const cChannel * cChannels::GetByTransponderID ( tChannelID ChannelID) const

◆ GetChannelsRead()

const cChannels * cChannels::GetChannelsRead ( cStateKey & StateKey,
int TimeoutMs = 0 )
static

Gets the list of channels for read access.

See cTimers::GetTimersRead() for details.

Definition at line 856 of file channels.c.

References cChannels(), and channels.

Referenced by cRecordControl::cRecordControl(), main(), cEITScanner::Process(), cMenuChannels::Set(), and cRecordControls::Start().

◆ GetChannelsWrite()

cChannels * cChannels::GetChannelsWrite ( cStateKey & StateKey,
int TimeoutMs = 0 )
static

Gets the list of channels for write access.

See cTimers::GetTimersWrite() for details.

Definition at line 861 of file channels.c.

References cChannels(), and channels.

Referenced by cEIT::cEIT(), cMenuChannels::Delete(), cMenuChannels::Move(), cNitFilter::Process(), cPatFilter::Process(), cSdtFilter::Process(), and cMenuEditChannel::ProcessKey().

◆ GetNextGroup()

int cChannels::GetNextGroup ( int Idx) const

Get next channel group.

Definition at line 906 of file channels.c.

References cList< cChannel >::Get(), cChannel::GroupSep(), and cChannel::Name().

◆ GetNextNormal()

int cChannels::GetNextNormal ( int Idx) const

Get next normal channel (not group)

Definition at line 922 of file channels.c.

References cList< cChannel >::Get(), and cChannel::GroupSep().

Referenced by cMenuChannels::Delete().

◆ GetPrevGroup()

int cChannels::GetPrevGroup ( int Idx) const

Get previous channel group.

Definition at line 914 of file channels.c.

References cList< cChannel >::Get(), cChannel::GroupSep(), and cChannel::Name().

◆ GetPrevNormal()

int cChannels::GetPrevNormal ( int Idx) const

Get previous normal channel (not group)

Definition at line 930 of file channels.c.

References cList< cChannel >::Get(), and cChannel::GroupSep().

Referenced by cMenuChannels::Delete().

◆ HashChannel()

void cChannels::HashChannel ( cChannel * Channel)

Definition at line 896 of file channels.c.

References channelsHashSid, and cChannel::Sid().

Referenced by ReNumber(), and cChannel::SetId().

◆ HasUniqueChannelID()

bool cChannels::HasUniqueChannelID ( const cChannel * NewChannel,
const cChannel * OldChannel = NULL ) const

◆ Load()

bool cChannels::Load ( const char * FileName,
bool AllowComments = false,
bool MustExist = false )
static

Definition at line 885 of file channels.c.

References channels, cConfig< cChannel >::FileName(), and LOCK_CHANNELS_WRITE.

Referenced by main().

◆ MarkObsoleteChannels()

bool cChannels::MarkObsoleteChannels ( int Source,
int Nid,
int Tid )

◆ MaxChannelNameLength()

int cChannels::MaxChannelNameLength ( void )
static

◆ MaxNumber()

static int cChannels::MaxNumber ( void )
inlinestatic

◆ MaxShortChannelNameLength()

int cChannels::MaxShortChannelNameLength ( void )
static

◆ ModifiedByUser()

bool cChannels::ModifiedByUser ( int & State) const

Returns true if the channels have been modified by the user since the last call to this function with the same State variable.

State must be initialized with 0 and will be set to the current value of the list's internal state variable upon return from this function.

Definition at line 1099 of file channels.c.

References modifiedByUser.

Referenced by main().

◆ MoveNeedsDecrement()

bool cChannels::MoveNeedsDecrement ( cChannel * From,
cChannel * To )

Definition at line 956 of file channels.c.

References cList< cChannel >::Next(), and cChannel::Number().

◆ NewChannel()

cChannel * cChannels::NewChannel ( const cChannel * Transponder,
const char * Name,
const char * ShortName,
const char * Provider,
int Nid,
int Tid,
int Sid,
int Rid = 0 )

◆ ReNumber()

void cChannels::ReNumber ( void )

Recalculate 'number' based on channel type.

Definition at line 938 of file channels.c.

References channelsHashSid, cList< cChannel >::First(), HashChannel(), maxNumber, and cList< cChannel >::Next().

Referenced by NewChannel(), cMenuEditChannel::ProcessKey(), and cMenuChannels::Propagate().

◆ SetModifiedByUser()

void cChannels::SetModifiedByUser ( void )

◆ SwitchTo()

bool cChannels::SwitchTo ( int Number) const

Definition at line 1063 of file channels.c.

References GetByNumber(), cDevice::PrimaryDevice(), and cDevice::SwitchChannel().

Referenced by cMenuChannels::Delete(), and main().

◆ UnhashChannel()

void cChannels::UnhashChannel ( cChannel * Channel)

Definition at line 901 of file channels.c.

References channelsHashSid, and cChannel::Sid().

Referenced by Del(), and cChannel::SetId().

Member Data Documentation

◆ channels

cChannels cChannels::channels
staticprivate

Definition at line 214 of file channels.h.

Referenced by GetChannelsRead(), GetChannelsWrite(), and Load().

◆ channelsHashSid

cHash<cChannel> cChannels::channelsHashSid
private

Definition at line 219 of file channels.h.

Referenced by GetByChannelID(), GetByServiceID(), HashChannel(), ReNumber(), and UnhashChannel().

◆ maxChannelNameLength

int cChannels::maxChannelNameLength = 0
staticprivate

Definition at line 216 of file channels.h.

Referenced by MaxChannelNameLength(), and SetModifiedByUser().

◆ maxNumber

int cChannels::maxNumber = 0
staticprivate

Definition at line 215 of file channels.h.

Referenced by MaxNumber(), and ReNumber().

◆ maxShortChannelNameLength

int cChannels::maxShortChannelNameLength = 0
staticprivate

Definition at line 217 of file channels.h.

Referenced by MaxShortChannelNameLength(), and SetModifiedByUser().

◆ modifiedByUser

int cChannels::modifiedByUser
private

Definition at line 218 of file channels.h.

Referenced by cChannels(), ModifiedByUser(), and SetModifiedByUser().


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