cChannels Class Reference

#include <channels.h>

Inheritance diagram for cChannels:

Inheritance graph
[legend]
Collaboration diagram for cChannels:

Collaboration graph
[legend]

List of all members.

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)
int BeingEdited (void)
void IncBeingEdited (void)
void DecBeingEdited (void)
bool HasUniqueChannelID (cChannel *NewChannel, cChannel *OldChannel=NULL)
bool SwitchTo (int Number)
int MaxNumber (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)

Private Member Functions

void DeleteDuplicateChannels (void)

Private Attributes

int maxNumber
int modified
int beingEdited
cHash< cChannelchannelsHashSid


Detailed Description

Definition at line 221 of file channels.h.


Constructor & Destructor Documentation

cChannels::cChannels ( void   ) 

Definition at line 859 of file channels.c.

References CHANNELSMOD_NONE, maxNumber, and modified.


Member Function Documentation

void cChannels::DeleteDuplicateChannels ( void   )  [private]

Definition at line 865 of file channels.c.

References cListBase::Add(), cChannelSorter::channel, cChannelSorter::channelID, cListBase::Del(), dsyslog, cList< T >::First(), cList< cChannel >::First(), cList< T >::Next(), cList< cChannel >::Next(), cListBase::Sort(), and cChannel::ToText().

Referenced by Load().

Here is the call graph for this function:

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

Reimplemented from cConfig< cChannel >.

Definition at line 884 of file channels.c.

References DeleteDuplicateChannels(), and ReNumber().

Referenced by main().

Here is the call graph for this function:

void cChannels::HashChannel ( cChannel Channel  ) 

Definition at line 894 of file channels.c.

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

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

Here is the call graph for this function:

void cChannels::UnhashChannel ( cChannel Channel  ) 

Definition at line 899 of file channels.c.

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

Referenced by cChannel::SetId().

Here is the call graph for this function:

int cChannels::GetNextGroup ( int  Idx  ) 

Definition at line 904 of file channels.c.

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

Referenced by cDisplayChannel::ProcessKey().

Here is the call graph for this function:

int cChannels::GetPrevGroup ( int  Idx  ) 

Definition at line 912 of file channels.c.

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

Referenced by cDisplayChannel::ProcessKey().

Here is the call graph for this function:

int cChannels::GetNextNormal ( int  Idx  ) 

Definition at line 920 of file channels.c.

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

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

Here is the call graph for this function:

int cChannels::GetPrevNormal ( int  Idx  ) 

Definition at line 928 of file channels.c.

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

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

Here is the call graph for this function:

void cChannels::ReNumber ( void   ) 

Definition at line 936 of file channels.c.

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

Referenced by cSVDRP::CmdDELC(), cSVDRP::CmdMODC(), cSVDRP::CmdMOVC(), cSVDRP::CmdNEWC(), Load(), NewChannel(), cMenuEditChannel::ProcessKey(), and cMenuChannels::Propagate().

Here is the call graph for this function:

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

Definition at line 953 of file channels.c.

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

Referenced by cDisplayChannel::cDisplayChannel(), cSVDRP::CmdCHAN(), cSVDRP::CmdDELC(), cSVDRP::CmdLSTC(), cSVDRP::CmdLSTE(), cSVDRP::CmdMODC(), cSVDRP::CmdMOVC(), cMenuSchedule::cMenuSchedule(), cTimer::cTimer(), cMenuChannels::Delete(), cDevice::ForceTransferMode(), main(), cMenuChannels::Move(), cMenuSchedule::Number(), cTimer::Parse(), cMenuEditTranItem::ProcessKey(), cMenuEditChanItem::ProcessKey(), cDisplayChannel::ProcessKey(), cMenuEditTimer::ProcessKey(), cMenuEditChanItem::Set(), SetTrackDescriptions(), cMenuChannels::Setup(), cRecordControls::Start(), cDevice::SwitchChannel(), and SwitchTo().

Here is the call graph for this function:

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

Definition at line 968 of file channels.c.

