diff options
Diffstat (limited to '')
-rw-r--r-- | src/libraries/SledjHamr.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/libraries/SledjHamr.h b/src/libraries/SledjHamr.h index 07018a1..467fcc6 100644 --- a/src/libraries/SledjHamr.h +++ b/src/libraries/SledjHamr.h | |||
@@ -8,9 +8,56 @@ | |||
8 | #include <Ecore_Con.h> | 8 | #include <Ecore_Con.h> |
9 | 9 | ||
10 | 10 | ||
11 | typedef struct _Connection Connection; | ||
12 | |||
13 | typedef Eina_Bool (* streamParser)(void *data, Connection *connection, char *SID, char *command, char *arguments); | ||
14 | |||
15 | typedef enum | ||
16 | { | ||
17 | CT_CLIENT, | ||
18 | CT_SERVER | ||
19 | } connType; | ||
20 | |||
21 | struct _ConnServer | ||
22 | { | ||
23 | Ecore_Con_Server *server; | ||
24 | char *serverCommand; | ||
25 | int count, hackyCount; | ||
26 | }; | ||
27 | |||
28 | struct _ConnClient | ||
29 | { | ||
30 | Ecore_Con_Client *client; | ||
31 | Connection *myServer; | ||
32 | }; | ||
33 | |||
34 | struct _Connection | ||
35 | { | ||
36 | connType type; | ||
37 | union | ||
38 | { | ||
39 | struct _ConnServer server; | ||
40 | struct _ConnClient client; | ||
41 | } conn; | ||
42 | char *name; // For log entries and such. | ||
43 | char *address; | ||
44 | int port; | ||
45 | Eina_Strbuf *stream; | ||
46 | Eina_Hash *commands; | ||
47 | // streamParser *func; | ||
48 | // Callbacks. | ||
49 | void *pointer; | ||
50 | Ecore_Event_Handler_Cb _add, _data, _del; | ||
51 | Ecore_Event_Handler *add, *data, *del; | ||
52 | streamParser unknownCommand; | ||
53 | }; | ||
54 | |||
55 | |||
11 | Ecore_Con_Server *reachOut(char *address, int port, void *data, Ecore_Event_Handler_Cb _add, Ecore_Event_Handler_Cb _data, Ecore_Event_Handler_Cb _del); | 56 | Ecore_Con_Server *reachOut(char *address, int port, void *data, Ecore_Event_Handler_Cb _add, Ecore_Event_Handler_Cb _data, Ecore_Event_Handler_Cb _del); |
12 | void *addMessage(Eina_Clist *list, size_t size, const char *message, ...); | 57 | void *addMessage(Eina_Clist *list, size_t size, const char *message, ...); |
13 | void sendBack(Ecore_Con_Client *client, const char *SID, const char *message, ...); | 58 | void sendBack(Ecore_Con_Client *client, const char *SID, const char *message, ...); |
14 | void sendForth(Ecore_Con_Server *server, const char *SID, const char *message, ...); | 59 | void sendForth(Ecore_Con_Server *server, const char *SID, const char *message, ...); |
15 | 60 | ||
61 | Connection *openArms(char *name, const char *address, int port, void *data, Ecore_Event_Handler_Cb _add, Ecore_Event_Handler_Cb _data, Ecore_Event_Handler_Cb _del, streamParser _parser); | ||
62 | |||
16 | #endif | 63 | #endif |