80 if (ch->Source() == Channel->
Source() && ch->Transponder() == Channel->
Transponder()) {
131 time_t now = time(NULL);
144 bool AnyDeviceSwitched =
false;
149 const cChannel *Channel = ScanData->GetChannel();
160 if (!MaySwitchTransponder) {
170 AnyDeviceSwitched =
true;
180 if (!AnyDeviceSwitched) {
static const cChannels * GetChannelsRead(cStateKey &StateKey, int TimeoutMs=0)
Gets the list of channels for read access.
virtual bool MaySwitchTransponder(const cChannel *Channel) const
Returns true if it is ok to switch to the Channel's transponder on this device, without disturbing an...
void Add(cListObject *Object, cListObject *After=NULL)
virtual int Compare(const cListObject &ListObject) const
Must return 0 if this object is equal to ListObject, a positive value if it is "greater", and a negative value if it is "smaller".
void Remove(bool IncState=true)
Removes this key from the lock it was previously used with.
static cDevice * GetDevice(int Index)
Gets the device with the given Index.
static int NumDevices(void)
Returns the total number of devices.
int Ca(int Index=0) const
virtual bool ProvidesEIT(void) const
Returns true if this device provides EIT data and thus wants to be tuned to the channels it can recei...
cScanData(const cChannel *Channel)
A steerable satellite dish generally points to the south on the northern hemisphere, and to the north on the southern hemisphere (unless you're located directly on the equator, in which case the general direction is "up").
int Transponder(void) const
Returns the transponder frequency in MHz, plus the polarization in case of sat.
static int CurrentChannel(void)
Returns the number of the current channel on the primary device.
void AddTransponder(const cChannel *Channel)
#define ISTRANSPONDER(f1, f2)
bool SwitchChannel(const cChannel *Channel, bool LiveView)
Switches the device to the given Channel, initiating transfer mode if necessary.
#define LOCK_CHANNELS_READ
void AddTransponders(const cList< cChannel > *Channels)
int Transponder(void) const
virtual bool ProvidesTransponderExclusively(const cChannel *Channel) const
Returns true if this is the only device that is able to provide the given channel's transponder...
eKeys Message(eMessageType Type, const char *s, int Seconds=0)
Displays the given message, either through a currently visible display object that is capable of doin...
const T * First(void) const
Returns the first element in this list, or NULL if the list is empty.
void Del(cListObject *Object, bool DeleteObject=true)
int DeviceNumber(void) const
Returns the number of this device (0 ... numDevices - 1).
static cDevice * PrimaryDevice(void)
Returns the primary device.
virtual const cPositioner * Positioner(void) const
Returns a pointer to the positioner (if any) this device has used to move the satellite dish to the r...
void StopReplay(void)
Stops the current replay session (if any).
static cDevice * ActualDevice(void)
Returns the actual receiving device in case of Transfer Mode, or the primary device otherwise...
int Position(void)
Returns the orbital position of the satellite in case this is a DVB-S source (zero otherwise)...
void AddTransponder(cChannel *Channel)
cTransponderList * transponderList
void AddTransponder(cChannel *Channel)
virtual bool ProvidesTransponder(const cChannel *Channel) const
Returns true if this device can provide the transponder of the given Channel (which implies that it c...
int Priority(void) const
Returns the priority of the current receiving session (-MAXPRIORITY..MAXPRIORITY), or IDLEPRIORITY if no receiver is currently active.
const cChannel * GetChannel(void) const
const T * Next(const T *Object) const
< Returns the element immediately before Object in this list, or NULL if Object is the first element ...