X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/85f2616ef78700cf2639992abaf1011ecaa897bd..e1342ca063df18d3b933420150d06b86ea506bb3:/lib/dvb/sec.h diff --git a/lib/dvb/sec.h b/lib/dvb/sec.h index 0720beeb..d86d96ea 100644 --- a/lib/dvb/sec.h +++ b/lib/dvb/sec.h @@ -1,7 +1,6 @@ #ifndef __dvb_sec_h #define __dvb_sec_h -#include #include #include @@ -13,11 +12,16 @@ public: enum { NONE, SLEEP, SET_VOLTAGE, SET_TONE, GOTO, SEND_DISEQC, SEND_TONEBURST, SET_FRONTEND, - MEASURE_IDLE_INPUTPOWER, MEASURE_RUNNING_INPUTPOWER, - IF_TIMEOUT_GOTO, IF_INPUTPOWER_DELTA_GOTO, - UPDATE_CURRENT_ROTORPARAMS, SET_TIMEOUT, - IF_IDLE_INPUTPOWER_AVAIL_GOTO, SET_POWER_LIMITING_MODE, - IF_VOLTAGE_GOTO + SET_TIMEOUT, IF_TIMEOUT_GOTO, + IF_VOLTAGE_GOTO, IF_NOT_VOLTAGE_GOTO, + SET_POWER_LIMITING_MODE, + SET_ROTOR_DISEQC_RETRYS, IF_NO_MORE_ROTOR_DISEQC_RETRYS_GOTO, + MEASURE_IDLE_INPUTPOWER, MEASURE_RUNNING_INPUTPOWER, + IF_MEASURE_IDLE_WAS_NOT_OK_GOTO, IF_INPUTPOWER_DELTA_GOTO, + UPDATE_CURRENT_ROTORPARAMS, INVALIDATE_CURRENT_ROTORPARMS, + IF_ROTORPOS_VALID_GOTO, + IF_TUNER_LOCKED_GOTO, + START_TUNE_TIMEOUT }; int cmd; struct rotor @@ -68,8 +72,12 @@ public: class eSecCommandList { - std::list secSequence; - std::list::iterator cur; + typedef std::list List; + List secSequence; +public: + typedef List::iterator iterator; +private: + iterator cur; public: eSecCommandList() :cur(secSequence.end()) @@ -88,15 +96,15 @@ public: secSequence.clear(); cur=secSequence.end(); } - inline std::list::iterator ¤t() + inline iterator ¤t() { return cur; } - inline std::list::iterator begin() + inline iterator begin() { return secSequence.begin(); } - inline std::list::iterator end() + inline iterator end() { return secSequence.end(); } @@ -238,11 +246,13 @@ class eDVBSatelliteEquipmentControl: public iDVBSatelliteEquipmentControl eDVBSatelliteEquipmentControl(); ~eDVBSatelliteEquipmentControl(); #endif + // helper function for setTunerLinked and setTunerDepends + RESULT setDependencyPointers( int no1, int no2, int dest_data_byte ); public: #ifndef SWIG eDVBSatelliteEquipmentControl(eSmartPtrList &avail_frontends); DECLARE_REF(eDVBSatelliteEquipmentControl); - RESULT prepare(iDVBFrontend &frontend, FRONTENDPARAMETERS &parm, eDVBFrontendParametersSatellite &sat, int frontend_id); + RESULT prepare(iDVBFrontend &frontend, FRONTENDPARAMETERS &parm, const eDVBFrontendParametersSatellite &sat, int frontend_id); int canTune(const eDVBFrontendParametersSatellite &feparm, iDVBFrontend *, int frontend_id); bool currentLNBValid() { return m_lnbidx > -1 && m_lnbidx < (int)(sizeof(m_lnbs) / sizeof(eDVBSatelliteLNBParameters)); } #endif @@ -278,6 +288,7 @@ public: RESULT setRotorPosNum(int rotor_pos_num); /* Tuner Specific Parameters */ RESULT setTunerLinked(int from, int to); + RESULT setTunerDepends(int from, int to); void setRotorMoving(bool); // called from the frontend's bool isRotorMoving();