References channelsHashSid, cList< T >::First(), cHashBase::GetList(), ISTRANSPONDER, cList< T >::Next(), cChannel::Sid(), cChannel::Source(), and cChannel::Transponder().

Referenced by cPatFilter::Process().

Here is the call graph for this function:

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

Definition at line 981 of file channels.c.

References channelsHashSid, tChannelID::ClrPolarization(), tChannelID::ClrRid(), cList< T >::First(), cChannel::GetChannelID(), cHashBase::GetList(), cList< T >::Next(), cChannel::Sid(), and tChannelID::Sid().

Referenced by cSchedules::AddSchedule(), cEIT::cEIT(), cSVDRP::CmdCHAN(), cSVDRP::CmdLSTE(), cMenuEvent::cMenuEvent(), cTimer::cTimer(), cSchedule::Dump(), cMenuSchedule::Number(), cTimer::Parse(), cSdtFilter::Process(), cMenuSchedule::ProcessKey(), ReportEpgBugFixStats(), and cMenuWhatsOn::Switch().

Here is the call graph for this function:

int cChannels::BeingEdited ( void   )  [inline]

Definition at line 241 of file channels.h.

References beingEdited.

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

void cChannels::IncBeingEdited ( void   )  [inline]

Definition at line 242 of file channels.h.

References beingEdited.

Referenced by cMenuChannels::cMenuChannels().

void cChannels::DecBeingEdited ( void   )  [inline]

Definition at line 243 of file channels.h.

References beingEdited.

Referenced by cMenuChannels::~cMenuChannels().

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

Definition at line 1011 of file channels.c.

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

Referenced by cSVDRP::CmdMODC(), cSVDRP::CmdNEWC(), and cMenuEditChannel::ProcessKey().

Here is the call graph for this function:

bool cChannels::SwitchTo ( int  Number  ) 

Definition at line 1021 of file channels.c.

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

Referenced by cEITScanner::Activity(), cSVDRP::CmdDELC(), cSVDRP::CmdMOVC(), cMenuChannels::Delete(), main(), cMenuChannels::Move(), cDisplayChannel::ProcessKey(), and cMenuSchedule::Switch().

Here is the call graph for this function:

int cChannels::MaxNumber ( void   )  [inline]

Definition at line 246 of file channels.h.

References maxNumber.

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

void cChannels::SetModified ( bool  ByUser = false  ) 

Definition at line 1027 of file channels.c.

References CHANNELSMOD_AUTO, CHANNELSMOD_USER, and modified.

Referenced by cSVDRP::CmdDELC(), cSVDRP::CmdMODC(), cSVDRP::CmdMOVC(), cSVDRP::CmdNEWC(), cMenuEditChannel::ProcessKey(), cMenuChannels::Propagate(), cChannel::SetCableTransponderData(), cChannel::SetCaDescriptors(), cChannel::SetCaIds(), cChannel::SetId(), cChannel::SetName(), cChannel::SetPids(), cChannel::SetPortalName(), cChannel::SetSatTransponderData(), and cChannel::SetTerrTransponderData().

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 1032 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 
)

Definition at line 1039 of file channels.c.

References cListBase::Add(), cChannel::CopyTransponderData(), dsyslog, ReNumber(), cChannel::Source(), cSource::ToString(), and cChannel::Transponder().

Referenced by cEIT::cEIT(), and cSdtFilter::Process().

Here is the call graph for this function:


Member Data Documentation

int cChannels::maxNumber [private]

Definition at line 223 of file channels.h.

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

int cChannels::modified [private]

Definition at line 224 of file channels.h.

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

int cChannels::beingEdited [private]

Definition at line 225 of file channels.h.

Referenced by BeingEdited(), DecBeingEdited(), and IncBeingEdited().

cHash<cChannel> cChannels::channelsHashSid [private]

Definition at line 226 of file channels.h.

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


The documentation for this class was generated from the following files:
Generated on Tue Nov 6 20:05:19 2007 for VDR by  doxygen 1.5.3-20071008