diff mcabber/src/jabglue.c @ 1379:74b7621537d7

MUC: Store room settings (print_status, auto_whois) in private storage
author Mikael Berthe <mikael@lilotux.net>
date Thu, 29 Nov 2007 20:54:38 +0100
parents 61fc9eddf763
children 605f9e1f9f76
line wrap: on
line diff
--- a/mcabber/src/jabglue.c	Wed Nov 28 22:42:48 2007 +0100
+++ b/mcabber/src/jabglue.c	Thu Nov 29 20:54:38 2007 +0100
@@ -1405,11 +1405,14 @@
   return sl_bookmarks;
 }
 
-//  jb_set_storage_bookmark(roomid, name, nick, passwd, autojoin)
+//  jb_set_storage_bookmark(roomid, name, nick, passwd, autojoin,
+//                          printstatus, autowhois)
 // Update the private storage bookmarks: add a conference room.
 // If name is nil, we remove the bookmark.
 void jb_set_storage_bookmark(const char *roomid, const char *name,
-                             const char *nick, const char *passwd, int autojoin)
+                             const char *nick, const char *passwd,
+                             int autojoin, enum room_printstatus pstatus,
+                             enum room_autowhois awhois)
 {
   xmlnode x;
   bool changed = FALSE;
@@ -1456,6 +1459,11 @@
       xmlnode_insert_cdata(xmlnode_insert_tag(x, "nick"), nick, -1);
     if (passwd)
       xmlnode_insert_cdata(xmlnode_insert_tag(x, "password"), passwd, -1);
+    if (pstatus)
+      xmlnode_insert_cdata(xmlnode_insert_tag(x, "print_status"),
+                           strprintstatus[pstatus], -1);
+    if (awhois)
+      xmlnode_put_attrib(x, "autowhois", (awhois == autowhois_on ? "1" : "0"));
     changed = TRUE;
     scr_LogPrint(LPRINT_LOGNORM, "Updating bookmarks...");
   }