Merge branch 'bug_461_play_another_timeshift_file_after_eof' into experimental
[enigma2.git] / lib / dvb / frontend.h
index 06ed12cc26718375f5405fc39ef86c5369cfe890..4cf050813cf27083b82fd4a916c961ee121b1d76 100644 (file)
@@ -20,22 +20,22 @@ public:
        {
        }
 
-       RESULT getSystem(int &type) const;
-       RESULT getDVBS(eDVBFrontendParametersSatellite &) const;
-       RESULT getDVBC(eDVBFrontendParametersCable &) const;
-       RESULT getDVBT(eDVBFrontendParametersTerrestrial &) const;
+       SWIG_VOID(RESULT) getSystem(int &SWIG_OUTPUT) const;
+       SWIG_VOID(RESULT) getDVBS(eDVBFrontendParametersSatellite &SWIG_OUTPUT) const;
+       SWIG_VOID(RESULT) getDVBC(eDVBFrontendParametersCable &SWIG_OUTPUT) const;
+       SWIG_VOID(RESULT) getDVBT(eDVBFrontendParametersTerrestrial &SWIG_OUTPUT) const;
 
        RESULT setDVBS(const eDVBFrontendParametersSatellite &p, bool no_rotor_command_on_tune=false);
        RESULT setDVBC(const eDVBFrontendParametersCable &p);
        RESULT setDVBT(const eDVBFrontendParametersTerrestrial &p);
-
+       SWIG_VOID(RESULT) getFlags(unsigned int &SWIG_NAMED_OUTPUT(flags)) const { flags = m_flags; return 0; }
+       RESULT setFlags(unsigned int flags) { m_flags = flags; return 0; }
+#ifndef SWIG
        RESULT calculateDifference(const iDVBFrontendParameters *parm, int &, bool exact) const;
 
        RESULT getHash(unsigned long &) const;
        RESULT calcLockTimeout(unsigned int &) const;
-
-       RESULT getFlags(unsigned int &flags) const { flags = m_flags; return 0; }
-       RESULT setFlags(unsigned int flags) { m_flags = flags; return 0; }
+#endif
 };
 
 #ifndef SWIG
@@ -63,6 +63,7 @@ public:
                FREQ_OFFSET,          // current frequency offset
                CUR_VOLTAGE,          // current voltage
                CUR_TONE,             // current continuous tone
+               SATCR,                // current SatCR
                NUM_DATA_ENTRIES
        };
        Signal1<void,iDVBFrontend*> m_stateChanged;
@@ -74,6 +75,7 @@ private:
        int m_dvbid;
        int m_slotid;
        int m_fd;
+       bool m_rotor_mode;
        bool m_need_rotor_workaround;
        bool m_can_handle_dvbs2;
        char m_filename[128];
@@ -83,6 +85,12 @@ private:
        char m_sec_filename[128];
 #endif
        FRONTENDPARAMETERS parm;
+       union {
+               eDVBFrontendParametersSatellite sat;
+               eDVBFrontendParametersCable cab;
+               eDVBFrontendParametersTerrestrial ter;
+       } oparm;
+
        int m_state;
        ePtr<iDVBSatelliteEquipmentControl> m_sec;
        ePtr<eSocketNotifier> m_sn;
@@ -102,7 +110,7 @@ private:
        void feEvent(int);
        void timeout();
        void tuneLoop();  // called by m_tuneTimer
-       void setFrontend();
+       void setFrontend(bool recvEvents=true);
        bool setSecSequencePos(int steps);
        static int PriorityOrder;
 public:
@@ -142,6 +150,9 @@ public:
        int closeFrontend(bool force=false);
        const char *getDescription() const { return m_description; }
        bool is_simulate() const { return m_simulate; }
+
+       RESULT turnOffSatCR(int satcr);
+       RESULT ScanSatCR();
 };
 
 #endif // SWIG