Enlightenment CVS committal Author : tsauerbeck Project : misc Module : embrace
Dir : misc/embrace/src/plugins/pop3 Modified Files: pop3.c Log Message: updated pop3 code for recent imap changes =================================================================== RCS file: /cvsroot/enlightenment/misc/embrace/src/plugins/pop3/pop3.c,v retrieving revision 1.19 retrieving revision 1.20 diff -u -3 -r1.19 -r1.20 --- pop3.c 29 Jun 2005 16:28:05 -0000 1.19 +++ pop3.c 3 Sep 2005 12:32:23 -0000 1.20 @@ -1,5 +1,5 @@ /* - * $Id: pop3.c,v 1.19 2005/06/29 16:28:05 tsauerbeck Exp $ + * $Id: pop3.c,v 1.20 2005/09/03 12:32:23 tsauerbeck Exp $ * * Copyright (C) 2004 Embrace project. * @@ -45,16 +45,29 @@ mailbox_property_set (mb, "server", NULL); static EmbracePlugin *plugin = NULL; +static Evas_List *mailboxes = NULL; + +static MailBox *find_mailbox (Ecore_Con_Server *server) +{ + Evas_List *l; + + for (l = mailboxes; l; l = l->next) { + MailBox *current = l->data; + + if (mailbox_property_get (current, "server") == server) + return current; + } + + return NULL; +} static int on_server_add (void *udata, int type, void *event) { Ecore_Con_Event_Server_Add *ev = event; MailBox *mb; - mb = ecore_con_server_data_get (ev->server); - assert (mb); - - if (mailbox_plugin_get (mb) != plugin) + mb = find_mailbox (ev->server); + if (!mb) return 1; mailbox_property_set (mb, "state", (void *) STATE_CONNECTED); @@ -70,10 +83,8 @@ char inbuf[2048], outbuf[256]; int num = 0, size = 0, len; - mb = ecore_con_server_data_get (ev->server); - assert (mb); - - if (mailbox_plugin_get (mb) != plugin) + mb = find_mailbox (ev->server); + if (!mb) return 1; state = (State) mailbox_property_get (mb, "state"); @@ -136,10 +147,8 @@ MailBox *mb; char *host; - mb = ecore_con_server_data_get (ev->server); - assert (mb); - - if (mailbox_plugin_get (mb) != plugin) + mb = find_mailbox (ev->server); + if (!mb) return 1; host = (char *) mailbox_property_get (mb, "host"); @@ -208,6 +217,8 @@ mailbox_property_set (mb, "timer", timer); + mailboxes = evas_list_append (mailboxes, mb); + return true; } @@ -224,6 +235,8 @@ free (mailbox_property_get (mb, "user")); free (mailbox_property_get (mb, "pass")); + mailboxes = evas_list_remove (mailboxes, mb); + return true; } ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs