diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2008-10-29 22:44:53 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2008-10-29 22:44:53 +0000 |
| commit | 0c59a4279f93f08fe95fca5f2e55f3e025f0cceb (patch) | |
| tree | 71e8c11f2a5487afe84d637d388d3cb060bc9ad5 /lib/dvb/dvb.h | |
| parent | 4edb65fafb64b52007598e05a1e5b16b75ea752c (diff) | |
| download | enigma2-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.h | 10 |
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 |
