- add positioner plugin (just basic gui atm)
[enigma2.git] / lib / dvb / sec.h
index 0720beeb07e0169077c0362930692f6217f0d0a7..ac18f3c66116d7cd8ce04456389a29778725f836 100644 (file)
@@ -1,7 +1,6 @@
 #ifndef __dvb_sec_h
 #define __dvb_sec_h
 
-#include <config.h>
 #include <lib/dvb/idvb.h>
 #include <list>
 
@@ -13,11 +12,14 @@ 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
        };
        int cmd;
        struct rotor
@@ -68,8 +70,12 @@ public:
 
 class eSecCommandList
 {
-       std::list<eSecCommand> secSequence;
-       std::list<eSecCommand>::iterator cur;
+       typedef std::list<eSecCommand> List;
+       List secSequence;
+public:
+       typedef List::iterator iterator;
+private:
+       iterator cur;
 public:
        eSecCommandList()
                :cur(secSequence.end())
@@ -88,15 +94,15 @@ public:
                secSequence.clear();
                cur=secSequence.end();
        }
-       inline std::list<eSecCommand>::iterator &current()
+       inline iterator &current()
        {
                return cur;
        }
-       inline std::list<eSecCommand>::iterator begin()
+       inline iterator begin()
        {
                return secSequence.begin();
        }
-       inline std::list<eSecCommand>::iterator end()
+       inline iterator end()
        {
                return secSequence.end();
        }
@@ -238,6 +244,8 @@ 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<eDVBRegisteredFrontend> &avail_frontends);
@@ -278,6 +286,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();