summaryrefslogtreecommitdiff
path: root/src/port/hooks/impl/EventSystem.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/port/hooks/impl/EventSystem.h')
-rw-r--r--src/port/hooks/impl/EventSystem.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/port/hooks/impl/EventSystem.h b/src/port/hooks/impl/EventSystem.h
index 8bf65732..bd6a2569 100644
--- a/src/port/hooks/impl/EventSystem.h
+++ b/src/port/hooks/impl/EventSystem.h
@@ -49,6 +49,16 @@ typedef struct {
EventSystem_CallEvent(eventType##ID, &eventType##_); \
if (!eventType##_.event.cancelled)
+#define CHECK_IF_NOT_CANCELLED(eventType) \
+ if (!eventType##_.event.cancelled)
+
+#define CALL_CANCELLABLE_RETURN_EVENT(eventType, ...) \
+ eventType eventType##_ = { {false}, __VA_ARGS__ }; \
+ EventSystem_CallEvent(eventType##ID, &eventType##_); \
+ if (eventType##_.event.cancelled) { \
+ return; \
+ }
+
#define REGISTER_EVENT(eventType) \
eventType##ID = EventSystem_RegisterEvent();