aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/libraries/SledjHamr.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libraries/SledjHamr.h')
-rw-r--r--src/libraries/SledjHamr.h21
1 files changed, 17 insertions, 4 deletions
diff --git a/src/libraries/SledjHamr.h b/src/libraries/SledjHamr.h
index 467fcc6..326e423 100644
--- a/src/libraries/SledjHamr.h
+++ b/src/libraries/SledjHamr.h
@@ -23,12 +23,22 @@ struct _ConnServer
23 Ecore_Con_Server *server; 23 Ecore_Con_Server *server;
24 char *serverCommand; 24 char *serverCommand;
25 int count, hackyCount; 25 int count, hackyCount;
26 // A list of connected remote clients.
27 // A NULL list means this is a remote server stored in a local clients Connection.
28 // An empty list means this is a local server, with no clients.
29 // An actual list means this is a local server, with connected remote clients.
30 Eina_Clist *clients; // HEAD element.
31 Ecore_Exe *serverHandle; // For running the server.
32 pid_t pid;
26}; 33};
27 34
28struct _ConnClient 35struct _ConnClient
29{ 36{
30 Ecore_Con_Client *client; 37 Ecore_Con_Client *client;
38 // If this is a local client, then myServer is a server Connection representing the remote server, and the server list entry element can be NULL.
39 // If this is a remote client, then myServer is NULL, and this Connection is stored in a list in the local server's Connection.
31 Connection *myServer; 40 Connection *myServer;
41 Eina_Clist *server; // Entry element.
32}; 42};
33 43
34struct _Connection 44struct _Connection
@@ -48,16 +58,19 @@ struct _Connection
48 // Callbacks. 58 // Callbacks.
49 void *pointer; 59 void *pointer;
50 Ecore_Event_Handler_Cb _add, _data, _del; 60 Ecore_Event_Handler_Cb _add, _data, _del;
51 Ecore_Event_Handler *add, *data, *del; 61 Ecore_Event_Handler *add, *data, *del, *died;
52 streamParser unknownCommand; 62 streamParser unknownCommand;
63
64 int stage; // Stage of creation for the Connection.
53}; 65};
54 66
55 67
56Ecore_Con_Server *reachOut(char *address, int port, void *data, Ecore_Event_Handler_Cb _add, Ecore_Event_Handler_Cb _data, Ecore_Event_Handler_Cb _del);
57void *addMessage(Eina_Clist *list, size_t size, const char *message, ...); 68void *addMessage(Eina_Clist *list, size_t size, const char *message, ...);
58void sendBack(Ecore_Con_Client *client, const char *SID, const char *message, ...); 69void sendBack(Connection *conn, const char *SID, const char *message, ...);
59void sendForth(Ecore_Con_Server *server, const char *SID, const char *message, ...); 70void sendForth(Connection *conn, const char *SID, const char *message, ...);
60 71
72void send2(Connection *conn, const char *SID, const char *message, ...);
61Connection *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); 73Connection *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);
74Connection *reachOut(char *name, char *command, char *address, int port, void *data, Ecore_Event_Handler_Cb _add, Ecore_Event_Handler_Cb _data, Ecore_Event_Handler_Cb _del, streamParser _parser);
62 75
63#endif 76#endif