grim/gplate

Parents 9b4869aba893
Children a024414ebc2c
A ton of ignore clean ups, as well as adding files that should have been versioned
--- a/.mtn-ignore Sun Feb 10 02:30:43 2008 -0600
+++ b/.mtn-ignore Sun Feb 10 02:40:54 2008 -0600
@@ -1,8 +1,15 @@
.*/?Makefile(\.in)?$
+.+\.loT
aclocal.m4
-^config.(guess|log|status|sub|h)$
+^config.(guess|log|status|sub|h(\.in)?)$
+^autogen\.args$
configure
depcomp
+^doc/gplate/.+\.stamp$
+^doc/gplate/gplate-un(declared|documented|used)\.txt$
+^doc/gplate/gplate\.(args|hierarchy|interfaces|prerequisites|signals)$
+^doc/gplate/(ht|x)ml$
+^doc/gplate/overview\.sgml$
gplate.pc
gtk-doc.make
install-sh
@@ -15,3 +22,4 @@
po/stamp-it
stamp-h1
tests/test$
+^tests/gplate-tests\.xml$
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/AUTHORS Sun Feb 10 02:40:54 2008 -0600
@@ -0,0 +1,16 @@
+Authors
+=======
+Gary Kramlich (grim) <grim@reaperworld.com>
+
+Contributors
+============
+<insert your name here>
+
+Translators
+===========
+<insert your name here>
+
+Special Thanks
+==============
+<insert your name here>
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/gplate/gplate-decl-list.txt Sun Feb 10 02:40:54 2008 -0600
@@ -0,0 +1,245 @@
+<SECTION>
+<FILE>gplate-code-tag</FILE>
+<TITLE>GPlateCodeTag</TITLE>
+GPlateCodeTag
+gplate_code_tag_get_gtype
+<SUBSECTION Standard>
+GPLATE_CODE_TAG
+GPLATE_IS_CODE_TAG
+GPLATE_TYPE_CODE_TAG
+GPLATE_CODE_TAG_CLASS
+GPLATE_IS_CODE_TAG_CLASS
+GPLATE_CODE_TAG_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gplate-function</FILE>
+<TITLE>GPlateFunction</TITLE>
+GPlateFunction
+gplate_function_get_gtype
+gplate_function_evaluate
+<SUBSECTION Standard>
+GPLATE_FUNCTION
+GPLATE_IS_FUNCTION
+GPLATE_TYPE_FUNCTION
+GPLATE_FUNCTION_CLASS
+GPLATE_IS_FUNCTION_CLASS
+GPLATE_FUNCTION_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gplate-template</FILE>
+<TITLE>GPlateTemplate</TITLE>
+GPlateTemplate
+gplate_template_get_gtype
+gplate_template_new
+gplate_template_tokenize
+gplate_template_render
+gplate_template_render_file
+gplate_template_first_tag
+gplate_template_last_tag
+gplate_template_next_tag
+gplate_template_previous_tag
+gplate_template_nth_tag
+gplate_template_nth_previous_tag
+<SUBSECTION Standard>
+GPLATE_TEMPLATE
+GPLATE_IS_TEMPLATE
+GPLATE_TYPE_TEMPLATE
+GPLATE_TEMPLATE_CLASS
+GPLATE_IS_TEMPLATE_CLASS
+GPLATE_TEMPLATE_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gplate-object-variable</FILE>
+<TITLE>GPlateObjectVariable</TITLE>
+GPlateObjectVariable
+gplate_object_variable_get_gtype
+gplate_object_variable_new_from_object
+gplate_object_variable_get_object
+<SUBSECTION Standard>
+GPLATE_OBJECT_VARIABLE
+GPLATE_IS_OBJECT_VARIABLE
+GPLATE_TYPE_OBJECT_VARIABLE
+GPLATE_OBJECT_VARIABLE_CLASS
+GPLATE_IS_OBJECT_VARIABLE_CLASS
+GPLATE_OBJECT_VARIABLE_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gplate-dictionary-variable</FILE>
+<TITLE>GPlateDictionaryVariable</TITLE>
+GPlateDictionaryVariable
+gplate_dictionary_variable_get_gtype
+gplate_dictionary_variable_new
+<SUBSECTION Standard>
+GPLATE_DICTIONARY_VARIABLE
+GPLATE_IS_DICTIONARY_VARIABLE
+GPLATE_TYPE_DICTIONARY_VARIABLE
+GPLATE_DICTIONARY_VARIABLE_CLASS
+GPLATE_IS_DICTIONARY_VARIABLE_CLASS
+GPLATE_DICTIONARY_VARIABLE_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gplate-tag</FILE>
+<TITLE>GPlateTag</TITLE>
+GPlateTag
+gplate_tag_get_gtype
+gplate_tag_get_contents
+gplate_tag_render
+gplate_tag_class_get_prefix
+gplate_tag_class_get_suffix
+<SUBSECTION Standard>
+GPLATE_TAG
+GPLATE_IS_TAG
+GPLATE_TYPE_TAG
+GPLATE_TAG_CLASS
+GPLATE_IS_TAG_CLASS
+GPLATE_TAG_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gplate-variable-tag</FILE>
+<TITLE>GPlateVariableTag</TITLE>
+GPlateVariableTag
+gplate_variable_tag_get_gtype
+<SUBSECTION Standard>
+GPLATE_VARIABLE_TAG
+GPLATE_IS_VARIABLE_TAG
+GPLATE_TYPE_VARIABLE_TAG
+GPLATE_VARIABLE_TAG_CLASS
+GPLATE_IS_VARIABLE_TAG_CLASS
+GPLATE_VARIABLE_TAG_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gplate-comment-tag</FILE>
+<TITLE>GPlateCommentTag</TITLE>
+GPlateCommentTag
+gplate_comment_tag_get_gtype
+<SUBSECTION Standard>
+GPLATE_COMMENT_TAG
+GPLATE_IS_COMMENT_TAG
+GPLATE_TYPE_COMMENT_TAG
+GPLATE_COMMENT_TAG_CLASS
+GPLATE_IS_COMMENT_TAG_CLASS
+GPLATE_COMMENT_TAG_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gplate-text-tag</FILE>
+<TITLE>GPlateTextTag</TITLE>
+GPlateTextTag
+gplate_text_tag_get_gtype
+<SUBSECTION Standard>
+GPLATE_TEXT_TAG
+GPLATE_IS_TEXT_TAG
+GPLATE_TYPE_TEXT_TAG
+GPLATE_TEXT_TAG_CLASS
+GPLATE_IS_TEXT_TAG_CLASS
+GPLATE_TEXT_TAG_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gplate-print-function</FILE>
+<TITLE>GPlatePrintFunction</TITLE>
+GPlatePrintFunction
+gplate_print_function_get_gtype
+<SUBSECTION Standard>
+GPLATE_PRINT_FUNCTION
+GPLATE_IS_PRINT_FUNCTION
+GPLATE_TYPE_PRINT_FUNCTION
+GPLATE_PRINT_FUNCTION_CLASS
+GPLATE_IS_PRINT_FUNCTION_CLASS
+GPLATE_PRINT_FUNCTION_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gplate-variable</FILE>
+<TITLE>GPlateVariable</TITLE>
+GPlateVariable
+gplate_variable_get_gtype
+gplate_variable_new_from_string
+gplate_variable_new_from_boolean
+gplate_variable_new_from_integer
+gplate_variable_new_from_float
+gplate_variable_new_from_double
+gplate_variable_get_name
+gplate_variable_get_value
+<SUBSECTION Standard>
+GPLATE_VARIABLE
+GPLATE_IS_VARIABLE
+GPLATE_TYPE_VARIABLE
+GPLATE_VARIABLE_CLASS
+GPLATE_IS_VARIABLE_CLASS
+GPLATE_VARIABLE_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gplate-noop-function</FILE>
+<TITLE>GPlateNoopFunction</TITLE>
+GPlateNoopFunction
+gplate_noop_function_get_gtype
+<SUBSECTION Standard>
+GPLATE_NOOP_FUNCTION
+GPLATE_IS_NOOP_FUNCTION
+GPLATE_TYPE_NOOP_FUNCTION
+GPLATE_NOOP_FUNCTION_CLASS
+GPLATE_IS_NOOP_FUNCTION_CLASS
+GPLATE_NOOP_FUNCTION_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gplate-collection</FILE>
+GPlateCollection
+GPlateCollectionIface
+gplate_collection_add
+gplate_collection_add_string
+gplate_collection_add_boolean
+gplate_collection_add_integer
+gplate_collection_add_float
+gplate_collection_add_double
+gplate_collection_get_gtype
+gplate_collection_find_variable
+gplate_collection_add_variable
+<SUBSECTION Standard>
+GPLATE_COLLECTION
+GPLATE_IS_COLLECTION
+GPLATE_TYPE_COLLECTION
+GPLATE_COLLECTION_GET_IFACE
+</SECTION>
+
+<SECTION>
+<FILE>gplate-config</FILE>
+gplate_config_load_default
+</SECTION>
+
+<SECTION>
+<FILE>gplate-errors</FILE>
+GPLATE_DOMAIN
+GPlateErrors
+gplate_errors_get_quark
+</SECTION>
+
+<SECTION>
+<FILE>gplate</FILE>
+</SECTION>
+
+<SECTION>
+<FILE>gplate-library</FILE>
+GPlateLibraryTagsForeachFunc
+gplate_library_add_function
+gplate_library_remove_function
+gplate_library_add_tag
+gplate_library_remove_tag
+gplate_library_bind_function
+gplate_library_unbind_function
+gplate_library_add_bound_function
+gplate_library_lookup_function
+gplate_library_lookup_function_for_tag
+gplate_library_lookup_tag
+gplate_library_tags_foreach
+</SECTION>
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/gplate/gplate-decl.txt Sun Feb 10 02:40:54 2008 -0600
@@ -0,0 +1,1038 @@
+<MACRO>
+<NAME>GPLATE_TYPE_CODE_TAG</NAME>
+#define GPLATE_TYPE_CODE_TAG (gplate_code_tag_get_gtype())
+</MACRO>
+<MACRO>
+<NAME>GPLATE_CODE_TAG</NAME>
+#define GPLATE_CODE_TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLATE_TYPE_CODE_TAG, GPlateCodeTag))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_CODE_TAG_CLASS</NAME>
+#define GPLATE_CODE_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPLATE_TYPE_CODE_TAG, GPlateCodeTagClass))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_IS_CODE_TAG</NAME>
+#define GPLATE_IS_CODE_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLATE_TYPE_CODE_TAG))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_IS_CODE_TAG_CLASS</NAME>
+#define GPLATE_IS_CODE_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GPLATE_TYPE_CODE_TAG))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_CODE_TAG_GET_CLASS</NAME>
+#define GPLATE_CODE_TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLATE_TYPE_CODE_TAG, GPlateCodeTagClass))
+</MACRO>
+<STRUCT>
+<NAME>GPlateCodeTag</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GPlateCodeTagClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GPlateCodeTag</NAME>
+struct _GPlateCodeTag {
+ GPlateTag gparent;
+
+ void (*_gplate_reserved1)(void);
+ void (*_gplate_reserved2)(void);
+ void (*_gplate_reserved3)(void);
+ void (*_gplate_reserved4)(void);
+};
+
+</STRUCT>
+<STRUCT>
+<NAME>GPlateCodeTagClass</NAME>
+struct _GPlateCodeTagClass {
+ GPlateTagClass parent;
+
+ void (*_gplate_reserved1)(void);
+ void (*_gplate_reserved2)(void);
+ void (*_gplate_reserved3)(void);
+ void (*_gplate_reserved4)(void);
+};
+
+</STRUCT>
+<FUNCTION>
+<NAME>gplate_code_tag_get_gtype</NAME>
+<RETURNS>GType </RETURNS>
+void
+</FUNCTION>
+<MACRO>
+<NAME>GPLATE_TYPE_FUNCTION</NAME>
+#define GPLATE_TYPE_FUNCTION (gplate_function_get_gtype())
+</MACRO>
+<MACRO>
+<NAME>GPLATE_FUNCTION</NAME>
+#define GPLATE_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLATE_TYPE_FUNCTION, GPlateFunction))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_FUNCTION_CLASS</NAME>
+#define GPLATE_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPLATE_TYPE_FUNCTION, GPlateFunctionClass))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_IS_FUNCTION</NAME>
+#define GPLATE_IS_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLATE_TYPE_FUNCTION))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_IS_FUNCTION_CLASS</NAME>
+#define GPLATE_IS_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GPLATE_TYPE_FUNCTION))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_FUNCTION_GET_CLASS</NAME>
+#define GPLATE_FUNCTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLATE_TYPE_FUNCTION, GPlateFunctionClass))
+</MACRO>
+<STRUCT>
+<NAME>GPlateFunction</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GPlateFunctionClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GPlateFunction</NAME>
+struct _GPlateFunction {
+ GObject gparent;
+
+ void (*_gplate_reserved1)(void);
+ void (*_gplate_reserved2)(void);
+ void (*_gplate_reserved3)(void);
+ void (*_gplate_reserved4)(void);
+};
+
+</STRUCT>
+<STRUCT>
+<NAME>GPlateFunctionClass</NAME>
+struct _GPlateFunctionClass {
+ GObjectClass parent;
+
+ gchar *(*evaluate)(GPlateFunction *function, GPlateCollection *variables, const gchar *contents);
+
+ void (*_gplate_reserved1)(void);
+ void (*_gplate_reserved2)(void);
+ void (*_gplate_reserved3)(void);
+ void (*_gplate_reserved4)(void);
+};
+
+</STRUCT>
+<FUNCTION>
+<NAME>gplate_function_get_gtype</NAME>
+<RETURNS>GType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_function_evaluate</NAME>
+<RETURNS>gchar *</RETURNS>
+GPlateFunction *function, GPlateCollection *variables, const gchar *contents
+</FUNCTION>
+<MACRO>
+<NAME>GPLATE_TYPE_TEMPLATE</NAME>
+#define GPLATE_TYPE_TEMPLATE (gplate_template_get_gtype())
+</MACRO>
+<MACRO>
+<NAME>GPLATE_TEMPLATE</NAME>
+#define GPLATE_TEMPLATE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLATE_TYPE_TEMPLATE, GPlateTemplate))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_TEMPLATE_CLASS</NAME>
+#define GPLATE_TEMPLATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPLATE_TYPE_TEMPLATE, GPlateTemplateClass))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_IS_TEMPLATE</NAME>
+#define GPLATE_IS_TEMPLATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLATE_TYPE_TEMPLATE))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_IS_TEMPLATE_CLASS</NAME>
+#define GPLATE_IS_TEMPLATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GPLATE_TYPE_TEMPLATE))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_TEMPLATE_GET_CLASS</NAME>
+#define GPLATE_TEMPLATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLATE_TYPE_TEMPLATE, GPlateTemplateClass))
+</MACRO>
+<STRUCT>
+<NAME>GPlateTemplate</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GPlateTemplateClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GPlateTemplate</NAME>
+struct _GPlateTemplate {
+ GObject gparent;
+
+ void (*_gplate_reserved1)(void);
+ void (*_gplate_reserved2)(void);
+ void (*_gplate_reserved3)(void);
+ void (*_gplate_reserved4)(void);
+};
+
+</STRUCT>
+<STRUCT>
+<NAME>GPlateTemplateClass</NAME>
+struct _GPlateTemplateClass {
+ GObjectClass parent;
+
+ GList *(*tokenize)(GPlateTemplate *tplate, const gchar *tplate_string, GError **error);
+
+ GPlateTag *(*first_tag)(GPlateTemplate *tplate);
+ GPlateTag *(*last_tag)(GPlateTemplate *tplate);
+ GPlateTag *(*next_tag)(GPlateTemplate *tplate);
+ GPlateTag *(*previous_tag)(GPlateTemplate *tplate);
+ GPlateTag *(*nth_tag)(GPlateTemplate *tplate);
+ GPlateTag *(*nth_previous_tag)(GPlateTemplate *tplate);
+
+ void (*_gplate_reserved1)(void);
+ void (*_gplate_reserved2)(void);
+ void (*_gplate_reserved3)(void);
+ void (*_gplate_reserved4)(void);
+};
+
+</STRUCT>
+<FUNCTION>
+<NAME>gplate_template_get_gtype</NAME>
+<RETURNS>GType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_template_new</NAME>
+<RETURNS>GPlateTemplate *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_template_tokenize</NAME>
+<RETURNS>GList *</RETURNS>
+GPlateTemplate *tplate, const gchar *tplate_string, GError **error
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_template_render</NAME>
+<RETURNS>gchar *</RETURNS>
+GPlateTemplate *tplate, const gchar *tplate_string, GError **error
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_template_render_file</NAME>
+<RETURNS>gchar *</RETURNS>
+GPlateTemplate *tplate, const gchar *filename, GError **error
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_template_first_tag</NAME>
+<RETURNS>GPlateTag *</RETURNS>
+GPlateTemplate *tplate
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_template_last_tag</NAME>
+<RETURNS>GPlateTag *</RETURNS>
+GPlateTemplate *tplate
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_template_next_tag</NAME>
+<RETURNS>GPlateTag *</RETURNS>
+GPlateTemplate *tplate
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_template_previous_tag</NAME>
+<RETURNS>GPlateTag *</RETURNS>
+GPlateTemplate *tplate
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_template_nth_tag</NAME>
+<RETURNS>GPlateTag *</RETURNS>
+GPlateTemplate *tplate
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_template_nth_previous_tag</NAME>
+<RETURNS>GPlateTag *</RETURNS>
+GPlateTemplate *tplate
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_config_load_default</NAME>
+<RETURNS>void </RETURNS>
+void
+</FUNCTION>
+<MACRO>
+<NAME>GPLATE_TYPE_OBJECT_VARIABLE</NAME>
+#define GPLATE_TYPE_OBJECT_VARIABLE (gplate_object_variable_get_gtype())
+</MACRO>
+<MACRO>
+<NAME>GPLATE_OBJECT_VARIABLE</NAME>
+#define GPLATE_OBJECT_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLATE_TYPE_OBJECT_VARIABLE, GPlateObjectVariable))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_OBJECT_VARIABLE_CLASS</NAME>
+#define GPLATE_OBJECT_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPLATE_TYPE_OBJECT_VARIABLE, GPlateObjectVariableClass))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_IS_OBJECT_VARIABLE</NAME>
+#define GPLATE_IS_OBJECT_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLATE_TYPE_OBJECT_VARIABLE))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_IS_OBJECT_VARIABLE_CLASS</NAME>
+#define GPLATE_IS_OBJECT_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GPLATE_TYPE_OBJECT_VARIABLE))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_OBJECT_VARIABLE_GET_CLASS</NAME>
+#define GPLATE_OBJECT_VARIABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLATE_TYPE_OBJECT_VARIABLE, GPlateObjectVariableClass))
+</MACRO>
+<STRUCT>
+<NAME>GPlateObjectVariable</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GPlateObjectVariableClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GPlateObjectVariable</NAME>
+struct _GPlateObjectVariable {
+ GPlateVariable gparent;
+
+ void (*_gplate_reserved1)(void);
+ void (*_gplate_reserved2)(void);
+ void (*_gplate_reserved3)(void);
+ void (*_gplate_reserved4)(void);
+};
+
+</STRUCT>
+<STRUCT>
+<NAME>GPlateObjectVariableClass</NAME>
+struct _GPlateObjectVariableClass {
+ GPlateVariableClass parent;
+
+ void (*_gplate_reserved1)(void);
+ void (*_gplate_reserved2)(void);
+ void (*_gplate_reserved3)(void);
+ void (*_gplate_reserved4)(void);
+};
+
+</STRUCT>
+<FUNCTION>
+<NAME>gplate_object_variable_get_gtype</NAME>
+<RETURNS>GType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_object_variable_new_from_object</NAME>
+<RETURNS>GPlateVariable *</RETURNS>
+const gchar *name, GObject *value
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_object_variable_get_object</NAME>
+<RETURNS>GObject *</RETURNS>
+const GPlateObjectVariable *variable
+</FUNCTION>
+<MACRO>
+<NAME>GPLATE_TYPE_DICTIONARY_VARIABLE</NAME>
+#define GPLATE_TYPE_DICTIONARY_VARIABLE (gplate_dictionary_variable_get_gtype())
+</MACRO>
+<MACRO>
+<NAME>GPLATE_DICTIONARY_VARIABLE</NAME>
+#define GPLATE_DICTIONARY_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLATE_TYPE_DICTIONARY_VARIABLE, GPlateDictionaryVariable))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_DICTIONARY_VARIABLE_CLASS</NAME>
+#define GPLATE_DICTIONARY_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPLATE_TYPE_DICTIONARY_VARIABLE, GPlateDictionaryVariableClass))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_IS_DICTIONARY_VARIABLE</NAME>
+#define GPLATE_IS_DICTIONARY_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLATE_TYPE_DICTIONARY_VARIABLE))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_IS_DICTIONARY_VARIABLE_CLASS</NAME>
+#define GPLATE_IS_DICTIONARY_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GPLATE_TYPE_DICTIONARY_VARIABLE))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_DICTIONARY_VARIABLE_GET_CLASS</NAME>
+#define GPLATE_DICTIONARY_VARIABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLATE_TYPE_DICTIONARY_VARIABLE, GPlateDictionaryVariableClass))
+</MACRO>
+<STRUCT>
+<NAME>GPlateDictionaryVariable</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GPlateDictionaryVariableClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GPlateDictionaryVariable</NAME>
+struct _GPlateDictionaryVariable {
+ GPlateVariable gparent;
+
+ void (*_gplate_reserved1)(void);
+ void (*_gplate_reserved2)(void);
+ void (*_gplate_reserved3)(void);
+ void (*_gplate_reserved4)(void);
+};
+
+</STRUCT>
+<STRUCT>
+<NAME>GPlateDictionaryVariableClass</NAME>
+struct _GPlateDictionaryVariableClass {
+ GPlateVariableClass parent;
+
+ void (*_gplate_reserved1)(void);
+ void (*_gplate_reserved2)(void);
+ void (*_gplate_reserved3)(void);
+ void (*_gplate_reserved4)(void);
+};
+
+</STRUCT>
+<FUNCTION>
+<NAME>gplate_dictionary_variable_get_gtype</NAME>
+<RETURNS>GType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_dictionary_variable_new</NAME>
+<RETURNS>GPlateVariable *</RETURNS>
+const gchar *name
+</FUNCTION>
+<MACRO>
+<NAME>GPLATE_TYPE_TAG</NAME>
+#define GPLATE_TYPE_TAG (gplate_tag_get_gtype())
+</MACRO>
+<MACRO>
+<NAME>GPLATE_TAG</NAME>
+#define GPLATE_TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLATE_TYPE_TAG, GPlateTag))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_TAG_CLASS</NAME>
+#define GPLATE_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPLATE_TYPE_TAG, GPlateTagClass))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_IS_TAG</NAME>
+#define GPLATE_IS_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLATE_TYPE_TAG))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_IS_TAG_CLASS</NAME>
+#define GPLATE_IS_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GPLATE_TYPE_TAG))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_TAG_GET_CLASS</NAME>
+#define GPLATE_TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLATE_TYPE_TAG, GPlateTagClass))
+</MACRO>
+<STRUCT>
+<NAME>GPlateTag</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GPlateTagClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GPlateTag</NAME>
+struct _GPlateTag {
+ GObject gparent;
+
+ void (*_gplate_reserved1)(void);
+ void (*_gplate_reserved2)(void);
+ void (*_gplate_reserved3)(void);
+ void (*_gplate_reserved4)(void);
+};
+
+</STRUCT>
+<STRUCT>
+<NAME>GPlateTagClass</NAME>
+struct _GPlateTagClass {
+ GObjectClass parent;
+
+ const gchar *(*get_contents)(const GPlateTag *tag);
+
+ gchar *(*render)(const GPlateTag *tag, const GPlateCollection *variables);
+
+ const gchar *(*get_prefix)(const GPlateTagClass *tag_class);
+ const gchar *(*get_suffix)(const GPlateTagClass *tag_class);
+
+ void (*_gplate_reserved1)(void);
+ void (*_gplate_reserved2)(void);
+ void (*_gplate_reserved3)(void);
+ void (*_gplate_reserved4)(void);
+};
+
+</STRUCT>
+<FUNCTION>
+<NAME>gplate_tag_get_gtype</NAME>
+<RETURNS>GType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_tag_get_contents</NAME>
+<RETURNS>const gchar *</RETURNS>
+const GPlateTag *tag
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_tag_render</NAME>
+<RETURNS>gchar *</RETURNS>
+const GPlateTag *tag, const GPlateCollection *variables
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_tag_class_get_prefix</NAME>
+<RETURNS>const gchar *</RETURNS>
+const GPlateTagClass *tag_class
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_tag_class_get_suffix</NAME>
+<RETURNS>const gchar *</RETURNS>
+const GPlateTagClass *tag_class
+</FUNCTION>
+<MACRO>
+<NAME>GPLATE_TYPE_VARIABLE_TAG</NAME>
+#define GPLATE_TYPE_VARIABLE_TAG (gplate_variable_tag_get_gtype())
+</MACRO>
+<MACRO>
+<NAME>GPLATE_VARIABLE_TAG</NAME>
+#define GPLATE_VARIABLE_TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLATE_TYPE_VARIABLE_TAG, GPlateVariableTag))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_VARIABLE_TAG_CLASS</NAME>
+#define GPLATE_VARIABLE_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPLATE_TYPE_VARIABLE_TAG, GPlateVariableTagClass))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_IS_VARIABLE_TAG</NAME>
+#define GPLATE_IS_VARIABLE_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLATE_TYPE_VARIABLE_TAG))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_IS_VARIABLE_TAG_CLASS</NAME>
+#define GPLATE_IS_VARIABLE_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GPLATE_TYPE_VARIABLE_TAG))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_VARIABLE_TAG_GET_CLASS</NAME>
+#define GPLATE_VARIABLE_TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLATE_TYPE_VARIABLE_TAG, GPlateVariableTagClass))
+</MACRO>
+<STRUCT>
+<NAME>GPlateVariableTag</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GPlateVariableTagClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GPlateVariableTag</NAME>
+struct _GPlateVariableTag {
+ GPlateTag gparent;
+
+ void (*_gplate_reserved1)(void);
+ void (*_gplate_reserved2)(void);
+ void (*_gplate_reserved3)(void);
+ void (*_gplate_reserved4)(void);
+};
+
+</STRUCT>
+<STRUCT>
+<NAME>GPlateVariableTagClass</NAME>
+struct _GPlateVariableTagClass {
+ GPlateTagClass parent;
+
+ void (*_gplate_reserved1)(void);
+ void (*_gplate_reserved2)(void);
+ void (*_gplate_reserved3)(void);
+ void (*_gplate_reserved4)(void);
+};
+
+</STRUCT>
+<FUNCTION>
+<NAME>gplate_variable_tag_get_gtype</NAME>
+<RETURNS>GType </RETURNS>
+void
+</FUNCTION>
+<MACRO>
+<NAME>GPLATE_DOMAIN</NAME>
+#define GPLATE_DOMAIN (gplate_errors_get_quark())
+</MACRO>
+<ENUM>
+<NAME>GPlateErrors</NAME>
+typedef enum {
+ GPLATE_ERROR_TYPE_IS_NOT_DESCENDANT = 100,
+ GPLATE_ERROR_TYPE_IS_ABSTRACT,
+
+ GPLATE_ERROR_TAG_EXISTS = 210,
+ GPLATE_ERROR_TAG_FALL_THROUGH_EXISTS,
+ GPLATE_ERROR_TAG_NO_PREFIX_HAVE_SUFFIX = 220,
+ GPLATE_ERROR_TAG_HAVE_PREFIX_NO_SUFFIX,
+
+ GPLATE_ERROR_TEMPLATE_FILE_DOES_NOT_EXIST = 300,
+
+ GPLATE_ERROR_LIBRARY_FUNCTION_NAME_EXISTS = 400,
+ GPLATE_ERROR_LIBRARY_FUNCTION_NAME_NOT_FOUND,
+ GPLATE_ERROR_LIBRARY_FUNCTION_BOUND,
+ GPLATE_ERROR_LIBRARY_FUNCTION_NOT_BOUND,
+ GPLATE_ERROR_LIBRARY_FUNCTION_NOT_BOUND_TO_TAG,
+ GPLATE_ERROR_LIBRARY_TAG_EXISTS = 450,
+ GPLATE_ERROR_LIBRARY_TAG_NOT_FOUND,
+
+ GPLATE_ERROR_UNKNOWN = 1 << 31,
+} GPlateErrors;
+</ENUM>
+<FUNCTION>
+<NAME>gplate_errors_get_quark</NAME>
+<RETURNS>GQuark </RETURNS>
+void
+</FUNCTION>
+<MACRO>
+<NAME>GPLATE_TYPE_COMMENT_TAG</NAME>
+#define GPLATE_TYPE_COMMENT_TAG (gplate_comment_tag_get_gtype())
+</MACRO>
+<MACRO>
+<NAME>GPLATE_COMMENT_TAG</NAME>
+#define GPLATE_COMMENT_TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLATE_TYPE_COMMENT_TAG, GPlateCommentTag))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_COMMENT_TAG_CLASS</NAME>
+#define GPLATE_COMMENT_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPLATE_TYPE_COMMENT_TAG, GPlateCommentTagClass))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_IS_COMMENT_TAG</NAME>
+#define GPLATE_IS_COMMENT_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLATE_TYPE_COMMENT_TAG))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_IS_COMMENT_TAG_CLASS</NAME>
+#define GPLATE_IS_COMMENT_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GPLATE_TYPE_COMMENT_TAG))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_COMMENT_TAG_GET_CLASS</NAME>
+#define GPLATE_COMMENT_TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLATE_TYPE_COMMENT_TAG, GPlateCommentTagClass))
+</MACRO>
+<STRUCT>
+<NAME>GPlateCommentTag</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GPlateCommentTagClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GPlateCommentTag</NAME>
+struct _GPlateCommentTag {
+ GPlateTag gparent;
+
+ void (*_gplate_reserved1)(void);
+ void (*_gplate_reserved2)(void);
+ void (*_gplate_reserved3)(void);
+ void (*_gplate_reserved4)(void);
+};
+
+</STRUCT>
+<STRUCT>
+<NAME>GPlateCommentTagClass</NAME>
+struct _GPlateCommentTagClass {
+ GPlateTagClass parent;
+
+ void (*_gplate_reserved1)(void);
+ void (*_gplate_reserved2)(void);
+ void (*_gplate_reserved3)(void);
+ void (*_gplate_reserved4)(void);
+};
+
+</STRUCT>
+<FUNCTION>
+<NAME>gplate_comment_tag_get_gtype</NAME>
+<RETURNS>GType </RETURNS>
+void
+</FUNCTION>
+<MACRO>
+<NAME>GPLATE_TYPE_TEXT_TAG</NAME>
+#define GPLATE_TYPE_TEXT_TAG (gplate_text_tag_get_gtype())
+</MACRO>
+<MACRO>
+<NAME>GPLATE_TEXT_TAG</NAME>
+#define GPLATE_TEXT_TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLATE_TYPE_TEXT_TAG, GPlateTextTag))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_TEXT_TAG_CLASS</NAME>
+#define GPLATE_TEXT_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPLATE_TYPE_TEXT_TAG, GPlateTextTagClass))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_IS_TEXT_TAG</NAME>
+#define GPLATE_IS_TEXT_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLATE_TYPE_TEXT_TAG))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_IS_TEXT_TAG_CLASS</NAME>
+#define GPLATE_IS_TEXT_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GPLATE_TYPE_TEXT_TAG))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_TEXT_TAG_GET_CLASS</NAME>
+#define GPLATE_TEXT_TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLATE_TYPE_TEXT_TAG, GPlateTextTagClass))
+</MACRO>
+<STRUCT>
+<NAME>GPlateTextTag</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GPlateTextTagClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GPlateTextTag</NAME>
+struct _GPlateTextTag {
+ GPlateTag gparent;
+
+ void (*_gplate_reserved1)(void);
+ void (*_gplate_reserved2)(void);
+ void (*_gplate_reserved3)(void);
+ void (*_gplate_reserved4)(void);
+};
+
+</STRUCT>
+<STRUCT>
+<NAME>GPlateTextTagClass</NAME>
+struct _GPlateTextTagClass {
+ GPlateTagClass parent;
+
+ void (*_gplate_reserved1)(void);
+ void (*_gplate_reserved2)(void);
+ void (*_gplate_reserved3)(void);
+ void (*_gplate_reserved4)(void);
+};
+
+</STRUCT>
+<FUNCTION>
+<NAME>gplate_text_tag_get_gtype</NAME>
+<RETURNS>GType </RETURNS>
+void
+</FUNCTION>
+<MACRO>
+<NAME>GPLATE_TYPE_PRINT_FUNCTION</NAME>
+#define GPLATE_TYPE_PRINT_FUNCTION (gplate_print_function_get_gtype())
+</MACRO>
+<MACRO>
+<NAME>GPLATE_PRINT_FUNCTION</NAME>
+#define GPLATE_PRINT_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLATE_TYPE_PRINT_FUNCTION, GPlatePrintFunction))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_PRINT_FUNCTION_CLASS</NAME>
+#define GPLATE_PRINT_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPLATE_TYPE_PRINT_FUNCTION, GPlatePrintFunctionClass))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_IS_PRINT_FUNCTION</NAME>
+#define GPLATE_IS_PRINT_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLATE_TYPE_PRINT_FUNCTION))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_IS_PRINT_FUNCTION_CLASS</NAME>
+#define GPLATE_IS_PRINT_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GPLATE_TYPE_PRINT_FUNCTION))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_PRINT_FUNCTION_GET_CLASS</NAME>
+#define GPLATE_PRINT_FUNCTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLATE_TYPE_PRINT_FUNCTION, GPlatePrintFunctionClass))
+</MACRO>
+<STRUCT>
+<NAME>GPlatePrintFunction</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GPlatePrintFunctionClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GPlatePrintFunction</NAME>
+struct _GPlatePrintFunction {
+ GPlateFunction gparent;
+
+ void (*_gplate_reserved1)(void);
+ void (*_gplate_reserved2)(void);
+ void (*_gplate_reserved3)(void);
+ void (*_gplate_reserved4)(void);
+};
+
+</STRUCT>
+<STRUCT>
+<NAME>GPlatePrintFunctionClass</NAME>
+struct _GPlatePrintFunctionClass {
+ GPlateFunctionClass parent;
+
+ void (*_gplate_reserved1)(void);
+ void (*_gplate_reserved2)(void);
+ void (*_gplate_reserved3)(void);
+ void (*_gplate_reserved4)(void);
+};
+
+</STRUCT>
+<FUNCTION>
+<NAME>gplate_print_function_get_gtype</NAME>
+<RETURNS>GType </RETURNS>
+void
+</FUNCTION>
+<MACRO>
+<NAME>GPLATE_TYPE_VARIABLE</NAME>
+#define GPLATE_TYPE_VARIABLE (gplate_variable_get_gtype())
+</MACRO>
+<MACRO>
+<NAME>GPLATE_VARIABLE</NAME>
+#define GPLATE_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLATE_TYPE_VARIABLE, GPlateVariable))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_VARIABLE_CLASS</NAME>
+#define GPLATE_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPLATE_TYPE_VARIABLE, GPlateVariableClass))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_IS_VARIABLE</NAME>
+#define GPLATE_IS_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLATE_TYPE_VARIABLE))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_IS_VARIABLE_CLASS</NAME>
+#define GPLATE_IS_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GPLATE_TYPE_VARIABLE))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_VARIABLE_GET_CLASS</NAME>
+#define GPLATE_VARIABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLATE_TYPE_VARIABLE, GPlateVariableClass))
+</MACRO>
+<STRUCT>
+<NAME>GPlateVariable</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GPlateVariableClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GPlateVariable</NAME>
+struct _GPlateVariable {
+ GObject gparent;
+
+ void (*_gplate_reserved1)(void);
+ void (*_gplate_reserved2)(void);
+ void (*_gplate_reserved3)(void);
+ void (*_gplate_reserved4)(void);
+};
+
+</STRUCT>
+<STRUCT>
+<NAME>GPlateVariableClass</NAME>
+struct _GPlateVariableClass {
+ GObjectClass parent;
+
+ const gchar *(*get_name)(const GPlateVariable *variable);
+ const gchar *(*get_value)(const GPlateVariable *variable);
+
+ void (*_gplate_reserved1)(void);
+ void (*_gplate_reserved2)(void);
+ void (*_gplate_reserved3)(void);
+ void (*_gplate_reserved4)(void);
+};
+
+</STRUCT>
+<FUNCTION>
+<NAME>gplate_variable_get_gtype</NAME>
+<RETURNS>GType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_variable_new_from_string</NAME>
+<RETURNS>GPlateVariable *</RETURNS>
+const gchar *name, const gchar *value
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_variable_new_from_boolean</NAME>
+<RETURNS>GPlateVariable *</RETURNS>
+const gchar *name, gboolean value
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_variable_new_from_integer</NAME>
+<RETURNS>GPlateVariable *</RETURNS>
+const gchar *name, gint value
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_variable_new_from_float</NAME>
+<RETURNS>GPlateVariable *</RETURNS>
+const gchar *name, gfloat value
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_variable_new_from_double</NAME>
+<RETURNS>GPlateVariable *</RETURNS>
+const gchar *name, gdouble value
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_variable_get_name</NAME>
+<RETURNS>const gchar *</RETURNS>
+const GPlateVariable *variable
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_variable_get_value</NAME>
+<RETURNS>const gchar *</RETURNS>
+const GPlateVariable *variable
+</FUNCTION>
+<USER_FUNCTION>
+<NAME>GPlateLibraryTagsForeachFunc</NAME>
+<RETURNS>void </RETURNS>
+GType tag, const gchar *prefix, const gchar *suffix, gpointer data
+</USER_FUNCTION>
+<FUNCTION>
+<NAME>gplate_library_add_function</NAME>
+<RETURNS>gboolean </RETURNS>
+const gchar *name, GType function, GError **error
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_library_remove_function</NAME>
+<RETURNS>gboolean </RETURNS>
+const gchar *name, GError **error
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_library_add_tag</NAME>
+<RETURNS>gboolean </RETURNS>
+GType tag, GError **error
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_library_remove_tag</NAME>
+<RETURNS>gboolean </RETURNS>
+GType tag, GError **error
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_library_bind_function</NAME>
+<RETURNS>gboolean </RETURNS>
+const gchar *name, GType tag, GError **error
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_library_unbind_function</NAME>
+<RETURNS>gboolean </RETURNS>
+const gchar *name, GError **error
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_library_add_bound_function</NAME>
+<RETURNS>gboolean </RETURNS>
+const gchar *name, GType function, GType tag, GError **error
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_library_lookup_function</NAME>
+<RETURNS>gboolean </RETURNS>
+const gchar *name, GType *function, GType *tag, GError **error
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_library_lookup_function_for_tag</NAME>
+<RETURNS>GType </RETURNS>
+const gchar *name, GType tag, GError **error
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_library_lookup_tag</NAME>
+<RETURNS>gboolean </RETURNS>
+GType tag, gchar **prefix, gchar **suffix, GError **error
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_library_tags_foreach</NAME>
+<RETURNS>void </RETURNS>
+GPlateLibraryTagsForeachFunc func, gpointer data
+</FUNCTION>
+<MACRO>
+<NAME>GPLATE_TYPE_NOOP_FUNCTION</NAME>
+#define GPLATE_TYPE_NOOP_FUNCTION (gplate_noop_function_get_gtype())
+</MACRO>
+<MACRO>
+<NAME>GPLATE_NOOP_FUNCTION</NAME>
+#define GPLATE_NOOP_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLATE_TYPE_NOOP_FUNCTION, GPlateNoopFunction))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_NOOP_FUNCTION_CLASS</NAME>
+#define GPLATE_NOOP_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPLATE_TYPE_NOOP_FUNCTION, GPlateNoopFunctionClass))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_IS_NOOP_FUNCTION</NAME>
+#define GPLATE_IS_NOOP_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLATE_TYPE_NOOP_FUNCTION))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_IS_NOOP_FUNCTION_CLASS</NAME>
+#define GPLATE_IS_NOOP_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GPLATE_TYPE_NOOP_FUNCTION))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_NOOP_FUNCTION_GET_CLASS</NAME>
+#define GPLATE_NOOP_FUNCTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLATE_TYPE_NOOP_FUNCTION, GPlateNoopFunctionClass))
+</MACRO>
+<STRUCT>
+<NAME>GPlateNoopFunction</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GPlateNoopFunctionClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GPlateNoopFunction</NAME>
+struct _GPlateNoopFunction {
+ GPlateFunction gparent;
+
+ void (*_gplate_reserved1)(void);
+ void (*_gplate_reserved2)(void);
+ void (*_gplate_reserved3)(void);
+ void (*_gplate_reserved4)(void);
+};
+
+</STRUCT>
+<STRUCT>
+<NAME>GPlateNoopFunctionClass</NAME>
+struct _GPlateNoopFunctionClass {
+ GPlateFunctionClass parent;
+
+ void (*_gplate_reserved1)(void);
+ void (*_gplate_reserved2)(void);
+ void (*_gplate_reserved3)(void);
+ void (*_gplate_reserved4)(void);
+};
+
+</STRUCT>
+<FUNCTION>
+<NAME>gplate_noop_function_get_gtype</NAME>
+<RETURNS>GType </RETURNS>
+void
+</FUNCTION>
+<MACRO>
+<NAME>GPLATE_TYPE_COLLECTION</NAME>
+#define GPLATE_TYPE_COLLECTION (gplate_collection_get_gtype())
+</MACRO>
+<MACRO>
+<NAME>GPLATE_COLLECTION</NAME>
+#define GPLATE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLATE_TYPE_COLLECTION, GPlateCollection))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_IS_COLLECTION</NAME>
+#define GPLATE_IS_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLATE_TYPE_COLLECTION))
+</MACRO>
+<MACRO>
+<NAME>GPLATE_COLLECTION_GET_IFACE</NAME>
+#define GPLATE_COLLECTION_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE((obj), GPLATE_TYPE_COLLECTION, GPlateCollectionIface))
+</MACRO>
+<STRUCT>
+<NAME>GPlateCollection</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GPlateCollectionIface</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GPlateCollectionIface</NAME>
+struct _GPlateCollectionIface {
+ GTypeInterface gparent;
+
+ GPlateVariable *(*find_variable)(const GPlateCollection *collection, const gchar *name);
+ gboolean (*add_variable)(GPlateCollection *collection, GPlateVariable *variable);
+
+ void (*_gplate_reserved1)(void);
+ void (*_gplate_reserved2)(void);
+ void (*_gplate_reserved3)(void);
+ void (*_gplate_reserved4)(void);
+};
+
+</STRUCT>
+<MACRO>
+<NAME>gplate_collection_add</NAME>
+#define gplate_collection_add(collection, type, name, value) { \
+ GPlateVariable *var = NULL; \
+ \
+ var = gplate_variable_new_from_##type((name), (value)); \
+ gplate_collection_add_variable(GPLATE_COLLECTION(collection), (var));\
+}
+</MACRO>
+<MACRO>
+<NAME>gplate_collection_add_string</NAME>
+#define gplate_collection_add_string(collection, name, value) \
+ gplate_collection_add((collection), string, (name), (value));
+</MACRO>
+<MACRO>
+<NAME>gplate_collection_add_boolean</NAME>
+#define gplate_collection_add_boolean(collection, name, value) \
+ gplate_collection_add((collection), boolean, (name), (value));
+</MACRO>
+<MACRO>
+<NAME>gplate_collection_add_integer</NAME>
+#define gplate_collection_add_integer(collection, name, value) \
+ gplate_collection_add((collection), integer, (name), (value));
+</MACRO>
+<MACRO>
+<NAME>gplate_collection_add_float</NAME>
+#define gplate_collection_add_float(collection, name, value) \
+ gplate_collection_add((collection), float, (name), (value));
+</MACRO>
+<MACRO>
+<NAME>gplate_collection_add_double</NAME>
+#define gplate_collection_add_double(collection, name, value) \
+ gplate_collection_add((collection), double, (name), (value));
+</MACRO>
+<FUNCTION>
+<NAME>gplate_collection_get_gtype</NAME>
+<RETURNS>GType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_collection_find_variable</NAME>
+<RETURNS>GPlateVariable *</RETURNS>
+const GPlateCollection *collection, const gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>gplate_collection_add_variable</NAME>
+<RETURNS>gboolean </RETURNS>
+GPlateCollection *collection, GPlateVariable *variable
+</FUNCTION>