Newer
Older
Import / research / embedded / src / library / event.h
@John John on 29 Dec 2020 674 bytes bulk import from macbookpro checkouts
/*
Copyright (c) 2007-2013, John Ryland
*/
#ifndef __EVENT_H__
#define __EVENT_H__

typedef struct {
    const char *desc;
    int 		code;
    int 		pressed;
} KeyEvent;

typedef struct {
    int   id;
    void *data;
    int   padding;
} TimerEvent;

typedef enum {
    TimerEventType,
    KeyEventType
} EventType;

typedef struct {
    EventType type;
    union {
		KeyEvent keyEvent;
		TimerEvent timerEvent;
    } event;
} Event;

extern int timerQueue_CreateTimer(unsigned int msTimeout, unsigned int repeat, void *data);
extern void timerQueue_DeleteTimer(int id);

extern void eventQueue_AppendEvent(Event ev);
extern Event getNextEvent();

#endif /* __EVENT_H__ */