+eWidgetDesktop *wdsk;
+
+// typedef struct _object PyObject;
+
+void print(int i)
+{
+ printf("C++ says: it's a %d!!!\n", i);
+}
+
+PSignal1<void,int> keyPressed;
+
+PSignal1<void,int> &keyPressedSignal()
+{
+ return keyPressed;
+}
+
+void keyEvent(const eRCKey &key)
+{
+ ePtr<eActionMap> ptr;
+ eActionMap::getInstance(ptr);
+ ptr->keyPressed(0, key.code, key.flags);
+// if (!key.flags)
+// keyPressed(key.code);
+}
+
+/************************************************/
+#include <unistd.h>
+#include <lib/components/scan.h>
+#include <lib/dvb/idvb.h>
+#include <lib/dvb/dvb.h>
+#include <lib/dvb/db.h>
+
+class eMain: public eApplication, public Object
+{
+ eInit init;
+
+ ePtr<eDVBResourceManager> m_mgr;
+ ePtr<eDVBDB> m_dvbdb;
+
+ ePtr<eComponentScan> m_scan;
+
+public:
+ eMain()
+ {
+ init.setRunlevel(eAutoInitNumbers::main);
+
+ /* TODO: put into init */
+ m_dvbdb = new eDVBDB();
+ m_mgr = new eDVBResourceManager();
+
+ m_mgr->setChannelList(m_dvbdb);
+
+// m_scan = new eComponentScan();
+// m_scan->start();
+
+ }
+
+ ~eMain()
+ {
+ m_scan = 0;
+ }
+};
+
+/************************************************/
+
+
+int main(int argc, char **argv)