more python fixes
[enigma2.git] / lib / dvb / idvb.h
index da7ac3b5ca033ded6019feb0abfa0633ac1a7bbc..6bfbc2164aaa03d15373c54e5d5591ca05de813d 100644 (file)
@@ -1,6 +1,8 @@
 #ifndef __dvb_idvb_h
 #define __dvb_idvb_h
 
+#ifndef SWIG
+
 #if HAVE_DVB_API_VERSION < 3
 #include <ost/frontend.h>
 #define FRONTENDPARAMETERS FrontendParameters
@@ -299,29 +301,41 @@ public:
        virtual RESULT startQuery(ePtr<iDVBChannelListQuery> &query, eDVBChannelQuery *query, const eServiceReference &source)=0;
 };
 
+#endif  // SWIG
+
 class iDVBFrontendParameters: public iObject
 {
+#ifdef SWIG
+       iDVBFrontendParameters();
+       ~iDVBFrontendParameters();
+#endif
 public:
-       virtual RESULT getSystem(int &type) const = 0;
-       virtual RESULT getDVBS(eDVBFrontendParametersSatellite &p) const = 0;
-       virtual RESULT getDVBC(eDVBFrontendParametersCable &p) const = 0;
-       virtual RESULT getDVBT(eDVBFrontendParametersTerrestrial &p) const = 0;
+       virtual RESULT getSystem(int &SWIG_OUTPUT) const = 0;
+       virtual RESULT getDVBS(eDVBFrontendParametersSatellite &SWIG_OUTPUT) const = 0;
+       virtual RESULT getDVBC(eDVBFrontendParametersCable &SWIG_OUTPUT) const = 0;
+       virtual RESULT getDVBT(eDVBFrontendParametersTerrestrial &SWIG_OUTPUT) const = 0;
        
-       virtual RESULT calculateDifference(const iDVBFrontendParameters *parm, int &diff) const = 0;
-       virtual RESULT getHash(unsigned long &hash) const = 0;
+       virtual RESULT calculateDifference(const iDVBFrontendParameters *parm, int &SWIG_OUTPUT) const = 0;
+       virtual RESULT getHash(unsigned long &SWIG_OUTPUT) const = 0;
 };
 
 #define MAX_DISEQC_LENGTH  16
 
 class eDVBDiseqcCommand
 {
+#ifndef SWIG
 public:
+#endif
        int len;
        __u8 data[MAX_DISEQC_LENGTH];
 #if HAVE_DVB_API_VERSION < 3
        int tone;
        int voltage;
 #endif
+#ifdef SWIG
+public:
+#endif
+       void setCommandString(const char *str);
 };
 
 class iDVBSatelliteEquipmentControl;
@@ -335,7 +349,9 @@ public:
        };
        virtual RESULT getFrontendType(int &type)=0;
        virtual RESULT tune(const iDVBFrontendParameters &where)=0;
+#ifndef SWIG
        virtual RESULT connectStateChange(const Slot1<void,iDVBFrontend*> &stateChange, ePtr<eConnection> &connection)=0;
+#endif
        enum {
                stateIdle = 0,
                stateTuning = 1,
@@ -354,25 +370,30 @@ public:
        virtual RESULT setVoltage(int voltage)=0;
        virtual RESULT sendDiseqc(const eDVBDiseqcCommand &diseqc)=0;
        virtual RESULT sendToneburst(int burst)=0;
+#ifndef SWIG
        virtual RESULT setSEC(iDVBSatelliteEquipmentControl *sec)=0;
        virtual RESULT setSecSequence(const eSecCommandList &list)=0;
-
+#endif
        enum {
-               bitErrorRate, signalPower, signalQuality
+               bitErrorRate, signalPower, signalQuality, Locked, Synced
        };
        virtual int readFrontendData(int type)=0;
+       virtual PyObject *readTransponderData(bool original)=0;
 
+#ifndef SWIG
        virtual RESULT getData(int num, int &data)=0;
        virtual RESULT setData(int num, int val)=0;
-       
                /* 0 means: not compatible. other values are a priority. */
        virtual int isCompatibleWith(ePtr<iDVBFrontendParameters> &feparm)=0;
+#endif
 };
+TEMPLATE_TYPEDEF(ePtr<iDVBFrontend>, iDVBFrontendPtr);
 
+#ifndef SWIG
 class iDVBSatelliteEquipmentControl: public iObject
 {
 public:
-       virtual RESULT prepare(iDVBFrontend &frontend, FRONTENDPARAMETERS &parm, eDVBFrontendParametersSatellite &sat, int frontend_id)=0;
+       virtual RESULT prepare(iDVBFrontend &frontend, FRONTENDPARAMETERS &parm, const eDVBFrontendParametersSatellite &sat, int frontend_id)=0;
        virtual int canTune(const eDVBFrontendParametersSatellite &feparm, iDVBFrontend *fe, int frontend_id)=0;
        virtual void setRotorMoving(bool)=0;
 };
@@ -381,6 +402,7 @@ struct eDVBCIRouting
 {
        int enabled;
 };
+#endif // SWIG
 
 class iDVBChannel: public iObject
 {
@@ -395,15 +417,20 @@ public:
                state_last_instance, /* just one reference to this channel is left */
                state_release      /* channel is being shut down. */
        };
-       
+       virtual RESULT getState(int &state)=0;  
+
+               /* direct frontend access for raw channels and/or status inquiries. */
+       virtual RESULT getFrontend(ePtr<iDVBFrontend> &SWIG_OUTPUT)=0;
+
+#ifndef SWIG
+       virtual RESULT getCurrentFrontendParameters(ePtr<iDVBFrontendParameters> &)=0;
        enum 
        {
                evtEOF, evtSOF, evtFailed
        };
        virtual RESULT connectStateChange(const Slot1<void,iDVBChannel*> &stateChange, ePtr<eConnection> &connection)=0;
        virtual RESULT connectEvent(const Slot2<void,iDVBChannel*,int> &eventChange, ePtr<eConnection> &connection)=0;
-       virtual RESULT getState(int &state)=0;
-       
+
                /* demux capabilities */
        enum
        {
@@ -413,13 +440,14 @@ public:
        virtual RESULT setCIRouting(const eDVBCIRouting &routing)=0;
        virtual RESULT getDemux(ePtr<iDVBDemux> &demux, int cap=0)=0;
        
-               /* direct frontend access for raw channels and/or status inquiries. */
-       virtual RESULT getFrontend(ePtr<iDVBFrontend> &frontend)=0;
-       
                /* use count handling */
        virtual void AddUse() = 0;
        virtual void ReleaseUse() = 0;
+#endif
 };
+TEMPLATE_TYPEDEF(eUsePtr<iDVBChannel>, iDVBChannelPtr);
+
+#ifndef SWIG
 
        /* signed, so we can express deltas. */
        
@@ -556,4 +584,5 @@ public:
        virtual RESULT getPTS(int what, pts_t &pts) = 0;
 };
 
+#endif //SWIG
 #endif