]> git.0d.be Git - empathy.git/blobdiff - libempathy/empathy-contact-groups.c
Merge branch 'gnome-3-8'
[empathy.git] / libempathy / empathy-contact-groups.c
index a9040f2df6e8f52d8b0cb1bbe8a22b61a03caba4..81a1b3133f681591419f1af467e4fe0acf552959 100644 (file)
  */
 
 #include "config.h"
+#include "empathy-contact-groups.h"
 
-#include <string.h>
-#include <sys/types.h>
 #include <sys/stat.h>
 
-#include <glib.h>
-#include <glib/gi18n-lib.h>
-
-#include <libxml/parser.h>
-#include <libxml/tree.h>
-
 #include "empathy-utils.h"
-#include "empathy-contact-groups.h"
 
 #define DEBUG_FLAG EMPATHY_DEBUG_CONTACT
 #include "empathy-debug.h"
 
 #define CONTACT_GROUPS_XML_FILENAME "contact-groups.xml"
-#define CONTACT_GROUPS_DTD_FILENAME "empathy-contact-groups.dtd"
+#define CONTACT_GROUPS_DTD_RESOURCENAME "/org/gnome/Empathy/empathy-contact-groups.dtd"
 
 typedef struct {
        gchar    *name;
@@ -67,7 +59,7 @@ empathy_contact_groups_get_all (void)
                groups = NULL;
        }
 
-       dir = g_build_filename (g_get_home_dir (), ".gnome2", PACKAGE_NAME, NULL);
+       dir = g_build_filename (g_get_user_config_dir (), PACKAGE_NAME, NULL);
        file_with_path = g_build_filename (dir, CONTACT_GROUPS_XML_FILENAME, NULL);
        g_free (dir);
 
@@ -99,7 +91,7 @@ contact_groups_file_parse (const gchar *filename)
                return;
        }
 
-       if (!empathy_xml_validate (doc, CONTACT_GROUPS_DTD_FILENAME)) {
+       if (!empathy_xml_validate_from_resource (doc, CONTACT_GROUPS_DTD_RESOURCENAME)) {
                g_warning ("Failed to validate file:'%s'", filename);
                xmlFreeDoc (doc);
                xmlFreeParserCtxt (ctxt);
@@ -131,8 +123,8 @@ contact_groups_file_parse (const gchar *filename)
                        gboolean      expanded;
                        ContactGroup *contact_group;
 
-                       name = (gchar *) xmlGetProp (node, "name");
-                       expanded_str = (gchar *) xmlGetProp (node, "expanded");
+                       name = (gchar *) xmlGetProp (node, (const xmlChar *) "name");
+                       expanded_str = (gchar *) xmlGetProp (node, (const xmlChar *) "expanded");
 
                        if (expanded_str && strcmp (expanded_str, "yes") == 0) {
                                expanded = TRUE;
@@ -190,17 +182,17 @@ contact_groups_file_save (void)
        gchar      *dir;
        gchar      *file;
 
-       dir = g_build_filename (g_get_home_dir (), ".gnome2", PACKAGE_NAME, NULL);
+       dir = g_build_filename (g_get_user_config_dir (), PACKAGE_NAME, NULL);
        g_mkdir_with_parents (dir, S_IRUSR | S_IWUSR | S_IXUSR);
        file = g_build_filename (dir, CONTACT_GROUPS_XML_FILENAME, NULL);
        g_free (dir);
 
-       doc = xmlNewDoc ("1.0");
-       root = xmlNewNode (NULL, "contacts");
+       doc = xmlNewDoc ((const xmlChar *) "1.0");
+       root = xmlNewNode (NULL, (const xmlChar *) "contacts");
        xmlDocSetRootElement (doc, root);
 
-       node = xmlNewChild (root, NULL, "account", NULL);
-       xmlNewProp (node, "name", "Default");
+       node = xmlNewChild (root, NULL, (const xmlChar *) "account", NULL);
+       xmlNewProp (node, (const xmlChar *) "name", (const xmlChar *) "Default");
 
        for (l = groups; l; l = l->next) {
                ContactGroup *cg;
@@ -208,9 +200,10 @@ contact_groups_file_save (void)
 
                cg = l->data;
 
-               subnode = xmlNewChild (node, NULL, "group", NULL);
-               xmlNewProp (subnode, "expanded", cg->expanded ? "yes" : "no");
-               xmlNewProp (subnode, "name", cg->name);
+               subnode = xmlNewChild (node, NULL, (const xmlChar *) "group", NULL);
+               xmlNewProp (subnode, (const xmlChar *) "expanded", cg->expanded ?
+                               (const xmlChar *) "yes" : (const xmlChar *) "no");
+               xmlNewProp (subnode, (const xmlChar *) "name", (const xmlChar *) cg->name);
        }
 
        /* Make sure the XML is indented properly */
@@ -220,7 +213,6 @@ contact_groups_file_save (void)
        xmlSaveFormatFileEnc (file, doc, "utf-8", 1);
        xmlFreeDoc (doc);
 
-       xmlCleanupParser ();
        xmlMemoryDump ();
 
        g_free (file);
@@ -262,7 +254,7 @@ empathy_contact_group_set_expanded (const gchar *group,
        g_return_if_fail (group != NULL);
 
        for (l = groups; l; l = l->next) {
-               ContactGroup *cg = l->data;
+               cg = l->data;
 
                if (!cg || !cg->name) {
                        continue;