ePtrList<eTimer> m_timer_list;
bool app_quit_now;
int loop_level;
- int processOneEvent(unsigned int user_timeout);
+ int processOneEvent(unsigned int user_timeout, PyObject **res=0, PyObject *additional=0);
int retval;
pthread_mutex_t recalcLock;
int m_now_is_invalid;
+ int m_interrupt_requested;
#endif
public:
static void addTimeOffset(int offset);
#endif
eMainloop()
- :app_quit_now(0),loop_level(0),retval(0)
+ :app_quit_now(0),loop_level(0),retval(0), m_interrupt_requested(0)
{
m_now_is_invalid = 0;
existing_loops.push_back(this);
1 - timeout
2 - signal
*/
- int iterate(unsigned int timeout=0);
+ int iterate(unsigned int timeout=0, PyObject **res=0, PyObject *additional=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);
+ void interruptPoll();
};
/**