X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fdvb%2Fsec.h;h=d176498332cd8446c41c88c517b50cc0523c5b29;hb=0fee8bdaa26f854460b63475c91f1f2cf762594b;hp=c50aee4d381c28dcb9712cb064efda508790e97b;hpb=f3a30a79a5dda5f33a9241de575bbf9fa66b4170;p=vuplus_dvbapp diff --git a/lib/dvb/sec.h b/lib/dvb/sec.h index c50aee4..d176498 100644 --- a/lib/dvb/sec.h +++ b/lib/dvb/sec.h @@ -4,6 +4,8 @@ #include #include +#include + #ifndef SWIG class eSecCommand { @@ -25,7 +27,8 @@ public: IF_TONE_GOTO, IF_NOT_TONE_GOTO, START_TUNE_TIMEOUT, SET_ROTOR_MOVING, - SET_ROTOR_STOPPED + SET_ROTOR_STOPPED, + DELAYED_CLOSE_FRONTEND }; int cmd; struct rotor @@ -103,6 +106,10 @@ public: { secSequence.push_back(cmd); } + void push_back(eSecCommandList &list) + { + secSequence.insert(end(), list.begin(), list.end()); + } void clear() { secSequence.clear(); @@ -128,6 +135,12 @@ public: { return secSequence.size(); } + eSecCommandList &operator=(const eSecCommandList &lst) + { + secSequence = lst.secSequence; + cur = begin(); + return *this; + } }; #endif @@ -249,10 +262,12 @@ public: #define guard_offset_min -8000 #define guard_offset_max 8000 #define guard_offset_step 8000 -#define MAX_SATCR 8 -#define MAX_LNBNUM 32 +#define MAX_SATCR 32 +#define MAX_LNBNUM 64 + int SatCR_positions; int SatCR_idx; + int SatCR_format; unsigned int SatCRvco; unsigned int UnicableTuningWord; unsigned int UnicableConfigWord; @@ -311,6 +326,7 @@ public: #ifndef SWIG eDVBSatelliteEquipmentControl(eSmartPtrList &avail_frontends, eSmartPtrList &avail_simulate_frontends); RESULT prepare(iDVBFrontend &frontend, FRONTENDPARAMETERS &parm, const eDVBFrontendParametersSatellite &sat, int frontend_id, unsigned int tunetimeout); + void prepareTurnOffSatCR(iDVBFrontend &frontend); // used for unicable int canTune(const eDVBFrontendParametersSatellite &feparm, iDVBFrontend *, int frontend_id, int *highest_score_lnb=0); bool currentLNBValid() { return m_lnbidx > -1 && m_lnbidx < (int)(sizeof(m_lnbs) / sizeof(eDVBSatelliteLNBParameters)); } #endif @@ -344,11 +360,14 @@ public: RESULT setInputpowerDelta(int delta); // delta between running and stopped rotor RESULT setRotorTurningSpeed(int speed); // set turning speed.. /* Unicable Specific Parameters */ + RESULT setLNBSatCRformat(int SatCR_format); //DiSEqc or JESS (or ...) RESULT setLNBSatCR(int SatCR_idx); RESULT setLNBSatCRvco(int SatCRvco); -// RESULT checkGuardOffset(const eDVBFrontendParametersSatellite &sat); + RESULT setLNBSatCRpositions(int SatCR_positions); + RESULT getLNBSatCRformat(); //DiSEqc or JESS (or ...) RESULT getLNBSatCR(); RESULT getLNBSatCRvco(); + RESULT getLNBSatCRpositions(); /* Satellite Specific Parameters */ RESULT addSatellite(int orbital_position); RESULT setVoltageMode(int mode); @@ -362,6 +381,8 @@ public: void setRotorMoving(int, bool); // called from the frontend's bool isRotorMoving(); bool canMeasureInputPower() { return m_canMeasureInputPower; } + + friend class eFBCTunerManager; }; #endif