+/************************************************/
+#include <unistd.h>
+#include <lib/components/scan.h>
+#include <lib/dvb/idvb.h>
+#include <lib/dvb/dvb.h>
+#include <lib/dvb/db.h>
+#include <lib/dvb/dvbtime.h>
+#include <lib/dvb/epgcache.h>
+
+class eMain: public eApplication, public Object
+{
+ eInit init;
+
+ ePtr<eDVBResourceManager> m_mgr;
+ ePtr<eDVBDB> m_dvbdb;
+ ePtr<eDVBLocalTimeHandler> m_locale_time_handler;
+ ePtr<eComponentScan> m_scan;
+ ePtr<eEPGCache> m_epgcache;
+
+public:
+ eMain()
+ {
+ init.setRunlevel(eAutoInitNumbers::main);
+
+ /* TODO: put into init */
+ m_dvbdb = new eDVBDB();
+ m_mgr = new eDVBResourceManager();
+ m_locale_time_handler = new eDVBLocalTimeHandler();
+ m_epgcache = new eEPGCache();
+ m_mgr->setChannelList(m_dvbdb);
+ }
+
+ ~eMain()
+ {
+ m_dvbdb->saveServicelist();
+ m_scan = 0;
+ }
+};
+
+/************************************************/
+
+eLabel *lcd_label, *lcd_clock;
+
+int exit_code;
+