Re: [E-devel] [patch] ecore_ipc deprecated ecore_list2

2006-01-06 Thread The Rasterman
On Mon, 02 Jan 2006 05:28:08 +0100 Morten Nilsen [EMAIL PROTECTED] babbled:

 probably last patch for today...

(all list patches). right now i'm not entirely sure its a godo idea to move
everything to ecore_list as ecore_list literally works differently, adds malloc
overhead etc. it changes things that could impact performance (not very much
though) and memory efficiency - so... i'd rather hold off on this.

-- 
- Codito, ergo sum - I code, therefore I am --
The Rasterman (Carsten Haitzler)[EMAIL PROTECTED]
裸好多
Tokyo, Japan (東京 日本)


---
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637alloc_id=16865op=click
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] [patch] ecore_ipc deprecated ecore_list2

2006-01-01 Thread Morten Nilsen

probably last patch for today...

Cheers,
--
Morten
:wq
Index: ecore_ipc.c
===
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_ipc/ecore_ipc.c,v
retrieving revision 1.23
diff -u -r1.23 ecore_ipc.c
--- ecore_ipc.c 23 Sep 2005 06:28:05 -  1.23
+++ ecore_ipc.c 2 Jan 2006 04:26:50 -
@@ -228,9 +228,12 @@
 int ECORE_IPC_EVENT_SERVER_DATA = 0;
 
 static int  init_count = 0;
-static Ecore_Ipc_Server*servers = NULL;
+static Ecore_List  *servers = NULL;
 static Ecore_Event_Handler *handler[6];
 
+static void *_ecore_ipc_server_del(void *data);
+static void *_ecore_ipc_client_del(void *data);
+
 /**
  * @defgroup Ecore_IPC_Library_Group IPC Library Functions
  *
@@ -271,6 +274,10 @@
  _ecore_ipc_event_client_data, NULL);
handler[i++] = ecore_event_handler_add(ECORE_CON_EVENT_SERVER_DATA,
  _ecore_ipc_event_server_data, NULL);
+
+   servers = ecore_list_new();
+   ecore_list_set_free_cb(servers, ECORE_FREE_CB(_ecore_ipc_server_del));
+
return init_count;   
 }
 
@@ -287,7 +294,7 @@
 
if (--init_count != 0) return init_count;
 
-   while (servers) ecore_ipc_server_del(servers);
+   ecore_list_destroy(servers);
 
for (i = 0; i  6; i++)
  ecore_event_handler_del(handler[i]);
@@ -350,7 +357,7 @@
return NULL;
  }
svr-data = (void *)data;
-   servers = _ecore_list2_append(servers, svr);
+   ecore_list_append(servers, (void *)svr);
ECORE_MAGIC_SET(svr, ECORE_MAGIC_IPC_SERVER);
return svr;
 }
@@ -405,7 +412,7 @@
return NULL;
  }
svr-data = (void *)data;
-   servers = _ecore_list2_append(servers, svr);
+   ecore_list_append(servers, (void *)svr);
ECORE_MAGIC_SET(svr, ECORE_MAGIC_IPC_SERVER);
return svr;
 }
@@ -419,7 +426,15 @@
 void *
 ecore_ipc_server_del(Ecore_Ipc_Server *svr)
 {
-   void *data;
+   ecore_list_goto(servers, (void *)svr);
+   return _ecore_ipc_server_del(ecore_list_remove(servers));
+}
+
+static void *
+_ecore_ipc_server_del(void *data)
+{
+   Ecore_Ipc_Server *svr;
+   svr = (Ecore_Ipc_Server *)data;
 
if (!ECORE_MAGIC_CHECK(svr, ECORE_MAGIC_IPC_SERVER))
  {
@@ -429,9 +444,10 @@
  }
ECORE_MAGIC_SET(svr, ECORE_MAGIC_NONE);
data = svr-data;
-   while (svr-clients) ecore_ipc_client_del((Ecore_Ipc_Client *)svr-clients);
+   ecore_list_destroy(svr-clients);
+
ecore_con_server_del(svr-server);
-   servers = _ecore_list2_remove(servers, svr);
+
if (svr-buf) free(svr-buf);
free(svr);
return data;
@@ -724,8 +740,17 @@
 void *
 ecore_ipc_client_del(Ecore_Ipc_Client *cl)
 {
-   void *data;
+   return _ecore_ipc_client_del((void *)cl);
+}
+
+static void *
+_ecore_ipc_client_del(void *data)
+{
+   Ecore_Ipc_Client *cl;
Ecore_Ipc_Server *svr;
+
+   cl = (Ecore_Ipc_Client *)data;
+   data = cl-data;

if (!ECORE_MAGIC_CHECK(cl, ECORE_MAGIC_IPC_CLIENT))
  {
@@ -733,11 +758,12 @@
 ecore_ipc_client_del);
return NULL;
  }
+
ECORE_MAGIC_SET(cl, ECORE_MAGIC_NONE);
-   data = cl-data;
svr = ecore_con_server_data_get(ecore_con_client_server_get(cl-client));
ecore_con_client_del(cl-client);
-   svr-clients = _ecore_list2_remove(svr-clients, cl);
+   ecore_list_goto(svr-clients, (void *)cl);
+   ecore_list_remove(svr-clients);
if (cl-buf) free(cl-buf);
free(cl);
return data;
@@ -796,8 +822,8 @@
 {
Ecore_Con_Event_Client_Add *e;

-   e = ev;
-   if (!_ecore_list2_find(servers, 
ecore_con_server_data_get(ecore_con_client_server_get(e-client return 1;
+   e = (Ecore_Con_Event_Client_Add *)ev;
+   if (!ecore_list_goto(servers, 
ecore_con_server_data_get(ecore_con_client_server_get(e-client return 1;
/* handling code here */
  {
Ecore_Ipc_Client *cl;
@@ -809,7 +835,12 @@
ECORE_MAGIC_SET(cl, ECORE_MAGIC_IPC_CLIENT);
cl-client = e-client;
ecore_con_client_data_set(cl-client, (void *)cl);
-   svr-clients = _ecore_list2_append(svr-clients, cl);
+   if (!svr-clients)
+  {
+svr-clients = ecore_list_new();
+ecore_list_set_free_cb(svr-clients, 
ECORE_FREE_CB(_ecore_ipc_client_del));
+  }
+   ecore_list_append(svr-clients, (void *)cl);
  {
 Ecore_Ipc_Event_Client_Add *e2;
 
@@ -829,8 +860,8 @@
 {
Ecore_Con_Event_Client_Del *e;

-   e = ev;
-   if (!_ecore_list2_find(servers, 
ecore_con_server_data_get(ecore_con_client_server_get(e-client return 1;
+   e = (Ecore_Con_Event_Client_Del *)ev;
+   if (!ecore_list_goto(servers, 
ecore_con_server_data_get(ecore_con_client_server_get(e-client return 1;
/* handling code here */
  {
Ecore_Ipc_Client *cl;
@@ -855,8 +886,8 @@
 {
Ecore_Con_Event_Server_Add *e;

-   e = ev;
-   if (!_ecore_list2_find(servers, ecore_con_server_data_get(e-server))) 
return 1;
+