From 965148b43b5b859934b7af2e8447ba1026a43a19 Mon Sep 17 00:00:00 2001 From: Pixel Date: Mon, 10 Oct 2011 19:36:55 -0700 Subject: Adding the basic "Handle" structure, and adding an early version of Input. Renamed suspend() to yield(). Fixed a couple of bugs, and reorganized slightly some code. --- includes/Task.h | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'includes/Task.h') diff --git a/includes/Task.h b/includes/Task.h index f0c1bbb..8a504c7 100644 --- a/includes/Task.h +++ b/includes/Task.h @@ -44,6 +44,15 @@ class TaskEvent : public BaseEvent { Task * m_taskWaited; }; +class Custom : public BaseEvent { + public: + void doSignal() { BaseEvent::doSignal(); ev_break(m_loop, EVBREAK_ALL); } + protected: + virtual void gotOwner(Task * task); + private: + struct ev_loop * m_loop; +}; + }; class Task { @@ -60,9 +69,10 @@ class Task { virtual const char * getName() = 0; Status getStatus() { return m_status; } static Task * getCurrentTask(); + static void yield(Events::BaseEvent * evt) { Task * t = getCurrentTask(); t->waitFor(evt); t->yield(); } TaskMan * getTaskMan() { return m_taskMan; } protected: - void suspend(); + void yield(); virtual void Do() = 0; void waitFor(Events::BaseEvent * event); private: -- cgit v1.2.3