vdr  2.2.0
Public Member Functions | Private Member Functions | Private Attributes | List of all members
cChannels Class Reference

#include <channels.h>

Public Member Functions

 cChannels (void)
 
bool Load (const char *FileName, bool AllowComments=false, bool MustExist=false)
 
void HashChannel (cChannel *Channel)
 
void UnhashChannel (cChannel *Channel)
 
int GetNextGroup (int Idx)
 
int GetPrevGroup (int Idx)
 
int GetNextNormal (int Idx)
 
int GetPrevNormal (int Idx)
 
void ReNumber (void)
 
cChannelGetByNumber (int Number, int SkipGap=0)
 
cChannelGetByServiceID (int Source, int Transponder, unsigned short ServiceID)
 
cChannelGetByChannelID (tChannelID ChannelID, bool TryWithoutRid=false, bool TryWithoutPolarization=false)
 
cChannelGetByTransponderID (tChannelID ChannelID)
 
int BeingEdited (void)
 
void IncBeingEdited (void)
 
void DecBeingEdited (void)
 
bool HasUniqueChannelID (cChannel *NewChannel, cChannel *OldChannel=NULL)
 
bool SwitchTo (int Number)
 
int MaxNumber (void)
 
int MaxChannelNameLength (void)
 
int MaxShortChannelNameLength (void)
 
void SetModified (bool ByUser=false)
 
int Modified (void)
 
cChannelNewChannel (const cChannel *Transponder, const char *Name, const char *ShortName, const char *Provider, int Nid, int Tid, int Sid, int Rid=0)
 
void MarkObsoleteChannels (int Source, int Nid, int Tid)
 
- Public Member Functions inherited from cRwLock
 cRwLock (bool PreferWriter=false)
 
 ~cRwLock ()
 
bool Lock (bool Write, int TimeoutMs=0)
 
void Unlock (void)
 
- Public Member Functions inherited from cConfig< cChannel >
 cConfig (void)
 
virtual ~cConfig ()
 
const char * FileName (void)
 
bool Load (const char *FileName=NULL, bool AllowComments=false, bool MustExist=false)
 
bool Save (void)
 
- Public Member Functions inherited from cList< cChannel >
cChannelGet (int Index) const
 
cChannelFirst (void) const
 
cChannelLast (void) const
 
cChannelPrev (const cChannel *object) const
 
cChannelNext (const cChannel *object) const
 
- Public Member Functions inherited from cListBase
virtual ~cListBase ()
 
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)
 
cListObjectGet (int Index) const
 
int Count (void) const
 
void Sort (void)
 

Private Member Functions

void DeleteDuplicateChannels (void)
 

Private Attributes

int maxNumber
 
int maxChannelNameLength
 
int maxShortChannelNameLength
 
int modified
 
int beingEdited
 
cHash< cChannelchannelsHashSid
 

Additional Inherited Members

- Protected Member Functions inherited from cListBase
 cListBase (void)
 
- Protected Attributes inherited from cListBase
cListObjectobjects
 
cListObjectlastObject
 
int count
 

Detailed Description

Definition at line 228 of file channels.h.

Constructor & Destructor Documentation

cChannels::cChannels ( void  )

Member Function Documentation

int cChannels::BeingEdited ( void  )
inline

Definition at line 251 of file channels.h.

References beingEdited.

Referenced by cSVDRP::CmdDELC(), cSVDRP::CmdMODC(), cSVDRP::CmdMOVC(), and main().

void cChannels::DecBeingEdited ( void  )
inline

Definition at line 253 of file channels.h.

Referenced by cMenuChannels::~cMenuChannels().

void cChannels::DeleteDuplicateChannels ( void  )
private
cChannel * cChannels::GetByChannelID ( tChannelID  ChannelID,
bool  TryWithoutRid = false,
bool  TryWithoutPolarization = false 
)
cChannel * cChannels::GetByNumber ( int  Number,
int  SkipGap = 0 
)
cChannel * cChannels::GetByServiceID ( int  Source,
int  Transponder,
unsigned short  ServiceID 
)
cChannel * cChannels::GetByTransponderID ( tChannelID  ChannelID)
int cChannels::GetNextGroup ( int  Idx)

Definition at line 913 of file channels.c.

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

Referenced by cDisplayChannel::ProcessKey().

int cChannels::GetNextNormal ( int  Idx)
int cChannels::GetPrevGroup ( int  Idx)

Definition at line 921 of file channels.c.

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

Referenced by cDisplayChannel::ProcessKey().

int cChannels::GetPrevNormal ( int  Idx)

Definition at line 937 of file channels.c.

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

Referenced by cSVDRP::CmdDELC(), and cMenuChannels::Delete().

void cChannels::HashChannel ( cChannel Channel)

Definition at line 903 of file channels.c.

References cHashBase::Add(), channelsHashSid, and cChannel::Sid().

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

bool cChannels::HasUniqueChannelID ( cChannel NewChannel,
cChannel OldChannel = NULL 
)
void cChannels::IncBeingEdited ( void  )
inline

Definition at line 252 of file channels.h.

Referenced by cMenuChannels::cMenuChannels().

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

Definition at line 893 of file channels.c.

References DeleteDuplicateChannels(), and ReNumber().

Referenced by main().

void cChannels::MarkObsoleteChannels ( int  Source,
int  Nid,
int  Tid 
)
int cChannels::MaxChannelNameLength ( void  )
int cChannels::MaxNumber ( void  )
inline

Definition at line 256 of file channels.h.

References maxNumber.

Referenced by cSVDRP::CmdCHAN(), cSVDRP::CmdCLRE(), cSVDRP::CmdLSTC(), and cDisplayChannel::ProcessKey().

int cChannels::MaxShortChannelNameLength ( void  )
int cChannels::Modified ( void  )

Returns 0 if no channels have been modified, 1 if an automatic modification has been made, and 2 if the user has made a modification.

Calling this function resets the 'modified' flag to 0.

Definition at line 1108 of file channels.c.

References CHANNELSMOD_NONE, and modified.

Referenced by main().

cChannel * cChannels::NewChannel ( const cChannel Transponder,
const char *  Name,
const char *  ShortName,
const char *  Provider,
int  Nid,
int  Tid,
int  Sid,
int  Rid = 0 
)
void cChannels::ReNumber ( void  )
void cChannels::SetModified ( bool  ByUser = false)
bool cChannels::SwitchTo ( int  Number)
void cChannels::UnhashChannel ( cChannel Channel)

Definition at line 908 of file channels.c.

References channelsHashSid, cHashBase::Del(), and cChannel::Sid().

Referenced by cChannel::SetId().

Member Data Documentation

int cChannels::beingEdited
private

Definition at line 234 of file channels.h.

Referenced by BeingEdited().

cHash<cChannel> cChannels::channelsHashSid
private

Definition at line 235 of file channels.h.

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

int cChannels::maxChannelNameLength
private

Definition at line 231 of file channels.h.

Referenced by cChannels(), MaxChannelNameLength(), and SetModified().

int cChannels::maxNumber
private

Definition at line 230 of file channels.h.

Referenced by cChannels(), MaxNumber(), and ReNumber().

int cChannels::maxShortChannelNameLength
private

Definition at line 232 of file channels.h.

Referenced by cChannels(), MaxShortChannelNameLength(), and SetModified().

int cChannels::modified
private

Definition at line 233 of file channels.h.

Referenced by cChannels(), Modified(), and SetModified().


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