pass more information about why a channel alloc fails, and display proper error messa...
[enigma2.git] / lib / dvb / dvb.h
index 38d18f782c5afba91fdb460a8d3722a8baa21c32..c71a4d1b9a399f9f1d505bc9d7a86a7e0b2b66d1 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)
@@ -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();
 
@@ -193,9 +196,13 @@ public:
        RESULT getChannelList(ePtr<iDVBChannelList> &list);
        
        enum {
-               errNoFrontend = -1,
+                       /* errNoFrontend = -1 replaced by more spcific messages */
                errNoDemux    = -2,
-               errChidNotFound = -3
+               errChidNotFound = -3,
+               errNoChannelList = -4,
+               errChannelNotInList = -5,
+               errAllSourcesBusy = -6,
+               errNoSourceFound = -7,
        };
        
        RESULT connectChannelAdded(const Slot1<void,eDVBChannel*> &channelAdded, ePtr<eConnection> &connection);