+ 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);
+ }
+ void dec_use()
+ {
+ if (!--m_inuse)
+ {
+ /* emit */ stateChanged();
+ disable->start(3000, true);
+ }
+ }
+ void inc_use()
+ {
+ if (++m_inuse == 1)
+ {
+ m_frontend->openFrontend();
+ /* emit */ stateChanged();
+ }
+ }