|
1 #ifndef IPC_H_ |
|
2 #define IPC_H_ |
|
3 |
|
4 #include "buffer.h" |
|
5 |
|
6 #include <stddef.h> |
|
7 #include <stdint.h> |
|
8 #include <stdbool.h> |
|
9 |
|
10 struct _flib_ipc; |
|
11 typedef struct _flib_ipc *flib_ipc; |
|
12 |
|
13 typedef enum { |
|
14 GAME_END_FINISHED, |
|
15 GAME_END_INTERRUPTED, |
|
16 GAME_END_HALTED |
|
17 } flib_GameEndType; |
|
18 |
|
19 flib_ipc flib_ipc_create(bool recordDemo, const char *localPlayerName); |
|
20 void flib_ipc_destroy(flib_ipc *ipcptr); |
|
21 |
|
22 void flib_ipc_onConnect(flib_ipc ipc, void (*callback)(void* context), void* context); |
|
23 void flib_ipc_onDisconnect(flib_ipc ipc, void (*callback)(void* context), void* context); |
|
24 void flib_ipc_onConfigQuery(flib_ipc ipc, void (*callback)(void* context), void* context); |
|
25 void flib_ipc_onEngineError(flib_ipc ipc, void (*callback)(void* context, const uint8_t *error), void* context); |
|
26 void flib_ipc_onGameEnd(flib_ipc ipc, void (*callback)(void* context, int gameEndType), void* context); |
|
27 void flib_ipc_onChat(flib_ipc ipc, void (*callback)(void* context, const uint8_t *messagestr, int teamchat), void* context); |
|
28 void flib_ipc_onEngineMessage(flib_ipc ipc, void (*callback)(void* context, const uint8_t *message, int len), void* context); |
|
29 |
|
30 int flib_ipc_send_raw(flib_ipc ipc, void *data, size_t len); |
|
31 int flib_ipc_send_message(flib_ipc ipc, void *data, size_t len); |
|
32 int flib_ipc_send_messagestr(flib_ipc ipc, char *data); |
|
33 |
|
34 uint16_t flib_ipc_port(flib_ipc ipc); |
|
35 flib_constbuffer flib_ipc_getdemo(flib_ipc ipc); |
|
36 |
|
37 void flib_ipc_tick(flib_ipc ipc); |
|
38 |
|
39 #endif /* IPC_H_ */ |