aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb/dvb.h
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2008-10-29 22:44:53 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2008-10-29 22:44:53 +0000
commit0c59a4279f93f08fe95fca5f2e55f3e025f0cceb (patch)
tree71e8c11f2a5487afe84d637d388d3cb060bc9ad5 /lib/dvb/dvb.h
parent4edb65fafb64b52007598e05a1e5b16b75ea752c (diff)
downloadenigma2-0c59a4279f93f08fe95fca5f2e55f3e025f0cceb.tar.gz
enigma2-0c59a4279f93f08fe95fca5f2e55f3e025f0cceb.zip
also use refcounting for eTimers
its now no more possible directly to call new eTimer .. or to embedded eTimer. to create a eTimer now eTimer::create must be used... to delete you must call ->AddRef() after timer creation and ->Release when the timer is no more needed. Or use ePtr<eTimer> to store the timer reference.. then its enough to set the ePtr<eTimer> object to 0 when the timer is no more needed
Diffstat (limited to 'lib/dvb/dvb.h')
-rw-r--r--lib/dvb/dvb.h10
1 files changed, 3 insertions, 7 deletions
diff --git a/lib/dvb/dvb.h b/lib/dvb/dvb.h
index bceb9ad0..1a773efa 100644
--- a/lib/dvb/dvb.h
+++ b/lib/dvb/dvb.h
@@ -22,7 +22,7 @@ class iDVBAdapter;
class eDVBRegisteredFrontend: public iObject, public Object
{
DECLARE_REF(eDVBRegisteredFrontend);
- eTimer *disable;
+ ePtr<eTimer> disable;
void closeFrontend()
{
if (!m_inuse && m_frontend->closeFrontend()) // frontend busy
@@ -31,14 +31,10 @@ class eDVBRegisteredFrontend: public iObject, public Object
public:
Signal0<void> stateChanged;
eDVBRegisteredFrontend(eDVBFrontend *fe, iDVBAdapter *adap)
- :disable(new eTimer(eApp)), m_adapter(adap), m_frontend(fe), m_inuse(0)
+ :disable(eTimer::create(eApp)), m_adapter(adap), m_frontend(fe), m_inuse(0)
{
CONNECT(disable->timeout, eDVBRegisteredFrontend::closeFrontend);
}
- ~eDVBRegisteredFrontend()
- {
- delete disable;
- }
void dec_use()
{
if (!--m_inuse)
@@ -164,7 +160,7 @@ class eDVBResourceManager: public iObject, public Object
eUsePtr<iDVBChannel> m_cached_channel;
Connection m_cached_channel_state_changed_conn;
- eTimer m_releaseCachedChannelTimer;
+ ePtr<eTimer> m_releaseCachedChannelTimer;
void DVBChannelStateChanged(iDVBChannel*);
void feStateChanged();
#ifndef SWIG