35 lines
		
	
	
		
			785 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			785 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #include <stdint.h>
 | |
| #include <stdbool.h>
 | |
| #include "ireactive.h"
 | |
| 
 | |
| #ifndef EVENT_ONCE
 | |
| #define EVENT_ONCE
 | |
| 
 | |
| typedef uint8_t evIDT;
 | |
| #define NULLEVENT 0         // no event
 | |
| 
 | |
| struct Event_
 | |
| {
 | |
|     evIDT id;
 | |
|     processEventT processEvent;
 | |
|     void* target;
 | |
|     uint16_t delay;
 | |
|     int64_t data;
 | |
| };
 | |
| 
 | |
| typedef struct Event_ Event;
 | |
| 
 | |
| //public methods
 | |
| void Event_init(Event* me);
 | |
| void Event_setTarget(Event* me, void* target);
 | |
| void Event_setPE(Event* me, processEventT processEvent);
 | |
| void* Event_getTarget(Event* me);
 | |
| processEventT Event_getPE(Event* me);
 | |
| void Event_setId(Event* me, evIDT eventID);
 | |
| evIDT Event_getId(Event* me);
 | |
| void Event_setDelay(Event* me, uint16_t delay);
 | |
| uint16_t Event_getDelay(Event* me);
 | |
| void Event_setData(Event* me, int64_t data);
 | |
| int64_t Event_getData(Event* me);
 | |
| 
 | |
| #endif |