/*
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2 of the License, or (at your option) version 3.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with the program; if not, see <http://www.gnu.org/licenses/>
 *
 *
 * Authors:
 *		Chris Lahey <clahey@ximian.com>
 *
 * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
 *
 */

#ifndef __E_XML_UTILS__
#define __E_XML_UTILS__

#include <glib.h>

#include <libxml/tree.h>

G_BEGIN_DECLS

/* lang set to NULL means use the current locale. */
xmlNode *e_xml_get_child_by_name_by_lang             (const xmlNode *parent,
                                                      const xmlChar *child_name,
                                                      const gchar   *lang);
/* lang_list set to NULL means use the current locale. */
xmlNode *e_xml_get_child_by_name_by_lang_list        (const xmlNode *parent,
                                                      const gchar   *name,
                                                      const GList   *lang_list);
xmlNode *e_xml_get_child_by_name_no_lang             (const xmlNode *parent,
                                                      const gchar   *name);

gint     e_xml_get_integer_prop_by_name              (const xmlNode *parent,
                                                      const xmlChar *prop_name);
gint     e_xml_get_integer_prop_by_name_with_default (const xmlNode *parent,
                                                      const xmlChar *prop_name,
                                                      gint           def);
void     e_xml_set_integer_prop_by_name              (xmlNode       *parent,
                                                      const xmlChar *prop_name,
                                                      gint           value);

guint    e_xml_get_uint_prop_by_name                 (const xmlNode *parent,
                                                      const xmlChar *prop_name);
guint    e_xml_get_uint_prop_by_name_with_default    (const xmlNode *parent,
                                                      const xmlChar *prop_name,
                                                      guint          def);
void     e_xml_set_uint_prop_by_name                 (xmlNode       *parent,
                                                      const xmlChar *prop_name,
                                                      guint          value);

gboolean e_xml_get_bool_prop_by_name                 (const xmlNode *parent,
                                                      const xmlChar *prop_name);
gboolean e_xml_get_bool_prop_by_name_with_default    (const xmlNode *parent,
                                                      const xmlChar *prop_name,
                                                      gboolean       def);
void     e_xml_set_bool_prop_by_name                 (xmlNode       *parent,
                                                      const xmlChar *prop_name,
                                                      gboolean       value);

gdouble  e_xml_get_double_prop_by_name               (const xmlNode *parent,
                                                      const xmlChar *prop_name);
gdouble  e_xml_get_double_prop_by_name_with_default  (const xmlNode *parent,
                                                      const xmlChar *prop_name,
                                                      gdouble        def);
void      e_xml_set_double_prop_by_name              ( xmlNode       *parent,
                                                      const xmlChar *prop_name,
                                                      gdouble        value);

gchar    *e_xml_get_string_prop_by_name              (const xmlNode *parent,
                                                      const xmlChar *prop_name);
gchar    *e_xml_get_string_prop_by_name_with_default (const xmlNode *parent,
                                                      const xmlChar *prop_name,
                                                      const gchar   *def);
void      e_xml_set_string_prop_by_name              (xmlNode       *parent,
                                                      const xmlChar *prop_name,
                                                      const gchar   *value);

gchar    *e_xml_get_translated_string_prop_by_name   (const xmlNode *parent,
                                                      const xmlChar *prop_name);

G_END_DECLS

#endif /* __E_XML_UTILS__ */
hes/RELEASE_8_4_0</option>
<option value='branches/RELENG_2_1_0'>branches/RELENG_2_1_0</option>
<option value='branches/RELENG_2_2'>branches/RELENG_2_2</option>
<option value='branches/RELENG_9_1_0'>branches/RELENG_9_1_0</option>
<option value='branches/RELENG_9_2_0'>branches/RELENG_9_2_0</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/eslint-utils-1.4.3'>dependabot/npm_and_yarn/devel/electron4/files/eslint-utils-1.4.3</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/lodash-4.17.15'>dependabot/npm_and_yarn/devel/electron4/files/lodash-4.17.15</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/lodash.merge-4.6.2'>dependabot/npm_and_yarn/devel/electron4/files/lodash.merge-4.6.2</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/lodash.template-4.5.0'>dependabot/npm_and_yarn/devel/electron4/files/lodash.template-4.5.0</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/minimist-1.2.2'>dependabot/npm_and_yarn/devel/electron4/files/minimist-1.2.2</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2' selected='selected'>dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2</option>
<option value='main'>main</option>
<option value='master'>master</option>
<option value='svn_head'>svn_head</option>
</select> <input type='submit' value='switch'/></form></td></tr>
<tr><td class='sub'>FreeBSD Ports (https://github.com/freebsd/freebsd-ports)</td><td class='sub right'></td></tr></table>
<table class='tabs'><tr><td>
<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/about/?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2'>about</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2'>summary</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/refs/?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2&amp;id=04e21d442f06f53736c13f9e2c342b0f25ce1b17'>refs</a><a class='active' href='/~lantw44/cgit/cgit.cgi/freebsd-ports/log/databases/courier-authlib-mysql?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2'>log</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/tree/databases/courier-authlib-mysql?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2&amp;id=04e21d442f06f53736c13f9e2c342b0f25ce1b17'>tree</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/commit/databases/courier-authlib-mysql?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2&amp;id=04e21d442f06f53736c13f9e2c342b0f25ce1b17'>commit</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/diff/databases/courier-authlib-mysql?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2&amp;id=04e21d442f06f53736c13f9e2c342b0f25ce1b17'>diff</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/stats/databases/courier-authlib-mysql?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2'>stats</a></td><td class='form'><form class='right' method='get' action='/~lantw44/cgit/cgit.cgi/freebsd-ports/log/databases/courier-authlib-mysql'>
<input type='hidden' name='h' value='dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2'/><input type='hidden' name='id' value='04e21d442f06f53736c13f9e2c342b0f25ce1b17'/><select name='qt'>
<option value='grep'>log msg</option>
<option value='author'>author</option>
<option value='committer'>committer</option>
<option value='range'>range</option>
</select>
<input class='txt' type='search' size='10' name='q' value=''/>
<input type='submit' value='search'/>
</form>
</td></tr></table>
<div class='path'>path: <a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/log/?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2&amp;id=04e21d442f06f53736c13f9e2c342b0f25ce1b17'>root</a>/<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/log/databases?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2&amp;id=04e21d442f06f53736c13f9e2c342b0f25ce1b17'>databases</a>/<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/log/databases/courier-authlib-mysql?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2&amp;id=04e21d442f06f53736c13f9e2c342b0f25ce1b17'>courier-authlib-mysql</a></div><div class='content'><table class='list nowrap'><tr class='nohover'><th></th><th class='left'>Commit message (<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/log/databases/courier-authlib-mysql?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2&amp;id=04e21d442f06f53736c13f9e2c342b0f25ce1b17&amp;showmsg=1'>Expand</a>)</th><th class='left'>Author</th><th class='left'>Age</th><th class='left'>Files</th><th class='left'>Lines</th></tr>