ayttm-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Ayttm-commits] CVS: ayttm/src service.h,1.6,1.7 util.c,1.18,1.19


From: Colin Leroy <address@hidden>
Subject: [Ayttm-commits] CVS: ayttm/src service.h,1.6,1.7 util.c,1.18,1.19
Date: Mon, 20 Jan 2003 09:13:31 -0500

Update of /cvsroot/ayttm/ayttm/src
In directory subversions:/tmp/cvs-serv6952/src

Modified Files:
        service.h util.c 
Log Message:
- src/service.h sr/util.c
Add a del_group() callback (deletes a group server-side)
- modules/msn2/msn.C modules/msn2/libmsn2/msn_core.[Ch]
implement group deletion


Index: service.h
===================================================================
RCS file: /cvsroot/ayttm/ayttm/src/service.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- service.h   16 Jan 2003 17:28:26 -0000      1.6
+++ service.h   20 Jan 2003 14:13:29 -0000      1.7
@@ -99,6 +99,10 @@
          Can be NULL if not implemented*/
        void (*change_group)(eb_account * account, gchar *new_group);
 
+       /* deletes group on server 
+          unspecified results if called with a non-empty group ! */
+       void (*del_group)(gchar *group);
+       
        /*Informs the service of an account that it needs to manage*/
        gboolean (*is_suitable)(eb_local_account *local, eb_account *remote);
 

Index: util.c
===================================================================
RCS file: /cvsroot/ayttm/ayttm/src/util.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- util.c      20 Jan 2003 10:39:32 -0000      1.18
+++ util.c      20 Jan 2003 14:13:29 -0000      1.19
@@ -1168,12 +1168,23 @@
 }
 void remove_group( grouplist * g )
 {
+    GList *node = NULL;
     while(g->members)
     {
         remove_contact(g->members->data);
     }
-       remove_group_line(g);
+    
+    remove_group_line(g);
     groups = g_list_remove(groups,g);
+    
+    for( node = accounts; node; node = node->next ) {
+       eb_local_account * ela = (eb_local_account *)(node->data);
+       if (ela->connected && RUN_SERVICE(ela)->del_group) {
+               eb_debug(DBG_CORE, "dropping group %s in %s\n",
+                               g->name, get_service_name(ela->service_id));
+               RUN_SERVICE(ela)->del_group(g->name);
+       }
+    }
     g_free(g);
 }
 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]