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
This commit is contained in:
Christopher James Lahey
2000-10-11 07:54:51 +00:00
committed by Chris Lahey
parent 70f69f3e0d
commit 4d5ebbc363
3 changed files with 84 additions and 22 deletions

View File

@ -26,6 +26,7 @@
#include <fcntl.h> #include <fcntl.h>
#include <unistd.h> #include <unistd.h>
#include <ctype.h> #include <ctype.h>
#include <sys/stat.h>
#include <string.h> #include <string.h>
#include "e-util.h" #include "e-util.h"

View File

@ -26,7 +26,7 @@
#include <gnome-xml/xmlmemory.h> #include <gnome-xml/xmlmemory.h>
#include "e-xml-utils.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; 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. * child with the name child_name and no "lang" attribute.
*/ */
xmlNode * 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; xmlNode *child;
/* This is the default version of the string. */ /* 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 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; xmlChar *prop;
int ret_val = 0; 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 (parent != NULL, 0);
g_return_val_if_fail (prop_name != NULL, 0); g_return_val_if_fail (prop_name != NULL, 0);
prop = xmlGetProp (parent, prop_name); prop = xmlGetProp ((xmlNode *)parent, prop_name);
if (prop) { if (prop) {
ret_val = atoi (prop); ret_val = atoi (prop);
xmlFree (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); 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 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; xmlChar *prop;
double ret_val = 0; 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 (parent != NULL, 0);
g_return_val_if_fail (prop_name != NULL, 0); g_return_val_if_fail (prop_name != NULL, 0);
prop = xmlGetProp (parent, prop_name); prop = xmlGetProp ((xmlNode *)parent, prop_name);
if (prop) { if (prop) {
sscanf (prop, "%lf", &ret_val); sscanf (prop, "%lf", &ret_val);
xmlFree (prop); xmlFree (prop);
@ -135,7 +165,7 @@ e_xml_set_double_prop_by_name(xmlNode *parent, const xmlChar *prop_name, double
} }
char * 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; xmlChar *prop;
char *ret_val = NULL; 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 (parent != NULL, 0);
g_return_val_if_fail (prop_name != NULL, 0); g_return_val_if_fail (prop_name != NULL, 0);
prop = xmlGetProp (parent, prop_name); prop = xmlGetProp ((xmlNode *)parent, prop_name);
if (prop) { if (prop) {
ret_val = g_strdup (prop); ret_val = g_strdup (prop);
xmlFree (prop); xmlFree (prop);
@ -154,17 +184,27 @@ e_xml_get_string_prop_by_name(xmlNode *parent, const xmlChar *prop_name)
void void
e_xml_set_string_prop_by_name(xmlNode *parent, const xmlChar *prop_name, char *value) 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 (parent != NULL);
g_return_if_fail (prop_name != NULL); g_return_if_fail (prop_name != NULL);
valuestr = g_strdup (value); if (value)
xmlSetProp (parent, prop_name, valuestr); xmlSetProp (parent, prop_name, value);
g_free (valuestr);
} }
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;
}

View File

@ -26,17 +26,38 @@
#include <gnome.h> #include <gnome.h>
#include <gnome-xml/tree.h> #include <gnome-xml/tree.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);
/* lang set to NULL means use the current locale. */ /* lang set to NULL means use the current locale. */
xmlNode *e_xml_get_child_by_name_by_lang(xmlNode *parent, const xmlChar *child_name, const char *lang); xmlNode *e_xml_get_child_by_name_by_lang (const xmlNode *parent,
const xmlChar *child_name,
const char *lang);
int e_xml_get_integer_prop_by_name(xmlNode *parent, const xmlChar *prop_name); int e_xml_get_integer_prop_by_name (const xmlNode *parent,
void e_xml_set_integer_prop_by_name(xmlNode *parent, const xmlChar *prop_name, int value); const xmlChar *prop_name);
void e_xml_set_integer_prop_by_name (xmlNode *parent,
const xmlChar *prop_name,
int value);
double e_xml_get_double_prop_by_name(xmlNode *parent, const xmlChar *prop_name); gboolean e_xml_get_bool_prop_by_name (const xmlNode *parent,
void e_xml_set_double_prop_by_name(xmlNode *parent, const xmlChar *prop_name, double value); const xmlChar *prop_name);
void e_xml_set_bool_prop_by_name (xmlNode *parent,
const xmlChar *prop_name,
gboolean value);
char *e_xml_get_string_prop_by_name(xmlNode *parent, const xmlChar *prop_name); double e_xml_get_double_prop_by_name (const xmlNode *parent,
void e_xml_set_string_prop_by_name(xmlNode *parent, const xmlChar *prop_name, char *value); const xmlChar *prop_name);
void e_xml_set_double_prop_by_name (xmlNode *parent,
const xmlChar *prop_name,
double value);
char *e_xml_get_string_prop_by_name (const xmlNode *parent,
const xmlChar *prop_name);
void e_xml_set_string_prop_by_name (xmlNode *parent,
const xmlChar *prop_name,
char *value);
char *e_xml_get_translated_string_prop_by_name (const xmlNode *parent,
const xmlChar *prop_name);
#endif /* __E_XML_UTILS__ */ #endif /* __E_XML_UTILS__ */