summaryrefslogtreecommitdiff
path: root/device.h
diff options
context:
space:
mode:
authorMarkus Ehrnsperger <markus@vdr1.(none)>2011-01-23 22:20:57 +0100
committerMarkus Ehrnsperger <markus@vdr1.(none)>2011-01-23 22:20:57 +0100
commitac9d15a2a4e62971aee7932e55aa2d924f9b0261 (patch)
tree094246c234bce8f91e226d758f8437d62d095990 /device.h
parent58db02442b375f5669416e6e744a8325ed363f99 (diff)
downloadvdr-patch-lnbsharing-lnb-sharing-0.1.0.tar.gz
vdr-patch-lnbsharing-lnb-sharing-0.1.0.tar.bz2
lnb-sharing 0.1.0lnb-sharing-0.1.0
Diffstat (limited to 'device.h')
-rw-r--r--device.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/device.h b/device.h
index cb3bc2c..da6d095 100644
--- a/device.h
+++ b/device.h
@@ -159,6 +159,40 @@ public:
static void Shutdown(void);
///< Closes down all devices.
///< Must be called at the end of the program.
+//ML
+public:
+ static void SetLnbNr(void);
+ ///< Called after changes in setup
+ ///< call SetLNBNrFromSetup for each device
+ virtual void SetLnbNrFromSetup(void) {};
+ ///< Called after changes in setup
+ ///< Read Setup.CardUsesLNBnr, write value to member variable of this class
+ ///< Only implemented in dvbdevice, other devices don't use LNBs
+ virtual int LnbNr(void) const { return ( cardIndex + 1 ) * -1; };
+ ///< Number of LNB. This is -cardIndex for all non-DVB devices.
+ ///< So, there will be no LNB conflicts for non-DVB devices.
+ virtual bool IsShareLnb(const cDevice *Device) { return false; };
+ ///< True if both devices differ (this != Device) and share the same LNB
+ virtual bool IsLnbConflict(const cChannel *Channel) { return false; };
+ ///< false if 'Channel' can be recieved with the same
+ ///< LNB as 'this' device is using
+ ///< Otherwise, true
+ cDevice *GetBadDevice(const cChannel *Channel) ;
+ ///< Returns NULL if there is no device which uses the same LNB or if
+ ///< all of those devices are tuned to the same frequency band and
+ ///< polarization as of the requested channel.
+ ///< Otherwise returns the first device found.
+ int GetMaxBadPriority(const cChannel *Channel) const;
+ ///< Returns the highest priority of all receiving devices which use
+ ///< the same LNB and are tuned to a different frequency band or
+ ///< polarization as of the requested channel.
+ ///< Returns -1 if there are no such devices, but the 'actual' device
+ ///< (device recieving live view) would be affected by switching to the requested channel.
+ ///< Returns -2 if there are no such devices and the actual device
+ ///< would not be affected by switching to the requested channel.
+//ML-Ende
+
+
private:
static int nextCardIndex;
int cardIndex;