remove unneeded signals ( eDVBChannel::m_stateChanged give us the same informations )
[enigma2.git] / lib / dvb / dvb.h
index 34c554926ddd184f49ae2de2fe14e707f14b4dcd..d0deb2fc2a2f76c726f8dea4efe1fa78e0ece63f 100644 (file)
@@ -156,8 +156,8 @@ public:
        };
        
                /* allocate channel... */
        };
        
                /* allocate channel... */
-       RESULT allocateChannel(const eDVBChannelID &channelid, ePtr<iDVBChannel> &channel);
-       RESULT allocateRawChannel(ePtr<iDVBChannel> &channel);
+       RESULT allocateChannel(const eDVBChannelID &channelid, eUsePtr<iDVBChannel> &channel);
+       RESULT allocateRawChannel(eUsePtr<iDVBChannel> &channel);
        RESULT allocatePVRChannel(int caps);
 
        RESULT connectChannelAdded(const Slot1<void,eDVBChannel*> &channelAdded, ePtr<eConnection> &connection);
        RESULT allocatePVRChannel(int caps);
 
        RESULT connectChannelAdded(const Slot1<void,eDVBChannel*> &channelAdded, ePtr<eConnection> &connection);
@@ -182,6 +182,12 @@ private:
        
        void frontendStateChanged(iDVBFrontend*fe);
        ePtr<eConnection> m_conn_frontendStateChanged;
        
        void frontendStateChanged(iDVBFrontend*fe);
        ePtr<eConnection> m_conn_frontendStateChanged;
+
+       friend class eUsePtr<eDVBChannel>;
+               /* use count */
+       oRefCount m_use_count;
+       void AddUse();
+       void ReleaseUse();
 public:
        eDVBChannel(eDVBResourceManager *mgr, eDVBAllocatedFrontend *frontend, eDVBAllocatedDemux *demux);
        virtual ~eDVBChannel();
 public:
        eDVBChannel(eDVBResourceManager *mgr, eDVBAllocatedFrontend *frontend, eDVBAllocatedDemux *demux);
        virtual ~eDVBChannel();