vdr
2.4.7
|
#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 cChannel * | GetByNumber (int Number, int SkipGap=0) const |
cChannel * | GetByNumber (int Number, int SkipGap=0) |
const cChannel * | GetByServiceID (int Source, int Transponder, unsigned short ServiceID) const |
cChannel * | GetByServiceID (int Source, int Transponder, unsigned short ServiceID) |
const cChannel * | GetByChannelID (tChannelID ChannelID, bool TryWithoutRid=false, bool TryWithoutPolarization=false) const |
cChannel * | GetByChannelID (tChannelID ChannelID, bool TryWithoutRid=false, bool TryWithoutPolarization=false) |
const cChannel * | GetByTransponderID (tChannelID ChannelID) const |
cChannel * | GetByTransponderID (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 |
cChannel * | NewChannel (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) |
![]() | |
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 |
![]() | |
cList (const char *NeedsLocking=NULL) | |
const cChannel * | Get (int Index) const |
cChannel * | Get (int Index) |
const cChannel * | First (void) const |
cChannel * | First (void) |
const cChannel * | Last (void) const |
cChannel * | Last (void) |
const cChannel * | Prev (const cChannel *Object) const |
cChannel * | Prev (const cChannel *Object) |
const cChannel * | Next (const cChannel *Object) const |
cChannel * | Next (const cChannel *Object) |
![]() | |
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 cListObject * | Get (int Index) const |
cListObject * | Get (int Index) |
int | Count (void) const |
void | Sort (void) |
Static Public Member Functions | |
static const cChannels * | GetChannelsRead (cStateKey &StateKey, int TimeoutMs=0) |
static cChannels * | GetChannelsWrite (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< cChannel > | channelsHashSid |
Static Private Attributes | |
static cChannels | channels |
static int | maxNumber = 0 |
static int | maxChannelNameLength = 0 |
static int | maxShortChannelNameLength = 0 |
Additional Inherited Members | |
![]() | |
cListBase (const char *NeedsLocking=NULL) | |
![]() | |
cListObject * | objects |
cListObject * | lastObject |
int | count |
cStateLock | stateLock |
const char * | needsLocking |
bool | useGarbageCollector |
Definition at line 211 of file channels.h.
cChannels::cChannels | ( | void | ) |
Definition at line 844 of file channels.c.
References modifiedByUser.
void cChannels::Del | ( | cChannel * | Channel | ) |
Delete the given Channel from the list.
Definition at line 1001 of file channels.c.
References cListBase::Del(), cList< cChannel >::First(), cList< cChannel >::Next(), and UnhashChannel().
Referenced by cMenuChannels::Delete(), and DeleteDuplicateChannels().
|
private |
Definition at line 860 of file channels.c.
References cListBase::Add(), cChannelSorter::channelID, Del(), dsyslog, cList< T >::First(), cList< cChannel >::First(), cList< cChannel >::Next(), cList< T >::Next(), cListBase::Sort(), and cChannel::ToText().
Referenced by Load().
|
inline |
Definition at line 243 of file channels.h.
References GetByChannelID().
Referenced by GetByChannelID().
const cChannel * cChannels::GetByChannelID | ( | tChannelID | ChannelID, |
bool | TryWithoutRid = false , |
||
bool | TryWithoutPolarization = false |
||
) | const |
Definition at line 1037 of file channels.c.
References channelsHashSid, tChannelID::ClrPolarization(), tChannelID::ClrRid(), cList< T >::First(), cChannel::GetChannelID(), cHashBase::GetList(), cList< T >::Next(), tChannelID::Sid(), and cChannel::Sid().
Referenced by cEIT::cEIT(), cMenuEvent::cMenuEvent(), cSchedule::Dump(), cSdtFilter::Process(), cMenuSchedule::Set(), and cMenuWhatsOn::SetHelpKeys().
|
inline |
const cChannel * cChannels::GetByNumber | ( | int | Number, |
int | SkipGap = 0 |
||
) | const |
Definition at line 1009 of file channels.c.
References cList< cChannel >::First(), and cList< cChannel >::Next().
Referenced by cMenuChannels::Delete(), cMenuSchedule::Set(), cRecordControls::Start(), and SwitchTo().
|
inline |
Definition at line 241 of file channels.h.
References GetByServiceID().
Referenced by GetByServiceID().
const cChannel * cChannels::GetByServiceID | ( | int | Source, |
int | Transponder, | ||
unsigned short | ServiceID | ||
) | const |
Definition at line 1024 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().
|
inline |
Definition at line 245 of file channels.h.
References GetByTransponderID().
Referenced by GetByTransponderID().
const cChannel * cChannels::GetByTransponderID | ( | tChannelID | ChannelID | ) | const |
Definition at line 1067 of file channels.c.
References cList< cChannel >::First(), cList< cChannel >::Next(), tChannelID::Nid(), tChannelID::Source(), and tChannelID::Tid().
Referenced by cEIT::cEIT().
Gets the list of channels for read access.
See cTimers::GetTimersRead() for details.
Definition at line 850 of file channels.c.
References channels, and cListBase::Lock().
Referenced by cRecordControl::cRecordControl(), main(), cEITScanner::Process(), cMenuChannels::Set(), and cRecordControls::Start().
Gets the list of channels for write access.
See cTimers::GetTimersWrite() for details.
Definition at line 855 of file channels.c.
References channels, and cListBase::Lock().
Referenced by cEIT::cEIT(), cMenuChannels::Delete(), cMenuChannels::Move(), cNitFilter::Process(), cPatFilter::Process(), cSdtFilter::Process(), and cMenuEditChannel::ProcessKey().
int cChannels::GetNextGroup | ( | int | Idx | ) | const |
Get next channel group.
Definition at line 900 of file channels.c.
References cList< cChannel >::Get(), cChannel::GroupSep(), and cChannel::Name().
int cChannels::GetNextNormal | ( | int | Idx | ) | const |
Get next normal channel (not group)
Definition at line 916 of file channels.c.
References cList< cChannel >::Get(), and cChannel::GroupSep().
Referenced by cMenuChannels::Delete().
int cChannels::GetPrevGroup | ( | int | Idx | ) | const |
Get previous channel group.
Definition at line 908 of file channels.c.
References cList< cChannel >::Get(), cChannel::GroupSep(), and cChannel::Name().
int cChannels::GetPrevNormal | ( | int | Idx | ) | const |
Get previous normal channel (not group)
Definition at line 924 of file channels.c.
References cList< cChannel >::Get(), and cChannel::GroupSep().
Referenced by cMenuChannels::Delete().
void cChannels::HashChannel | ( | cChannel * | Channel | ) |
Definition at line 890 of file channels.c.
References cHashBase::Add(), channelsHashSid, and cChannel::Sid().
Referenced by ReNumber(), and cChannel::SetId().
bool cChannels::HasUniqueChannelID | ( | const cChannel * | NewChannel, |
const cChannel * | OldChannel = NULL |
||
) | const |
Definition at line 1079 of file channels.c.
References cList< cChannel >::First(), cChannel::GetChannelID(), NewChannel(), and cList< cChannel >::Next().
Referenced by cMenuEditChannel::ProcessKey().
|
static |
Definition at line 879 of file channels.c.
References channels, DeleteDuplicateChannels(), cConfig< cChannel >::FileName(), LOCK_CHANNELS_WRITE, and ReNumber().
Referenced by main().
bool cChannels::MarkObsoleteChannels | ( | int | Source, |
int | Nid, | ||
int | Tid | ||
) |
Definition at line 1151 of file channels.c.
References CHANNELMARKOBSOLETE, CHANNELTIMEOBSOLETE, endswith(), cList< cChannel >::First(), cList< cChannel >::Next(), Setup, cSetup::ShowChannelNamesWithSource, and cString::sprintf().
Referenced by cSdtFilter::Process().
|
static |
Definition at line 1095 of file channels.c.
References LOCK_CHANNELS_READ, max(), maxChannelNameLength, cListObject::Next(), and Utf8StrLen().
|
inlinestatic |
Definition at line 248 of file channels.h.
References maxNumber.
Referenced by cSVDRPServer::CmdCHAN(), cSVDRPServer::CmdCLRE(), cSVDRPServer::CmdLSTC(), and cDisplayChannel::ProcessKey().
|
static |
Definition at line 1107 of file channels.c.
References LOCK_CHANNELS_READ, max(), maxShortChannelNameLength, cListObject::Next(), and Utf8StrLen().
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 1125 of file channels.c.
References modifiedByUser.
Referenced by main().
Definition at line 982 of file channels.c.
References cList< cChannel >::Next(), and cChannel::Number().
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 1132 of file channels.c.
References cListBase::Add(), cChannel::CopyTransponderData(), dsyslog, ReNumber(), cChannel::SetId(), cChannel::SetName(), cChannel::SetSeen(), cChannel::Source(), cSource::ToString(), and cChannel::Transponder().
Referenced by cEIT::cEIT(), HasUniqueChannelID(), and cSdtFilter::Process().
void cChannels::ReNumber | ( | void | ) |
Recalculate 'number' based on channel type.
Definition at line 932 of file channels.c.
References cVector< T >::Append(), channelsHashSid, cHashBase::Clear(), cListBase::Count(), cList< cChannel >::First(), HashChannel(), cDvbTransponderParameters::Lcn(), LCN_OVERFLOW_OFFSET, maxNumber, cList< cChannel >::Next(), Setup, cVector< T >::Size(), STANDARD_NORDIG, and cSetup::StandardCompliance.
Referenced by Load(), NewChannel(), cMenuEditChannel::ProcessKey(), and cMenuChannels::Propagate().
void cChannels::SetModifiedByUser | ( | void | ) |
Definition at line 1119 of file channels.c.
References maxChannelNameLength, maxShortChannelNameLength, and modifiedByUser.
Referenced by cMenuEditChannel::ProcessKey(), and cMenuChannels::Propagate().
bool cChannels::SwitchTo | ( | int | Number | ) | const |
Definition at line 1089 of file channels.c.
References GetByNumber(), cDevice::PrimaryDevice(), and cDevice::SwitchChannel().
Referenced by cMenuChannels::Delete(), and main().
void cChannels::UnhashChannel | ( | cChannel * | Channel | ) |
Definition at line 895 of file channels.c.
References channelsHashSid, cHashBase::Del(), and cChannel::Sid().
Referenced by Del(), and cChannel::SetId().
|
staticprivate |
Definition at line 213 of file channels.h.
Referenced by GetChannelsRead(), GetChannelsWrite(), and Load().
Definition at line 218 of file channels.h.
Referenced by GetByChannelID(), GetByServiceID(), HashChannel(), ReNumber(), and UnhashChannel().
|
staticprivate |
Definition at line 215 of file channels.h.
Referenced by MaxChannelNameLength(), and SetModifiedByUser().
|
staticprivate |
Definition at line 214 of file channels.h.
Referenced by MaxNumber(), and ReNumber().
|
staticprivate |
Definition at line 216 of file channels.h.
Referenced by MaxShortChannelNameLength(), and SetModifiedByUser().
|
private |
Definition at line 217 of file channels.h.
Referenced by cChannels(), ModifiedByUser(), and SetModifiedByUser().