diff options
author | Tom Hacohen <tom@stosb.com> | 2014-08-22 17:05:15 +0100 |
---|---|---|
committer | Tom Hacohen <tom@stosb.com> | 2014-08-22 17:05:15 +0100 |
commit | 0977799d9b428bf79af3248d19c9cd31dab9bfdd (patch) | |
tree | 94b7939550427c15f199b7035b2abefb2fcaee52 | |
parent | 585d7be93f08b47c13144182033d88776041085f (diff) | |
download | efl-devs/tasn/eolian_segfault.tar.gz |
-rw-r--r-- | src/lib/ecore_con/Ecore_Con.h | 11 | ||||
-rw-r--r-- | src/lib/ecore_con/ecore_con.c | 6 | ||||
-rw-r--r-- | src/lib/ecore_con/ecore_con_server.eo | 16 |
3 files changed, 18 insertions, 15 deletions
diff --git a/src/lib/ecore_con/Ecore_Con.h b/src/lib/ecore_con/Ecore_Con.h index 2e1696b2c8..ce95aeb23d 100644 --- a/src/lib/ecore_con/Ecore_Con.h +++ b/src/lib/ecore_con/Ecore_Con.h @@ -890,17 +890,6 @@ EAPI void * ecore_con_server_data_set(Ecore_Con_Server *svr, * @return @c EINA_TRUE if the server is connected, @c EINA_FALSE otherwise. */ EAPI Eina_Bool ecore_con_server_connected_get(const Ecore_Con_Server *svr); -/** - * Retrieves the current list of clients. - * - * @param svr The given server. - * @return The list of clients on this server. - * - * Each node in the returned list points to an @ref Ecore_Con_Client. This list - * cannot be modified or freed. It can also change if new clients are connected - * or disconnected, and will become invalid when the server is deleted/freed. - */ -EAPI const Eina_List * ecore_con_server_clients_get(Ecore_Con_Server *svr); /** * Retrieves the server port in use. diff --git a/src/lib/ecore_con/ecore_con.c b/src/lib/ecore_con/ecore_con.c index 147f39b789..9859473ed5 100644 --- a/src/lib/ecore_con/ecore_con.c +++ b/src/lib/ecore_con/ecore_con.c @@ -588,11 +588,9 @@ _ecore_con_server_ecore_con_connected_get(Eo *obj EINA_UNUSED, Ecore_Con_Server_ return !svr->connecting; } -EAPI const Eina_List * -ecore_con_server_clients_get(Ecore_Con_Server *obj) +EOLIAN const Eina_List * +_ecore_con_server_clients_get(Eo *obj EINA_UNUSED, Ecore_Con_Server_Data *svr) { - Ecore_Con_Server_Data *svr = eo_data_scope_get(obj, ECORE_CON_SERVER_CLASS); - return svr->clients; } diff --git a/src/lib/ecore_con/ecore_con_server.eo b/src/lib/ecore_con/ecore_con_server.eo index 99ce1838fa..c6ebed2262 100644 --- a/src/lib/ecore_con/ecore_con_server.eo +++ b/src/lib/ecore_con/ecore_con_server.eo @@ -36,6 +36,22 @@ class Ecore.Con.Server (Ecore.Con) { char reject_excess_clients; /*@ Set to 1 to automatically disconnect excess clients as soon as they connect if you are already handling client_limit clients. Set to 0 (default) to just hold off on the "accept()" system call until the number of active clients drops. This causes the kernel to queue up to 4096 connections (or your kernel's limit, whichever is lower). */ } } + /* FIXME: Should this return an iterator? */ + clients { + /*@ + * Retrieves the current list of clients. + * + * + * Each node in the returned list points to an @ref Ecore_Con_Client. This list + * cannot be modified or freed. It can also change if new clients are connected + * or disconnected, and will become invalid when the server is deleted/freed. + */ + get { + } + values { + const(Eina_List <const(Ecore.Con.Client) *>) *clients; /*@ The list of clients on this server. */ + } + } } implements { Eo.Base.destructor; |