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

Reply via email to