From 9754372d5e4125bf5850d9cd3ae93d529efdef8d Mon Sep 17 00:00:00 2001 From: "Nicolas \"Pixel\" Noble" Date: Sat, 21 Dec 2013 18:32:27 -0800 Subject: Preliminary WebSocket protocol support. --- includes/Task.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'includes/Task.h') diff --git a/includes/Task.h b/includes/Task.h index 1041d08..7521b9f 100644 --- a/includes/Task.h +++ b/includes/Task.h @@ -50,6 +50,10 @@ class BaseEvent { virtual ~BaseEvent() { if (m_cb) delete m_cb; } bool gotSignal() { return m_signal; } void doSignal(); + void resetMaybe() { + if (m_task) + reset(); + } void reset() { // could be potentially changed into a simple return AAssert(m_task != NULL, "Can't reset an event that doesn't have a task"); @@ -60,12 +64,13 @@ class BaseEvent { void registerOwner(Task * task) { if (m_task == task) return; - AAssert(m_task == NULL, "Can't register an event for another task"); + AAssert(m_task == NULL || relaxed(), "Can't register an event for another task"); m_task = task; gotOwner(task); } protected: virtual void gotOwner(Task * task) { } + virtual bool relaxed() { return false; } private: Callback * m_cb = NULL; bool m_signal = false; -- cgit v1.2.3