X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/44433f650cd3e5f9f66253b74d194fcb01578595..01921e17fbec0161d4f1578d6648c08e4968f0c4:/lib/dvb/idvb.h diff --git a/lib/dvb/idvb.h b/lib/dvb/idvb.h index c201c1a4..d521b999 100644 --- a/lib/dvb/idvb.h +++ b/lib/dvb/idvb.h @@ -77,6 +77,14 @@ struct eDVBChannelID eDVBNamespace dvbnamespace; eTransportStreamID transport_stream_id; eOriginalNetworkID original_network_id; + + bool operator==(const eDVBChannelID &c) const + { + return dvbnamespace == c.dvbnamespace && + transport_stream_id == c.transport_stream_id && + original_network_id == c.original_network_id; + } + bool operator<(const eDVBChannelID &c) const { if (dvbnamespace < c.dvbnamespace) @@ -234,24 +242,6 @@ public: virtual RESULT startQuery(ePtr &query, eDVBChannelQuery *query)=0; }; -class iDVBResourceManager: public iObject -{ -public: - /* - solange rumloopen bis eine resource gefunden wurde, die eine frequenz - tunen will - - wenn natuerlich sowas schon vorhanden ist, dann einfach ne ref darauf - geben. (zwei services auf dem gleichen transponder teilen sich einen - channel) - */ - virtual RESULT setChannelList(iDVBChannelList *list)=0; - virtual RESULT getChannelList(ePtr &list)=0; - virtual RESULT allocateChannel(const eDVBChannelID &channel, ePtr &channel)=0; - virtual RESULT allocateRawChannel(ePtr &channel)=0; - virtual RESULT allocatePVRChannel(int caps)=0; -}; - class SatelliteDeliverySystemDescriptor; class CableDeliverySystemDescriptor; class TerrestrialDeliverySystemDescriptor; @@ -359,13 +349,19 @@ public: #define MAX_DISEQC_LENGTH 16 -struct eDVBDiseqcCommand +class eDVBDiseqcCommand { +public: int len; __u8 data[MAX_DISEQC_LENGTH]; +#if HAVE_DVB_API_VERSION < 3 + int tone; + int voltage; +#endif }; class iDVBSatelliteEquipmentControl; +class eSecCommandList; class iDVBFrontend: public iObject { @@ -384,7 +380,7 @@ public: }; virtual RESULT getState(int &state)=0; enum { - toneOn, toneOff + toneOff, toneOn }; virtual RESULT setTone(int tone)=0; enum { @@ -392,7 +388,11 @@ public: }; virtual RESULT setVoltage(int voltage)=0; virtual RESULT sendDiseqc(const eDVBDiseqcCommand &diseqc)=0; + virtual RESULT sendToneburst(int burst)=0; virtual RESULT setSEC(iDVBSatelliteEquipmentControl *sec)=0; + virtual RESULT setSecSequence(const eSecCommandList &list)=0; + virtual RESULT getData(int num, int &data)=0; + virtual RESULT setData(int num, int val)=0; }; class iDVBSatelliteEquipmentControl: public iObject @@ -431,12 +431,14 @@ public: }; class iDVBSectionReader; +class iDVBTSRecorder; class iTSMPEGDecoder; class iDVBDemux: public iObject { public: virtual RESULT createSectionReader(eMainloop *context, ePtr &reader)=0; + virtual RESULT createTSRecorder(ePtr &recorder)=0; virtual RESULT getMPEGDecoder(ePtr &reader)=0; };