From 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d Mon Sep 17 00:00:00 2001 From: Jef Date: Tue, 24 Sep 2024 14:54:57 +0200 Subject: Initial community commit --- Src/Wasabi/api/syscb/callbacks/gccb.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 Src/Wasabi/api/syscb/callbacks/gccb.h (limited to 'Src/Wasabi/api/syscb/callbacks/gccb.h') diff --git a/Src/Wasabi/api/syscb/callbacks/gccb.h b/Src/Wasabi/api/syscb/callbacks/gccb.h new file mode 100644 index 00000000..1e408792 --- /dev/null +++ b/Src/Wasabi/api/syscb/callbacks/gccb.h @@ -0,0 +1,31 @@ +#ifndef _GCCB_H +#define _GCCB_H + +#include "syscbi.h" + +namespace GarbageCollectCallback { + enum { + GARBAGECOLLECT=1, + }; +}; + +#define GARBAGECOLLECTCALLBACK_PARENT SysCallbackI +class GarbageCollectCallbackI : public GARBAGECOLLECTCALLBACK_PARENT { +protected: + GarbageCollectCallbackI() {} + +public: + virtual int gccb_onGarbageCollect() { return 0; } + +private: + virtual FOURCC syscb_getEventType() { return SysCallback::GC; } + virtual int syscb_notify(int msg, intptr_t param1=0, intptr_t param2=0) { + switch (msg) { + case GarbageCollectCallback::GARBAGECOLLECT: + return gccb_onGarbageCollect(); + } + return 0; + } +}; + +#endif -- cgit