load cutlist on initial create
[enigma2.git] / lib / dvb / dvb.h
index 3ad3cc1bf27584ef26d1d88b474d2a30c9a830e9..4ca986b18934fdb85d202ff00037d01f77712e99 100644 (file)
@@ -23,6 +23,7 @@ class eDVBRegisteredFrontend: public iObject, public Object
 {
        DECLARE_REF(eDVBRegisteredFrontend);
        eTimer *disable;
+       Signal0<void> stateChanged;
        void closeFrontend()
        {
                if (!m_inuse && m_frontend->closeFrontend()) // frontend busy
@@ -38,12 +39,18 @@ public:
        void dec_use()
        {
                if (!--m_inuse)
+               {
+                       /* emit */ stateChanged();
                        disable->start(3000, true);
+               }
        }
        void inc_use()
        {
                if (++m_inuse == 1)
+               {
                        m_frontend->openFrontend();
+                       /* emit */ stateChanged();
+               }
        }
        iDVBAdapter *m_adapter;
        ePtr<eDVBFrontend> m_frontend;
@@ -175,6 +182,7 @@ class eDVBResourceManager: public iObject, public Object
        eTimer m_releaseCachedChannelTimer;
        void DVBChannelStateChanged(iDVBChannel*);
        void releaseCachedChannel();
+       void feStateChanged();
 #ifndef SWIG
 public:
 #endif
@@ -199,8 +207,9 @@ public:
 #ifdef SWIG
 public:
 #endif
-       RESULT allocateRawChannel(eUsePtr<iDVBChannel> &SWIG_OUTPUT, int frontend_index);
-       static RESULT getInstance(ePtr<eDVBResourceManager> &SWIG_OUTPUT);
+       PSignal1<void,int> frontendUseMaskChanged;
+       RESULT allocateRawChannel(eUsePtr<iDVBChannel> &, int frontend_index);
+       static RESULT getInstance(ePtr<eDVBResourceManager> &);
 };
 TEMPLATE_TYPEDEF(ePtr<eDVBResourceManager>, eDVBResourceManagerPtr);
 #ifndef SWIG