update unicable stuff (by adenin)
[vuplus_dvbapp] / lib / dvb / sec.h
index 5d96932..b38671d 100644 (file)
@@ -25,7 +25,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 +104,11 @@ public:
        {
                secSequence.push_back(cmd);
        }
+       void push_back(eSecCommandList &list)
+       {
+               ASSERT(*this != list);
+               secSequence.splice(end(), list.secSequence);
+       }
        void clear()
        {
                secSequence.clear();
@@ -252,6 +258,7 @@ public:
 #define MAX_SATCR 8
 #define MAX_LNBNUM 32
 
+       int SatCR_positions;
        int SatCR_idx;
        unsigned int SatCRvco;
        unsigned int UnicableTuningWord;
@@ -298,7 +305,7 @@ private:
        int m_lnbidx; // current index for set parameters
        std::map<int, eDVBSatelliteSwitchParameters>::iterator m_curSat;
        eSmartPtrList<eDVBRegisteredFrontend> &m_avail_frontends, &m_avail_simulate_frontends;
-       bool m_rotorMoving;
+       int m_rotorMoving;
        int m_not_linked_slot_mask;
        bool m_canMeasureInputPower;
 #endif
@@ -311,6 +318,7 @@ public:
 #ifndef SWIG
        eDVBSatelliteEquipmentControl(eSmartPtrList<eDVBRegisteredFrontend> &avail_frontends, eSmartPtrList<eDVBRegisteredFrontend> &avail_simulate_frontends);
        RESULT prepare(iDVBFrontend &frontend, FRONTENDPARAMETERS &parm, const eDVBFrontendParametersSatellite &sat, int frontend_id, unsigned int tunetimeout);
+       void prepareTurnOffSatCR(iDVBFrontend &frontend, int satcr); // 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
@@ -346,9 +354,10 @@ public:
 /* Unicable Specific Parameters */
        RESULT setLNBSatCR(int SatCR_idx);
        RESULT setLNBSatCRvco(int SatCRvco);
-//     RESULT checkGuardOffset(const eDVBFrontendParametersSatellite &sat);
+       RESULT setLNBSatCRpositions(int SatCR_positions);
        RESULT getLNBSatCR();
        RESULT getLNBSatCRvco();
+       RESULT getLNBSatCRpositions();
 /* Satellite Specific Parameters */
        RESULT addSatellite(int orbital_position);
        RESULT setVoltageMode(int mode);
@@ -359,7 +368,7 @@ public:
        RESULT setTunerDepends(int from, int to);
        void setSlotNotLinked(int tuner_no);
 
-       void setRotorMoving(bool); // called from the frontend's
+       void setRotorMoving(int, bool); // called from the frontend's
        bool isRotorMoving();
        bool canMeasureInputPower() { return m_canMeasureInputPower; }
 };