X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/7a6b5e730bb33b3ea9a1c693ee434e99d389f583..5c66de23e71d94ddba590c67e4751e046a095e68:/lib/dvb/idvb.h diff --git a/lib/dvb/idvb.h b/lib/dvb/idvb.h index ef052d42..d338f298 100644 --- a/lib/dvb/idvb.h +++ b/lib/dvb/idvb.h @@ -361,6 +361,7 @@ public: }; class iDVBSatelliteEquipmentControl; +class eSecCommandList; class iDVBFrontend: public iObject { @@ -379,7 +380,7 @@ public: }; virtual RESULT getState(int &state)=0; enum { - toneOn, toneOff + toneOff, toneOn }; virtual RESULT setTone(int tone)=0; enum { @@ -387,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 @@ -409,7 +414,8 @@ public: state_idle, /* not yet tuned */ state_tuning, /* currently tuning (first time) */ state_unavailable, /* currently unavailable, will be back without further interaction */ - state_ok /* ok */ + state_ok, /* ok */ + state_release /* channel is being shut down. */ }; virtual RESULT connectStateChange(const Slot1 &stateChange, ePtr &connection)=0; virtual RESULT getState(int &state)=0; @@ -423,6 +429,23 @@ public: /* direct frontend access for raw channels and/or status inquiries. */ virtual RESULT getFrontend(ePtr &frontend)=0; + + /* use count handling */ + virtual void AddUse() = 0; + virtual void ReleaseUse() = 0; +}; + +class iDVBPVRChannel: public iDVBChannel +{ +public: + enum + { + state_eof = state_release + 1 /* end-of-file reached. */ + }; + + /* FIXME: there are some very ugly buffer-end and ... related problems */ + /* so this is VERY UGLY. */ + virtual RESULT playFile(const char *file) = 0; }; class iDVBSectionReader;