aboutsummaryrefslogtreecommitdiffstats
path: root/e-util/e-xml-utils.c
diff options
context:
space:
mode:
authorChristopher James Lahey <clahey@helixcode.com>2000-10-11 15:54:51 +0800
committerChris Lahey <clahey@src.gnome.org>2000-10-11 15:54:51 +0800
commit4d5ebbc363352f20b4ffa21311f0db0df5d8023c (patch)
tree6428f01724754c54474cdf27ae26613613513d69 /e-util/e-xml-utils.c
parent70f69f3e0decff6f41edba68a807b9a4789625fe (diff)
downloadgsoc2013-evolution-4d5ebbc363352f20b4ffa21311f0db0df5d8023c.tar
gsoc2013-evolution-4d5ebbc363352f20b4ffa21311f0db0df5d8023c.tar.gz
gsoc2013-evolution-4d5ebbc363352f20b4ffa21311f0db0df5d8023c.tar.bz2
gsoc2013-evolution-4d5ebbc363352f20b4ffa21311f0db0df5d8023c.tar.lz
gsoc2013-evolution-4d5ebbc363352f20b4ffa21311f0db0df5d8023c.tar.xz
gsoc2013-evolution-4d5ebbc363352f20b4ffa21311f0db0df5d8023c.tar.zst
gsoc2013-evolution-4d5ebbc363352f20b4ffa21311f0db0df5d8023c.zip
Included a missing #include.
2000-10-11 Christopher James Lahey <clahey@helixcode.com> * gal/util/e-util.c: Included a missing #include. * gal/util/e-xml-utils.c, gal/util/e-xml-utils.h: Added e_xml_get_bool_prop_by_name, e_xml_set_bool_prop_by_name, and e_xml_get_translated_string_prop_by_name. Reindented prototypes. svn path=/trunk/; revision=5835
Diffstat (limited to 'e-util/e-xml-utils.c')
-rw-r--r--e-util/e-xml-utils.c68
1 files changed, 54 insertions, 14 deletions
diff --git a/e-util/e-xml-utils.c b/e-util/e-xml-utils.c
index 88ce82310e..7802d5daf8 100644
--- a/e-util/e-xml-utils.c
+++ b/e-util/e-xml-utils.c
@@ -26,7 +26,7 @@
#include <gnome-xml/xmlmemory.h>
#include "e-xml-utils.h"
-xmlNode *e_xml_get_child_by_name(xmlNode *parent, const xmlChar *child_name)
+xmlNode *e_xml_get_child_by_name(const xmlNode *parent, const xmlChar *child_name)
{
xmlNode *child;
@@ -46,7 +46,7 @@ xmlNode *e_xml_get_child_by_name(xmlNode *parent, const xmlChar *child_name)
* child with the name child_name and no "lang" attribute.
*/
xmlNode *
-e_xml_get_child_by_name_by_lang(xmlNode *parent, const xmlChar *child_name, const char *lang)
+e_xml_get_child_by_name_by_lang(const xmlNode *parent, const xmlChar *child_name, const char *lang)
{
xmlNode *child;
/* This is the default version of the string. */
@@ -72,7 +72,7 @@ e_xml_get_child_by_name_by_lang(xmlNode *parent, const xmlChar *child_name, cons
}
int
-e_xml_get_integer_prop_by_name(xmlNode *parent, const xmlChar *prop_name)
+e_xml_get_integer_prop_by_name(const xmlNode *parent, const xmlChar *prop_name)
{
xmlChar *prop;
int ret_val = 0;
@@ -80,7 +80,7 @@ e_xml_get_integer_prop_by_name(xmlNode *parent, const xmlChar *prop_name)
g_return_val_if_fail (parent != NULL, 0);
g_return_val_if_fail (prop_name != NULL, 0);
- prop = xmlGetProp (parent, prop_name);
+ prop = xmlGetProp ((xmlNode *)parent, prop_name);
if (prop) {
ret_val = atoi (prop);
xmlFree (prop);
@@ -101,8 +101,38 @@ e_xml_set_integer_prop_by_name(xmlNode *parent, const xmlChar *prop_name, int va
g_free (valuestr);
}
+gboolean
+e_xml_get_bool_prop_by_name(const xmlNode *parent, const xmlChar *prop_name)
+{
+ xmlChar *prop;
+ gboolean ret_val = FALSE;
+
+ g_return_val_if_fail (parent != NULL, 0);
+ g_return_val_if_fail (prop_name != NULL, 0);
+
+ prop = xmlGetProp ((xmlNode *)parent, prop_name);
+ if (prop) {
+ if(!strcasecmp(prop, "true"))
+ ret_val = TRUE;
+ xmlFree(prop);
+ }
+ return ret_val;
+}
+
+void
+e_xml_set_bool_prop_by_name(xmlNode *parent, const xmlChar *prop_name, gboolean value)
+{
+ g_return_if_fail (parent != NULL);
+ g_return_if_fail (prop_name != NULL);
+
+ if (value)
+ xmlSetProp (parent, prop_name, "true");
+ else
+ xmlSetProp (parent, prop_name, "false");
+}
+
double
-e_xml_get_double_prop_by_name(xmlNode *parent, const xmlChar *prop_name)
+e_xml_get_double_prop_by_name(const xmlNode *parent, const xmlChar *prop_name)
{
xmlChar *prop;
double ret_val = 0;
@@ -110,7 +140,7 @@ e_xml_get_double_prop_by_name(xmlNode *parent, const xmlChar *prop_name)
g_return_val_if_fail (parent != NULL, 0);
g_return_val_if_fail (prop_name != NULL, 0);
- prop = xmlGetProp (parent, prop_name);
+ prop = xmlGetProp ((xmlNode *)parent, prop_name);
if (prop) {
sscanf (prop, "%lf", &ret_val);
xmlFree (prop);
@@ -135,7 +165,7 @@ e_xml_set_double_prop_by_name(xmlNode *parent, const xmlChar *prop_name, double
}
char *
-e_xml_get_string_prop_by_name(xmlNode *parent, const xmlChar *prop_name)
+e_xml_get_string_prop_by_name(const xmlNode *parent, const xmlChar *prop_name)
{
xmlChar *prop;
char *ret_val = NULL;
@@ -143,7 +173,7 @@ e_xml_get_string_prop_by_name(xmlNode *parent, const xmlChar *prop_name)
g_return_val_if_fail (parent != NULL, 0);
g_return_val_if_fail (prop_name != NULL, 0);
- prop = xmlGetProp (parent, prop_name);
+ prop = xmlGetProp ((xmlNode *)parent, prop_name);
if (prop) {
ret_val = g_strdup (prop);
xmlFree (prop);
@@ -154,17 +184,27 @@ e_xml_get_string_prop_by_name(xmlNode *parent, const xmlChar *prop_name)
void
e_xml_set_string_prop_by_name(xmlNode *parent, const xmlChar *prop_name, char *value)
{
- xmlChar *valuestr;
-
g_return_if_fail (parent != NULL);
g_return_if_fail (prop_name != NULL);
- valuestr = g_strdup (value);
- xmlSetProp (parent, prop_name, valuestr);
- g_free (valuestr);
+ if (value)
+ xmlSetProp (parent, prop_name, value);
}
+char *
+e_xml_get_translated_string_prop_by_name(const xmlNode *parent, const xmlChar *prop_name)
+{
+ xmlChar *prop;
+ char *ret_val = NULL;
+ g_return_val_if_fail (parent != NULL, 0);
+ g_return_val_if_fail (prop_name != NULL, 0);
-
+ prop = xmlGetProp ((xmlNode *)parent, prop_name);
+ if (prop) {
+ ret_val = g_strdup (_(prop));
+ xmlFree (prop);
+ }
+ return ret_val;
+}