*/
#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;
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);
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);
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;
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;
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 */
xmlSaveFormatFileEnc (file, doc, "utf-8", 1);
xmlFreeDoc (doc);
- xmlCleanupParser ();
xmlMemoryDump ();
g_free (file);
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;