diff -r 666f914201fb -r 2fe1408b6811 epoc32/include/stdapis/glib-2.0/glib/gmarkup.h --- a/epoc32/include/stdapis/glib-2.0/glib/gmarkup.h Tue Nov 24 13:55:44 2009 +0000 +++ b/epoc32/include/stdapis/glib-2.0/glib/gmarkup.h Tue Mar 16 16:12:26 2010 +0000 @@ -1,1 +1,133 @@ -gmarkup.h +/* gmarkup.h - Simple XML-like string parser/writer + * + * Copyright 2000 Red Hat, Inc. + * Portions copyright (c) 2006 Nokia Corporation. All rights reserved. + * + * GLib 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) any later version. + * + * GLib 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 GLib; see the file COPYING.LIB. If not, + * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __G_MARKUP_H__ +#define __G_MARKUP_H__ + +#include <_ansi.h> +#include + +#include + +G_BEGIN_DECLS + +typedef enum +{ + G_MARKUP_ERROR_BAD_UTF8, + G_MARKUP_ERROR_EMPTY, + G_MARKUP_ERROR_PARSE, + /* These three are primarily intended for specific GMarkupParser + * implementations to set. + */ + G_MARKUP_ERROR_UNKNOWN_ELEMENT, + G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE, + G_MARKUP_ERROR_INVALID_CONTENT +} GMarkupError; + +#define G_MARKUP_ERROR g_markup_error_quark () + +IMPORT_C GQuark g_markup_error_quark (void); + +typedef enum +{ + /* Hmm, can't think of any at the moment */ + G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG = 1 << 0 + +} GMarkupParseFlags; + +typedef struct _GMarkupParseContext GMarkupParseContext; +typedef struct _GMarkupParser GMarkupParser; + +struct _GMarkupParser +{ + /* Called for open tags */ + void (*start_element) (GMarkupParseContext *context, + const gchar *element_name, + const gchar **attribute_names, + const gchar **attribute_values, + gpointer user_data, + GError **error); + + /* Called for close tags */ + void (*end_element) (GMarkupParseContext *context, + const gchar *element_name, + gpointer user_data, + GError **error); + + /* Called for character data */ + /* text is not nul-terminated */ + void (*text) (GMarkupParseContext *context, + const gchar *text, + gsize text_len, + gpointer user_data, + GError **error); + + /* Called for strings that should be re-saved verbatim in this same + * position, but are not otherwise interpretable. At the moment + * this includes comments and processing instructions. + */ + /* text is not nul-terminated. */ + void (*passthrough) (GMarkupParseContext *context, + const gchar *passthrough_text, + gsize text_len, + gpointer user_data, + GError **error); + + /* Called on error, including one set by other + * methods in the vtable. The GError should not be freed. + */ + void (*error) (GMarkupParseContext *context, + GError *error, + gpointer user_data); +}; + +IMPORT_C GMarkupParseContext *g_markup_parse_context_new (const GMarkupParser *parser, + GMarkupParseFlags flags, + gpointer user_data, + GDestroyNotify user_data_dnotify); +IMPORT_C void g_markup_parse_context_free (GMarkupParseContext *context); +IMPORT_C gboolean g_markup_parse_context_parse (GMarkupParseContext *context, + const gchar *text, + gssize text_len, + GError **error); + +IMPORT_C gboolean g_markup_parse_context_end_parse (GMarkupParseContext *context, + GError **error); +IMPORT_C G_CONST_RETURN gchar *g_markup_parse_context_get_element (GMarkupParseContext *context); + +/* For user-constructed error messages, has no precise semantics */ +IMPORT_C void g_markup_parse_context_get_position (GMarkupParseContext *context, + gint *line_number, + gint *char_number); + +/* useful when saving */ +IMPORT_C gchar* g_markup_escape_text (const gchar *text, + gssize length); + +IMPORT_C gchar *g_markup_printf_escaped (const char *format, + ...) G_GNUC_PRINTF (1, 2); +IMPORT_C gchar *g_markup_vprintf_escaped (const char *format, + va_list args); + +G_END_DECLS + +#endif /* __G_MARKUP_H__ */ +