revert re-mmap (it's not necessary with new driver, and is a bad idea anyway if a...
[enigma2.git] / lib / dvb / dvb.h
index fde9f741436fbea995547248daea6c221d19438b..e09f0faec16d55f3427cc1c8a329090aface4145 100644 (file)
@@ -33,9 +33,12 @@ public:
        eDVBRegisteredFrontend(eDVBFrontend *fe, iDVBAdapter *adap)
                :disable(new eTimer(eApp)), m_adapter(adap), m_frontend(fe), m_inuse(0)
        {
-               disable = new eTimer(eApp);
                CONNECT(disable->timeout, eDVBRegisteredFrontend::closeFrontend);
        }
+       ~eDVBRegisteredFrontend()
+       {
+               delete disable;
+       }
        void dec_use()
        {
                if (!--m_inuse)
@@ -149,7 +152,7 @@ class eDVBResourceManager: public iObject, public Object
                           combinations. this will be evaluated here. */
                           
        RESULT allocateFrontend(ePtr<eDVBAllocatedFrontend> &fe, ePtr<iDVBFrontendParameters> &feparm);
-       RESULT allocateFrontendByIndex(ePtr<eDVBAllocatedFrontend> &fe, int index);
+       RESULT allocateFrontendByIndex(ePtr<eDVBAllocatedFrontend> &fe, int slot_index);
        
                        /* allocate a demux able to filter on the selected frontend. */
        RESULT allocateDemux(eDVBRegisteredFrontend *fe, ePtr<eDVBAllocatedDemux> &demux, int cap);
@@ -181,11 +184,11 @@ class eDVBResourceManager: public iObject, public Object
        Connection m_cached_channel_state_changed_conn;
        eTimer m_releaseCachedChannelTimer;
        void DVBChannelStateChanged(iDVBChannel*);
-       void releaseCachedChannel();
        void feStateChanged();
 #ifndef SWIG
 public:
 #endif
+       void releaseCachedChannel();
        eDVBResourceManager();
        virtual ~eDVBResourceManager();
 
@@ -209,9 +212,10 @@ public:
 public:
 #endif
        PSignal1<void,int> frontendUseMaskChanged;
-       SWIG_VOID(RESULT) allocateRawChannel(eUsePtr<iDVBChannel> &SWIG_OUTPUT, int frontend_index);
+       SWIG_VOID(RESULT) allocateRawChannel(eUsePtr<iDVBChannel> &SWIG_OUTPUT, int slot_index);
+       PyObject *setFrontendSlotInformations(SWIG_PYOBJECT(ePyObject) list);
 };
-SWIG_TEMPLATE_TYPEDEF_REPLACE(ePtr<eDVBResourceManager>, eDVBResourceManager);
+SWIG_TEMPLATE_TYPEDEF(ePtr<eDVBResourceManager>, eDVBResourceManager);
 SWIG_EXTEND(ePtr<eDVBResourceManager>,
        static ePtr<eDVBResourceManager> getInstance()
        {
@@ -221,6 +225,9 @@ SWIG_EXTEND(ePtr<eDVBResourceManager>,
 );
 
 #ifndef SWIG
+
+class eDVBChannelFilePush;
+
        /* iDVBPVRChannel includes iDVBChannel. don't panic. */
 class eDVBChannel: public iDVBPVRChannel, public iFilePushScatterGather, public Object
 {
@@ -272,7 +279,7 @@ private:
        ePtr<eConnection> m_conn_frontendStateChanged;
        
                /* for PVR playback */
-       eFilePushThread *m_pvr_thread;
+       eDVBChannelFilePush *m_pvr_thread;
        void pvrEvent(int event);
        
        int m_pvr_fd_dst;