New function, to get the stack of open elements. (#452887, Ryan Lortie)

2007-11-07  Matthias Clasen <mclasen@redhat.com>

        * glib/glib.symbols:
        * glib/gmarkup.[hc] (g_markup_parse_context_get_element_stack):
        New function, to get the stack of open elements.  (#452887,
        Ryan Lortie)


svn path=/trunk/; revision=5816
This commit is contained in:
Matthias Clasen 2007-11-08 03:28:09 +00:00 committed by Matthias Clasen
parent 1dc3d6f088
commit 589bd2f463
6 changed files with 44 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2007-11-07 Matthias Clasen <mclasen@redhat.com>
* glib/glib.symbols:
* glib/gmarkup.[hc] (g_markup_parse_context_get_element_stack):
New function, to get the stack of open elements. (#452887,
Ryan Lortie)
2007-11-07 Matthias Clasen <mclasen@redhat.com>
* glib/gkeyfile.[hc]: Make some functions that take

View File

@ -1,5 +1,8 @@
2007-11-07 Matthias Clasen <mclasen@redhat.com>
* glib/glib-sections.txt: Add g_markup_parse_context_get_element_stack
2007-11-07 Matthias Clasen <mclasen@redhat.com>
* glib/building.sgml: Fix a typo
2007-11-07 Matthias Clasen <mclasen@redhat.com>

View File

@ -994,6 +994,7 @@ g_markup_parse_context_end_parse
g_markup_parse_context_free
g_markup_parse_context_get_position
g_markup_parse_context_get_element
g_markup_parse_context_get_element_stack
g_markup_parse_context_new
g_markup_parse_context_parse
<SUBSECTION Private>

View File

@ -644,6 +644,7 @@ g_markup_escape_text
g_markup_parse_context_end_parse
g_markup_parse_context_free
g_markup_parse_context_get_element
g_markup_parse_context_get_element_stack
g_markup_parse_context_get_position
g_markup_parse_context_new
g_markup_parse_context_parse

View File

@ -1856,6 +1856,10 @@ g_markup_parse_context_end_parse (GMarkupParseContext *context,
*
* Retrieves the name of the currently open element.
*
* If called from the start_element or end_element handlers this will
* give the element_name as passed to those functions. For the parent
* elements, see g_markup_parse_context_get_element_stack().
*
* Since: 2.2
**/
G_CONST_RETURN gchar *
@ -1869,6 +1873,33 @@ g_markup_parse_context_get_element (GMarkupParseContext *context)
return current_element (context);
}
/**
* g_markup_parse_context_get_element_stack:
* @context: a #GMarkupParseContext
*
* Retrieves the element stack from the internal state of the parser.
* The returned #GSList is a list of strings where the first item is
* the currently open tag (as would be returned by
* g_markup_parse_context_get_element()) and the next item is its
* immediate parent.
*
* This function is intended to be used in the start_element and
* end_element handlers where g_markup_parse_context_get_element()
* would merely return the name of the element that is being
* processed.
*
* Returns: the element stack, which must not be modified
*
* Since 2.16
**/
G_CONST_RETURN GSList *
g_markup_parse_context_get_element_stack (GMarkupParseContext *context)
{
g_return_val_if_fail (context != NULL, NULL);
return context->tag_stack;
}
/**
* g_markup_parse_context_get_position:
* @context: a #GMarkupParseContext

View File

@ -109,6 +109,7 @@ gboolean g_markup_parse_context_parse (GMarkupParseContext *context,
gboolean g_markup_parse_context_end_parse (GMarkupParseContext *context,
GError **error);
G_CONST_RETURN gchar *g_markup_parse_context_get_element (GMarkupParseContext *context);
G_CONST_RETURN GSList *g_markup_parse_context_get_element_stack (GMarkupParseContext *context);
/* For user-constructed error messages, has no precise semantics */
void g_markup_parse_context_get_position (GMarkupParseContext *context,