diff options
Diffstat (limited to 'Src/Wasabi/api/syscb/callbacks/gccb.h')
-rw-r--r-- | Src/Wasabi/api/syscb/callbacks/gccb.h | 31 |
1 files changed, 31 insertions, 0 deletions
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 |