X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fbase%2Febase.h;h=75b582056622d55d9182dc106ab5f7fe4d3577d0;hp=32a22dbe73bc61a345aed616e33a8f495a9dbca2;hb=ed40f6f85c9c07c3c1224ae20601082c0309a631;hpb=c606126c3efaec7e3fdf1283fc37dfb7140bee13 diff --git a/lib/base/ebase.h b/lib/base/ebase.h index 32a22db..75b5820 100644 --- a/lib/base/ebase.h +++ b/lib/base/ebase.h @@ -1,6 +1,7 @@ #ifndef __ebase_h #define __ebase_h +#ifndef SWIG #include #include #include @@ -9,8 +10,10 @@ #include #include -#include #include +#endif + +#include class eApplication; @@ -175,11 +178,11 @@ class eMainloop { friend class eTimer; friend class eSocketNotifier; - std::multimap notifiers; + std::map notifiers, new_notifiers; ePtrList m_timer_list; bool app_quit_now; int loop_level; - int processOneEvent(unsigned int user_timeout, PyObject **res=0, PyObject *additional=0); + int processOneEvent(unsigned int user_timeout, PyObject **res=0, ePyObject additional=ePyObject()); int retval; pthread_mutex_t recalcLock; @@ -219,14 +222,14 @@ public: 1 - timeout 2 - signal */ - int iterate(unsigned int timeout=0, PyObject **res=0, PyObject *additional=0); - + int iterate(unsigned int timeout=0, PyObject **res=0, SWIG_PYOBJECT(ePyObject) additional=(PyObject*)0); + /* run will iterate endlessly until the app is quit, and return the exit code */ int runLoop(); /* our new shared polling interface. */ - PyObject *poll(PyObject *dict, PyObject *timeout); + PyObject *poll(SWIG_PYOBJECT(ePyObject) dict, SWIG_PYOBJECT(ePyObject) timeout); void interruptPoll(); void reset(); };