Enlightenment CVS committal

Author  : englebass
Project : e_modules
Module  : mail

Dir     : e_modules/mail


Modified Files:
        imap2.h imap2.c 


Log Message:
Common event handler.
Add some debug messages.

===================================================================
RCS file: /cvs/e/e_modules/mail/imap2.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- imap2.h     25 Jul 2007 18:28:17 -0000      1.4
+++ imap2.h     4 Jan 2008 08:31:21 -0000       1.5
@@ -31,10 +31,6 @@
    int               idle;
    unsigned char     idling : 1;
  
-   Ecore_Event_Handler *add_handler;
-   Ecore_Event_Handler *del_handler;
-   Ecore_Event_Handler *data_handler;
-
    void *data;
 
    struct {
===================================================================
RCS file: /cvs/e/e_modules/mail/imap2.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -3 -r1.13 -r1.14
--- imap2.c     30 Dec 2007 00:04:37 -0000      1.13
+++ imap2.c     4 Jan 2008 08:31:21 -0000       1.14
@@ -6,7 +6,7 @@
 #include "imap2.h"
 
 #if 0
-#define D(args...) printf(##args)
+#define D(args...) printf(args)
 #else
 #define D(args...)
 #endif
@@ -32,6 +32,10 @@
 
 static Evas_List *iclients = NULL;
 
+static Ecore_Event_Handler *add_handler = NULL;
+static Ecore_Event_Handler *del_handler = NULL;
+static Ecore_Event_Handler *data_handler = NULL;
+
 void
 _mail_imap_check_mail (void *data)
 {
@@ -44,29 +48,19 @@
 
        ic = l->data;
        ic->data = data;
-       D ("Checking (%s:%s): %p\n", ic->config->host, ic->config->new_path, 
ic->server);
+       D ("Checking ([EMAIL PROTECTED]:%s): %p\n", ic->config->host, 
ic->config->port, ic->config->new_path, ic->server);
        if (!ic->server)
          {
-            if (!ic->add_handler)
-              ic->add_handler =
-                 ecore_event_handler_add (ECORE_CON_EVENT_SERVER_ADD,
-                                          _mail_imap_server_add, NULL);
-            if (!ic->del_handler)
-              ic->del_handler =
-                 ecore_event_handler_add (ECORE_CON_EVENT_SERVER_DEL,
-                                          _mail_imap_server_del, NULL);
-            if (!ic->data_handler)
-              ic->data_handler =
-                 ecore_event_handler_add (ECORE_CON_EVENT_SERVER_DATA,
-                                          _mail_imap_server_data, NULL);
-
             if (ic->config->local)
               type = ECORE_CON_LOCAL_SYSTEM;
             else
               type = ECORE_CON_REMOTE_SYSTEM;
 
             if (ecore_con_ssl_available_get () && (ic->config->ssl))
-              type |= ECORE_CON_USE_SSL;
+              {
+                 type |= ECORE_CON_USE_SSL;
+                 D ("Use SSL for %s:%s\n", ic->config->host, 
ic->config->new_path);
+              }
             ic->state = IMAP_STATE_DISCONNECTED;
             ic->server =
                ecore_con_server_connect (type, ic->config->host,
@@ -95,6 +89,16 @@
      return;
    /* Client get will create the client if it does not exist */
    _mail_imap_client_get (cb);
+
+   if (!add_handler)
+     add_handler = ecore_event_handler_add (ECORE_CON_EVENT_SERVER_ADD,
+                                           _mail_imap_server_add, NULL);
+   if (!del_handler)
+     del_handler = ecore_event_handler_add (ECORE_CON_EVENT_SERVER_DEL,
+                                           _mail_imap_server_del, NULL);
+   if (!data_handler)
+     data_handler = ecore_event_handler_add (ECORE_CON_EVENT_SERVER_DATA,
+                                            _mail_imap_server_data, NULL);
 }
 
 void
@@ -109,13 +113,19 @@
    ic = _mail_imap_client_get (cb);
    if (!ic)
      return;
-   if (ic->add_handler)
-     ecore_event_handler_del (ic->add_handler);
-   if (ic->del_handler)
-     ecore_event_handler_del (ic->del_handler);
-   if (ic->data_handler)
-     ecore_event_handler_del (ic->data_handler);
    iclients = evas_list_remove (iclients, ic);
+   if (!iclients)
+     {
+       if (add_handler)
+         ecore_event_handler_del (add_handler);
+       add_handler = NULL;
+       if (del_handler)
+         ecore_event_handler_del (del_handler);
+       del_handler = NULL;
+       if (data_handler)
+         ecore_event_handler_del (data_handler);
+       data_handler = NULL;
+     }
    _mail_imap_client_logout (ic);
    E_FREE (ic);
 }
@@ -128,17 +138,21 @@
        ImapClient *ic;
 
        ic = iclients->data;
-       if (ic->add_handler)
-         ecore_event_handler_del (ic->add_handler);
-       if (ic->del_handler)
-         ecore_event_handler_del (ic->del_handler);
-       if (ic->data_handler)
-         ecore_event_handler_del (ic->data_handler);
        iclients = evas_list_remove_list (iclients, iclients);
        _mail_imap_client_logout (ic);
        E_FREE (ic->prev.data);
        E_FREE (ic);
      }
+
+   if (add_handler)
+     ecore_event_handler_del (add_handler);
+   add_handler = NULL;
+   if (del_handler)
+     ecore_event_handler_del (del_handler);
+   del_handler = NULL;
+   if (data_handler)
+     ecore_event_handler_del (data_handler);
+   data_handler = NULL;
 }
 
 /* PRIVATES */
@@ -196,6 +210,7 @@
    if (!ic)
      return 1;
 
+   D ("Connect to %s:%s\n", ic->config->host, ic->config->new_path);
    ic->state = IMAP_STATE_CONNECTED;
    ic->cmd = 1;
    return 0;
@@ -211,6 +226,7 @@
    if (!ic)
      return 1;
 
+   D ("Disconnect from %s:%s\n", ic->config->host, ic->config->new_path);
    if (ic->state != IMAP_STATE_DISCONNECTED)
      {
        printf ("The connection was unexpectedly shut down, consider reducing 
the check time.\n");



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to