feat: changed handle message signature to (T*, MessageID, uintptr_t)

This commit is contained in:
Sara 2023-11-29 14:18:51 +01:00
parent af6c8d33ea
commit 29a40ce082
7 changed files with 15 additions and 13 deletions

View file

@ -1,7 +1,7 @@
#include "message_receiver.h"
#include "stddef.h"
void* message_receiver_refuse(void* self, MessageID id, void* data) {
void* message_receiver_refuse(void* self, MessageID id, uintptr_t data) {
return NULL;
}

View file

@ -7,7 +7,7 @@
typedef uint32_t MessageID;
typedef struct IMessageReceiver {
void* (*const handle_message)(void*, MessageID, void*);
void* (*const handle_message)(void*, MessageID, uintptr_t);
} IMessageReceiver;
typedef struct MessageReceiver {
@ -15,7 +15,7 @@ typedef struct MessageReceiver {
IMessageReceiver const* tc;
} MessageReceiver;
extern void* message_receiver_refuse(void* self, MessageID id, void* data);
extern void* message_receiver_refuse(void* self, MessageID id, uintptr_t);
extern MessageReceiver message_receiver_no_implementation(void* x);
@ -26,9 +26,9 @@ static inline MessageReceiver T##_as_MessageReceiver(T* x) {\
#define impl_MessageReceiver_for(T, handle_message_f)\
static inline MessageReceiver T##_as_MessageReceiver(T* x) {\
TC_FN_TYPECHECK(void*, handle_message_f, T*, MessageID, void*);\
TC_FN_TYPECHECK(void*, handle_message_f, T*, MessageID, uintptr_t);\
static IMessageReceiver const tc = {\
.handle_message = (void*(*const)(void*,MessageID,void*)) handle_message_f,\
.handle_message = (void*(*const)(void*,MessageID,uintptr_t)) handle_message_f,\
};\
return (MessageReceiver){.data = x, .tc = &tc};\
}