existing_loops.push_back(this);
pthread_mutex_init(&recalcLock, 0);
}
- ~eMainloop()
+ virtual ~eMainloop()
{
existing_loops.remove(this);
pthread_mutex_destroy(&recalcLock);
+ for (std::map<int, eSocketNotifier*>::iterator it(notifiers.begin());it != notifiers.end();++it)
+ it->second->stop();
}
+
int looplevel() { return loop_level; }
#ifndef SWIG
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();
class eMain: public eApplication, public Object
{
eInit init;
-
- ePtr<eDVBResourceManager> m_mgr;
+
ePtr<eDVBDB> m_dvbdb;
+ ePtr<eDVBResourceManager> m_mgr;
ePtr<eDVBLocalTimeHandler> m_locale_time_handler;
- ePtr<eComponentScan> m_scan;
ePtr<eEPGCache> m_epgcache;
public:
eMain()
{
init.setRunlevel(eAutoInitNumbers::main);
-
- /* TODO: put into init */
+ /* TODO: put into init */
m_dvbdb = new eDVBDB();
m_mgr = new eDVBResourceManager();
m_locale_time_handler = new eDVBLocalTimeHandler();
~eMain()
{
m_dvbdb->saveServicelist();
- m_scan = 0;
+ m_mgr->releaseCachedChannel();
}
};
ePython python;
eMain main;
-
+
#if 1
#ifdef SDLDC
ePtr<gSDLDC> my_dc;