grim/gplate

Parents 202ace013f8b
Children bbd7f5310eae
Properly generate the documentation (at least: 100% symbol coverage).

I hate to flatten history like this, as this represented by 37 commits
in my local repository. However, I could _not_ get the result to
merge for some reason that I didn't have the time to figure out, so I
flattened it down to a single patch against upstream, and fixed the
resulting diff, and this is that commit.

In a nutshell, this commit:

- gets rid of the SGML template files, as the content that they had
was moved to source code files so that the documentation is closer
to the code, and also because the SGML templates were blocking some
already existing doc-comments in the source code.

- Gets rid of the gplate-sections.txt file, as gtk-doc builds it for
us.

- Gets rid of the gplate.types file. It is generated from scanning
the source code, and adjusted by sed to eliminate things that
gtk-doc won't be able to runtime introspect since they're not
currently "there".

- Hooks the doc/gplates directory into the build system (just
barely). The real work is not even done by CMake, as I couldn't
figure out how to get it to do what I wanted, which leads to...

- The documentation is _actually_ built by doc/gplate/build-docs.sh,
which contains hardcoded values that I could not figure out how to
get CMake to expose certain things. This means that the build
system doesn't actually know jack about the documentation (and this
also means that the documentation won't be installed as part of the
"make install" target, either). (BUT, the documentation is
available and BUILDS!)

While this commit makes things better than they were before the
commit, I would not call this commit overly polished. I fully expect
the shell script to be replaced by something done in/with/via CMake
directly, I just don't know how to do it that way.
  • +1 -0
    CMakeLists.txt
  • +1 -0
    doc/CMakeLists.txt
  • +6 -0
    doc/gplate/.gitignore
  • +5 -0
    doc/gplate/CMakeLists.txt
  • +52 -0
    doc/gplate/build-docs.sh
  • +0 -361
    doc/gplate/gplate-sections.txt
  • +0 -25
    doc/gplate/gplate.types
  • +0 -26
    doc/gplate/tmpl/gplate-code-tag.sgml
  • +0 -188
    doc/gplate/tmpl/gplate-collection.sgml
  • +0 -26
    doc/gplate/tmpl/gplate-comment-tag.sgml
  • +0 -26
    doc/gplate/tmpl/gplate-config.sgml
  • +0 -37
    doc/gplate/tmpl/gplate-dictionary-variable.sgml
  • +0 -49
    doc/gplate/tmpl/gplate-directory-variable.sgml
  • +0 -55
    doc/gplate/tmpl/gplate-errors.sgml
  • +0 -48
    doc/gplate/tmpl/gplate-file-variable.sgml
  • +0 -28
    doc/gplate/tmpl/gplate-for-function.sgml
  • +0 -36
    doc/gplate/tmpl/gplate-function.sgml
  • +0 -27
    doc/gplate/tmpl/gplate-include-function.sgml
  • +0 -43
    doc/gplate/tmpl/gplate-iterator.sgml
  • +0 -182
    doc/gplate/tmpl/gplate-library.sgml
  • +0 -27
    doc/gplate/tmpl/gplate-noop-function.sgml
  • +0 -52
    doc/gplate/tmpl/gplate-object-variable.sgml
  • +0 -26
    doc/gplate/tmpl/gplate-print-function.sgml
  • +0 -71
    doc/gplate/tmpl/gplate-tag.sgml
  • +0 -195
    doc/gplate/tmpl/gplate-template.sgml
  • +0 -28
    doc/gplate/tmpl/gplate-text-function.sgml
  • +0 -33
    doc/gplate/tmpl/gplate-text-tag.sgml
  • +0 -211
    doc/gplate/tmpl/gplate-unused.sgml
  • +0 -52
    doc/gplate/tmpl/gplate-util.sgml
  • +0 -27
    doc/gplate/tmpl/gplate-variable-tag.sgml
  • +0 -113
    doc/gplate/tmpl/gplate-variable.sgml
  • +1 -1
    gplate/functions/gplate-for-function.c
  • +35 -2
    gplate/functions/gplate-for-function.h
  • +1 -1
    gplate/functions/gplate-include-function.c
  • +34 -2
    gplate/functions/gplate-include-function.h
  • +1 -1
    gplate/functions/gplate-noop-function.c
  • +24 -2
    gplate/functions/gplate-noop-function.h
  • +1 -1
    gplate/functions/gplate-print-function.c
  • +23 -2
    gplate/functions/gplate-print-function.h
  • +1 -1
    gplate/functions/gplate-text-function.c
  • +25 -2
    gplate/functions/gplate-text-function.h
  • +9 -9
    gplate/gplate-collection.c
  • +92 -4
    gplate/gplate-collection.h
  • +14 -0
    gplate/gplate-config.h
  • +43 -0
    gplate/gplate-errors.h
  • +1 -1
    gplate/gplate-function.c
  • +25 -2
    gplate/gplate-function.h
  • +3 -3
    gplate/gplate-iterator.c
  • +26 -2
    gplate/gplate-iterator.h
  • +24 -0
    gplate/gplate-library.h
  • +3 -3
    gplate/gplate-tag.c
  • +24 -2
    gplate/gplate-tag.h
  • +4 -4
    gplate/gplate-template.c
  • +33 -2
    gplate/gplate-template.h
  • +9 -0
    gplate/gplate-util.h
  • +1 -1
    gplate/gplate-variable.c
  • +27 -2
    gplate/gplate-variable.h
  • +8 -0
    gplate/gplate.h
  • +1 -1
    gplate/tags/gplate-code-tag.c
  • +11 -2
    gplate/tags/gplate-code-tag.h
  • +1 -1
    gplate/tags/gplate-comment-tag.c
  • +25 -2
    gplate/tags/gplate-comment-tag.h
  • +1 -1
    gplate/tags/gplate-text-tag.c
  • +30 -2
    gplate/tags/gplate-text-tag.h
  • +1 -1
    gplate/tags/gplate-variable-tag.c
  • +26 -2
    gplate/tags/gplate-variable-tag.h
  • +4 -4
    gplate/variables/gplate-dictionary-variable.c
  • +27 -2
    gplate/variables/gplate-dictionary-variable.h
  • +1 -1
    gplate/variables/gplate-directory-variable.c
  • +30 -3
    gplate/variables/gplate-directory-variable.h
  • +1 -1
    gplate/variables/gplate-file-variable.c
  • +27 -3
    gplate/variables/gplate-file-variable.h
  • +4 -4
    gplate/variables/gplate-object-variable.c
  • +27 -2
    gplate/variables/gplate-object-variable.h
  • --- a/CMakeLists.txt Mon Oct 01 11:30:52 2012 -0400
    +++ b/CMakeLists.txt Tue Oct 02 20:54:38 2012 -0400
    @@ -71,6 +71,7 @@
    ###############################################################################
    add_subdirectory(gplate)
    add_subdirectory(tests)
    +add_subdirectory(doc)
    ###############################################################################
    # Config Files
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/doc/CMakeLists.txt Tue Oct 02 20:54:38 2012 -0400
    @@ -0,0 +1,1 @@
    +add_subdirectory(gplate)
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/doc/gplate/.gitignore Tue Oct 02 20:54:38 2012 -0400
    @@ -0,0 +1,6 @@
    +overview.sgml
    +gplate.*
    +gplate-*.txt
    +xml*
    +html*
    +sgml*
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/doc/gplate/CMakeLists.txt Tue Oct 02 20:54:38 2012 -0400
    @@ -0,0 +1,5 @@
    +configure_file(overview.sgml.in overview.sgml @ONLY)
    +
    +add_custom_target(doc
    + COMMAND ./build-docs.sh
    + DEPENDS ../../gplate/libgplate.so)
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/doc/gplate/build-docs.sh Tue Oct 02 20:54:38 2012 -0400
    @@ -0,0 +1,52 @@
    +#!/bin/sh -e
    +#
    +# build-docs.sh - Build documentation with gtk-doc.
    +#
    +DOC_MODULE=gplate
    +SCAN_OPTIONS=
    +SCANGOBJ_OPTIONS=
    +MKDB_OPTIONS="--xml-mode --output-format=xml"
    +DOC_MAIN_SGML_FILE=${DOC_MODULE}-docs.sgml
    +
    +CONTENT_FILES="overview.sgml"
    +EXPAND_CONTENT_FILES="overview.sgml"
    +
    +DOC_SOURCE_DIR="$(pwd)"
    +SOURCE_DIR="$(realpath ../../gplate)"
    +
    +export CFLAGS="$(pkg-config --cflags gobject-2.0) -I../../gplate"
    +export LDFLAGS="$(pkg-config --libs gobject-2.0) -L../../gplate -lgplate"
    +export LD_LIBRARY_PATH="$(realpath `pwd`/../../gplate)"
    +
    +echo "CFLAGS=${CFLAGS}"
    +echo "LDFLAGS=${LDFLAGS}"
    +
    +echo "Cleaning docs..."
    +rm -Rf gplate.* gplate-*.txt xml* html* sgml*
    +
    +echo "Scanning sources..."
    +gtkdoc-scan --module=${DOC_MODULE} "--source-dir=${SOURCE_DIR}" ${SCAN_OPTIONS}
    +
    +echo "Filtering unimplemented objects from gplate.types..."
    +# filter the unimplemented ones out.
    +sed -i 's/.*object_variable_get.*//;s/.*directory_variable_get.*//;s/.*file_variable_get.*//;' gplate.types
    +
    +echo "Scanning GObjects..."
    +gtkdoc-scangobj ${SCANGOBJ_OPTIONS} --module=${DOC_MODULE}
    +
    +echo "Creating database..."
    +gtkdoc-mkdb --module=${DOC_MODULE} \
    + --expand-content-files="${EXPAND_CONTENT_FILES}" ${MKDB_OPTIONS} \
    + --main-sgml-file=${DOC_MAIN_SGML_FILE} --source-dir="${SOURCE_DIR}"
    +
    +echo "Creating HTML..."
    +rm -Rf html; mkdir html
    +cd html
    +gtkdoc-mkhtml ${MKHTML_OPTIONS} ${DOC_MODULE} ../${DOC_MAIN_SGML_FILE}
    +cd ..
    +
    +echo "Fixing cross-references..."
    +gtkdoc-fixxref --module=${DOC_MODULE} --module-dir=html --html-dir=html \
    + ${FIXXREF_OPTIONS}
    +
    +echo "Done."
    --- a/doc/gplate/gplate-sections.txt Mon Oct 01 11:30:52 2012 -0400
    +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
    @@ -1,361 +0,0 @@
    -<SECTION>
    -<FILE>gplate-code-tag</FILE>
    -<TITLE>GPlateCodeTag</TITLE>
    -GPlateCodeTag
    -<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
    -GPlateCodeTagClass
    -gplate_code_tag_get_gtype
    -</SECTION>
    -
    -<SECTION>
    -<FILE>gplate-template</FILE>
    -<TITLE>GPlateTemplate</TITLE>
    -GPlateTemplate
    -gplate_template_new
    -gplate_template_tokenize
    -gplate_template_render
    -gplate_template_render_file
    -gplate_template_render_until
    -gplate_template_first_tag
    -gplate_template_last_tag
    -gplate_template_current_tag
    -gplate_template_next_tag
    -gplate_template_previous_tag
    -gplate_template_nth_tag
    -gplate_template_nth_previous_tag
    -gplate_template_jump_to
    -gplate_template_insert_tags
    -gplate_template_render_tag
    -gplate_template_get_working_directory
    -gplate_template_set_working_directory
    -<SUBSECTION Standard>
    -GPLATE_TEMPLATE
    -GPLATE_IS_TEMPLATE
    -GPLATE_TYPE_TEMPLATE
    -GPLATE_TEMPLATE_CLASS
    -GPLATE_IS_TEMPLATE_CLASS
    -GPLATE_TEMPLATE_GET_CLASS
    -GPlateTemplateClass
    -gplate_template_get_gtype
    -</SECTION>
    -
    -<SECTION>
    -<FILE>gplate-object-variable</FILE>
    -<TITLE>GPlateObjectVariable</TITLE>
    -GPlateObjectVariable
    -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
    -GPlateObjectVariableClass
    -gplate_object_variable_get_gtype
    -</SECTION>
    -
    -<SECTION>
    -<FILE>gplate-dictionary-variable</FILE>
    -<TITLE>GPlateDictionaryVariable</TITLE>
    -GPlateDictionaryVariable
    -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
    -GPlateDictionaryVariableClass
    -gplate_dictionary_variable_get_gtype
    -</SECTION>
    -
    -<SECTION>
    -<FILE>gplate-tag</FILE>
    -<TITLE>GPlateTag</TITLE>
    -GPlateTag
    -gplate_tag_get_contents
    -gplate_tag_get_template
    -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
    -GPlateTagClass
    -gplate_tag_get_gtype
    -</SECTION>
    -
    -<SECTION>
    -<FILE>gplate-variable-tag</FILE>
    -<TITLE>GPlateVariableTag</TITLE>
    -GPlateVariableTag
    -<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
    -GPlateVariableTagClass
    -gplate_variable_tag_get_gtype
    -</SECTION>
    -
    -<SECTION>
    -<FILE>gplate-comment-tag</FILE>
    -<TITLE>GPlateCommentTag</TITLE>
    -GPlateCommentTag
    -<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
    -GPlateCommentTagClass
    -gplate_comment_tag_get_gtype
    -</SECTION>
    -
    -<SECTION>
    -<FILE>gplate-text-tag</FILE>
    -<TITLE>GPlateTextTag</TITLE>
    -GPlateTextTag
    -<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
    -GPlateTextTagClass
    -gplate_text_tag_get_gtype
    -</SECTION>
    -
    -<SECTION>
    -<FILE>gplate-variable</FILE>
    -<TITLE>GPlateVariable</TITLE>
    -GPlateVariable
    -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
    -gplate_variable_set_value
    -<SUBSECTION Standard>
    -GPLATE_VARIABLE
    -GPLATE_IS_VARIABLE
    -GPLATE_TYPE_VARIABLE
    -GPLATE_VARIABLE_CLASS
    -GPLATE_IS_VARIABLE_CLASS
    -GPLATE_VARIABLE_GET_CLASS
    -GPlateVariableClass
    -gplate_variable_get_gtype
    -</SECTION>
    -
    -<SECTION>
    -<FILE>gplate-collection</FILE>
    -GPlateCollection
    -GPlateCollectionIface
    -gplate_collection_find_variable
    -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_add_variable
    -gplate_collection_get_iterator
    -gplate_collection_remove_variable
    -gplate_collection_add_variable_with_name
    -gplate_collection_lookup
    -gplate_collection_remove_all
    -<SUBSECTION Standard>
    -GPLATE_COLLECTION
    -GPLATE_IS_COLLECTION
    -GPLATE_TYPE_COLLECTION
    -GPLATE_COLLECTION_GET_IFACE
    -gplate_collection_get_gtype
    -</SECTION>
    -
    -<SECTION>
    -<FILE>gplate-function</FILE>
    -GPlateFunction
    -gplate_function_evaluate
    -<SUBSECTION Standard>
    -GPLATE_FUNCTION
    -GPLATE_FUNCTION_CLASS
    -GPLATE_FUNCTION_GET_CLASS
    -GPLATE_IS_FUNCTION
    -GPLATE_IS_FUNCTION_CLASS
    -GPLATE_TYPE_FUNCTION
    -GPlateFunctionClass
    -gplate_function_get_gtype
    -</SECTION>
    -
    -<SECTION>
    -<FILE>gplate-noop-function</FILE>
    -GPlateNoopFunction
    -<SUBSECTION Standard>
    -GPLATE_NOOP_FUNCTION
    -GPLATE_NOOP_FUNCTION_CLASS
    -GPLATE_NOOP_FUNCTION_GET_CLASS
    -GPLATE_IS_NOOP_FUNCTION
    -GPLATE_IS_NOOP_FUNCTION_CLASS
    -GPLATE_TYPE_NOOP_FUNCTION
    -GPlateNoopFunctionClass
    -gplate_noop_function_get_gtype
    -</SECTION>
    -
    -<SECTION>
    -<FILE>gplate-print-function</FILE>
    -GPlatePrintFunction
    -<SUBSECTION Standard>
    -GPLATE_PRINT_FUNCTION
    -GPLATE_PRINT_FUNCTION_CLASS
    -GPLATE_PRINT_FUNCTION_GET_CLASS
    -GPLATE_IS_PRINT_FUNCTION
    -GPLATE_IS_PRINT_FUNCTION_CLASS
    -GPLATE_TYPE_PRINT_FUNCTION
    -GPlatePrintFunctionClass
    -gplate_print_function_get_gtype
    -</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
    -gplate_library_get_default_tag
    -gplate_library_get_default_function_for_tag
    -gplate_library_set_default_function_for_tag
    -</SECTION>
    -
    -<SECTION>
    -<FILE>gplate-errors</FILE>
    -GPLATE_DOMAIN
    -GPlateErrors
    -gplate_errors_get_quark
    -</SECTION>
    -
    -<SECTION>
    -<FILE>gplate-config</FILE>
    -gplate_config_load_default
    -</SECTION>
    -
    -<SECTION>
    -<FILE>gplate-util</FILE>
    -gplate_util_get_first_word
    -gplate_util_is_quoted_string
    -gplate_util_read_file
    -</SECTION>
    -
    -<SECTION>
    -<FILE>gplate-include-function</FILE>
    -GPlateIncludeFunction
    -<SUBSECTION Standard>
    -GPLATE_INCLUDE_FUNCTION
    -GPLATE_INCLUDE_FUNCTION_CLASS
    -GPLATE_INCLUDE_FUNCTION_GET_CLASS
    -GPLATE_IS_INCLUDE_FUNCTION
    -GPLATE_IS_INCLUDE_FUNCTION_CLASS
    -GPLATE_TYPE_INCLUDE_FUNCTION
    -GPlateIncludeFunctionClass
    -gplate_include_function_get_gtype
    -</SECTION>
    -
    -<SECTION>
    -<FILE>gplate-text-function</FILE>
    -GPlateTextFunction
    -<SUBSECTION Standard>
    -GPLATE_IS_TEXT_FUNCTION
    -GPLATE_IS_TEXT_FUNCTION_CLASS
    -GPLATE_TEXT_FUNCTION
    -GPLATE_TEXT_FUNCTION_CLASS
    -GPLATE_TEXT_FUNCTION_GET_CLASS
    -GPLATE_TYPE_TEXT_FUNCTION
    -GPlateTextFunctionClass
    -gplate_text_function_get_gtype
    -</SECTION>
    -
    -<SECTION>
    -<FILE>gplate-iterator</FILE>
    -GPlateIterator
    -gplate_iterator_has_next
    -gplate_iterator_next
    -<SUBSECTION Standard>
    -GPLATE_TYPE_ITERATOR
    -GPLATE_ITERATOR
    -GPLATE_IS_ITERATOR
    -GPLATE_ITERATOR_GET_IFACE
    -GPlateIteratorIface
    -gplate_iterator_get_gtype
    -</SECTION>
    -
    -<SECTION>
    -<FILE>gplate-for-function</FILE>
    -GPlateForFunction
    -<SUBSECTION Standard>
    -GPLATE_IS_FOR_FUNCTION
    -GPLATE_IS_FOR_FUNCTION_CLASS
    -GPLATE_FOR_FUNCTION
    -GPLATE_FOR_FUNCTION_CLASS
    -GPLATE_FOR_FUNCTION_GET_CLASS
    -GPLATE_TYPE_FOR_FUNCTION
    -GPlateForFunctionClass
    -gplate_for_function_get_gtype
    -</SECTION>
    -
    -<SECTION>
    -<FILE>gplate-directory-variable</FILE>
    -GPlateDirectoryVariable
    -gplate_directory_variable_new
    -gplate_directory_variable_refresh
    -<SUBSECTION Standard>
    -GPLATE_IS_DIRECTORY_VARIABLE
    -GPLATE_IS_DIRECTORY_VARIABLE_CLASS
    -GPLATE_DIRECTORY_VARIABLE
    -GPLATE_DIRECTORY_VARIABLE_CLASS
    -GPLATE_DIRECTORY_VARIABLE_GET_CLASS
    -GPLATE_TYPE_DIRECTORY_VARIABLE
    -GPlateDirectoryVariableClass
    -gplate_directory_variable_get_gtype
    -</SECTION>
    -
    -<SECTION>
    -<FILE>gplate-file-variable</FILE>
    -GPlateFileVariable
    -gplate_file_variable_new
    -gplate_file_variable_refresh
    -<SUBSECTION Standard>
    -GPLATE_IS_FILE_VARIABLE
    -GPLATE_IS_FILE_VARIABLE_CLASS
    -GPLATE_FILE_VARIABLE
    -GPLATE_FILE_VARIABLE_CLASS
    -GPLATE_FILE_VARIABLE_GET_CLASS
    -GPLATE_TYPE_FILE_VARIABLE
    -GPlateFileVariableClass
    -gplate_file_variable_get_gtype
    -</SECTION>
    -
    --- a/doc/gplate/gplate.types Mon Oct 01 11:30:52 2012 -0400
    +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
    @@ -1,25 +0,0 @@
    -#include <gplate/gplate.h>
    -
    -gplate_collection_get_gtype
    -gplate_function_get_gtype
    -gplate_iterator_get_gtype
    -gplate_tag_get_gtype
    -gplate_template_get_gtype
    -gplate_variable_get_gtype
    -
    -gplate_for_function_get_gtype
    -gplate_include_function_get_gtype
    -gplate_noop_function_get_gtype
    -gplate_print_function_get_gtype
    -gplate_text_function_get_gtype
    -
    -gplate_code_tag_get_gtype
    -gplate_comment_tag_get_gtype
    -gplate_text_tag_get_gtype
    -gplate_variable_tag_get_gtype
    -
    -gplate_dictionary_variable_get_gtype
    -gplate_object_variable_get_gtype
    -gplate_directory_variable_get_gtype
    -gplate_file_variable_get_gtype
    -
    --- a/doc/gplate/tmpl/gplate-code-tag.sgml Mon Oct 01 11:30:52 2012 -0400
    +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
    @@ -1,26 +0,0 @@
    -<!-- ##### SECTION Title ##### -->
    -GPlateCodeTag
    -
    -<!-- ##### SECTION Short_Description ##### -->
    -A #GPlateTag that can contain functions.
    -
    -<!-- ##### SECTION Long_Description ##### -->
    -<para>
    -#GPlateCodeTag is a tag that can contain functions and will evaluate them to
    -render output.
    -</para>
    -
    -<!-- ##### SECTION See_Also ##### -->
    -<para>
    -
    -</para>
    -
    -<!-- ##### SECTION Stability_Level ##### -->
    -
    -
    -<!-- ##### STRUCT GPlateCodeTag ##### -->
    -<para>
    - #GPlateCodeTag is an opaque structure and should not be used directly.
    -</para>
    -
    -
    --- a/doc/gplate/tmpl/gplate-collection.sgml Mon Oct 01 11:30:52 2012 -0400
    +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
    @@ -1,188 +0,0 @@
    -<!-- ##### SECTION Title ##### -->
    -GPlateCollection
    -
    -<!-- ##### SECTION Short_Description ##### -->
    -A collection of #GPlateVariable's
    -
    -<!-- ##### SECTION Long_Description ##### -->
    -<para>
    -#GPlateCollection is a #GInterface that defines the behavior of a variable
    -collection.
    -</para>
    -
    -<!-- ##### SECTION See_Also ##### -->
    -<para>
    -
    -</para>
    -
    -<!-- ##### SECTION Stability_Level ##### -->
    -
    -
    -<!-- ##### STRUCT GPlateCollection ##### -->
    -<para>
    -The <structname>GPlateCollection</structname> typedef is used as a placeholder
    -for objects that implement the <structname>GPlateCollection</structname>
    -interface.
    -</para>
    -
    -
    -<!-- ##### STRUCT GPlateCollectionIface ##### -->
    -<para>
    -The #GPlateColleciton interface is used to define the behavior for a variable
    -collection.
    -</para>
    -
    -@gparent: The parent data.
    -@find_variable: Finds a variable.
    -@add_variable_with_name: Adds a variable to the collection with the given name.
    -@remove_variable: Removes a variable from the collection.
    -@remove_all: Removes all variables in the collection.
    -@get_iterator: Returns a #GPlateIterator initialized to the first element of the collection.
    -@_gplate_reserved1: Reserved.
    -@_gplate_reserved2: Reserved.
    -@_gplate_reserved3: Reserved.
    -@_gplate_reserved4: Reserved.
    -
    -<!-- ##### FUNCTION gplate_collection_find_variable ##### -->
    -<para>
    -
    -</para>
    -
    -@collection:
    -@name:
    -@Returns:
    -
    -
    -<!-- ##### MACRO gplate_collection_add ##### -->
    -<para>
    -Adds a #GPlateVariable to @collection.
    -
    -This is a helper around the variable api to avoid having to manually create and
    -add variables.
    -</para>
    -
    -@collection: The #GPlateCollection.
    -@type: The type of the variable. This should be a string in the form of "string", "integer", etc.
    -@name: The name of the variable.
    -@value: The value of the variable.
    -
    -
    -<!-- ##### MACRO gplate_collection_add_string ##### -->
    -<para>
    -A helper macro for adding a string variable to a collection.
    -
    -This is a wrapper around the #gplate_collection_add macro.
    -</para>
    -
    -@collection: The #GPlateCollection.
    -@name: The name of the variable.
    -@value: The value of the variable.
    -
    -
    -<!-- ##### MACRO gplate_collection_add_boolean ##### -->
    -<para>
    -A helper macro for adding a boolean variable to a collection.
    -
    -This is a wrapper around the #gplate_collection_add macro.
    -</para>
    -
    -@collection: The #GPlateCollection.
    -@name: The name of the variable.
    -@value: The value of the variable.
    -
    -
    -<!-- ##### MACRO gplate_collection_add_integer ##### -->
    -<para>
    -A helper macro for adding a integer variable to a collection.
    -
    -This is a wrapper around the #gplate_collection_add macro.
    -</para>
    -
    -@collection: The #GPlateCollection.
    -@name: The name of the variable.
    -@value: The value of the variable.
    -
    -
    -<!-- ##### MACRO gplate_collection_add_float ##### -->
    -<para>
    -A helper macro for adding a float variable to a collection.
    -
    -This is a wrapper around the #gplate_collection_add macro.
    -</para>
    -
    -@collection: The #GPlateCollection.
    -@name: The name of the variable.
    -@value: The value of the variable.
    -
    -
    -<!-- ##### MACRO gplate_collection_add_double ##### -->
    -<para>
    -A helper macro for adding a double variable to a collection.
    -
    -This is a wrapper around the #gplate_collection_add macro.
    -</para>
    -
    -@collection: The #GPlateCollection.
    -@name: The name of the variable.
    -@value: The value of the variable.
    -
    -
    -<!-- ##### FUNCTION gplate_collection_add_variable ##### -->
    -<para>
    -
    -</para>
    -
    -@collection:
    -@variable:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_collection_get_iterator ##### -->
    -<para>
    -
    -</para>
    -
    -@collection:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_collection_remove_variable ##### -->
    -<para>
    -
    -</para>
    -
    -@collection:
    -@variable:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_collection_add_variable_with_name ##### -->
    -<para>
    -
    -</para>
    -
    -@collection:
    -@name:
    -@variable:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_collection_lookup ##### -->
    -<para>
    -
    -</para>
    -
    -@collection:
    -@name:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_collection_remove_all ##### -->
    -<para>
    -
    -</para>
    -
    -@collection:
    -@Returns:
    -
    -
    --- a/doc/gplate/tmpl/gplate-comment-tag.sgml Mon Oct 01 11:30:52 2012 -0400
    +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
    @@ -1,26 +0,0 @@
    -<!-- ##### SECTION Title ##### -->
    -GPlateCommentTag
    -
    -<!-- ##### SECTION Short_Description ##### -->
    -A #GPlateTag that renders nothing
    -
    -<!-- ##### SECTION Long_Description ##### -->
    -<para>
    -#GPlateCommentTag is a #GPlateTag that uses the #GPlateNoopFunction to render
    -it's output of an empty string.
    -</para>
    -
    -<!-- ##### SECTION See_Also ##### -->
    -<para>
    -
    -</para>
    -
    -<!-- ##### SECTION Stability_Level ##### -->
    -
    -
    -<!-- ##### STRUCT GPlateCommentTag ##### -->
    -<para>
    - #GPlateCommentTag is an opaque structure and should not be used directly
    -</para>
    -
    -
    --- a/doc/gplate/tmpl/gplate-config.sgml Mon Oct 01 11:30:52 2012 -0400
    +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
    @@ -1,26 +0,0 @@
    -<!-- ##### SECTION Title ##### -->
    -Configuration
    -
    -<!-- ##### SECTION Short_Description ##### -->
    -API for loading custom configurations
    -
    -<!-- ##### SECTION Long_Description ##### -->
    -<para>
    -The config API is meant to be a simple way to load different tag sets.
    -</para>
    -
    -<!-- ##### SECTION See_Also ##### -->
    -<para>
    -
    -</para>
    -
    -<!-- ##### SECTION Stability_Level ##### -->
    -
    -
    -<!-- ##### FUNCTION gplate_config_load_default ##### -->
    -<para>
    -
    -</para>
    -
    -
    -
    --- a/doc/gplate/tmpl/gplate-dictionary-variable.sgml Mon Oct 01 11:30:52 2012 -0400
    +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
    @@ -1,37 +0,0 @@
    -<!-- ##### SECTION Title ##### -->
    -GPlateDictionaryVariable
    -
    -<!-- ##### SECTION Short_Description ##### -->
    -A dictionary #GPlateVariable
    -
    -<!-- ##### SECTION Long_Description ##### -->
    -<para>
    -#GPlateDictionaryVariable is both a #GPlateVariable and a #GPlateCollection.
    -
    -It's meant to be used as a simple grouping of similar variables.
    -</para>
    -
    -<!-- ##### SECTION See_Also ##### -->
    -<para>
    -
    -</para>
    -
    -<!-- ##### SECTION Stability_Level ##### -->
    -
    -
    -<!-- ##### STRUCT GPlateDictionaryVariable ##### -->
    -<para>
    -#GPlateDictionaryVariable is an opaque data structure and should not be used
    -directly.
    -</para>
    -
    -
    -<!-- ##### FUNCTION gplate_dictionary_variable_new ##### -->
    -<para>
    -
    -</para>
    -
    -@name:
    -@Returns:
    -
    -
    --- a/doc/gplate/tmpl/gplate-directory-variable.sgml Mon Oct 01 11:30:52 2012 -0400
    +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
    @@ -1,49 +0,0 @@
    -<!-- ##### SECTION Title ##### -->
    -gplate-directory-variable
    -
    -<!-- ##### SECTION Short_Description ##### -->
    -A #GPlateCollection that holds #GPlateFileVariable's.
    -
    -<!-- ##### SECTION Long_Description ##### -->
    -<para>
    -#GPlateDirectoryVariable is a #GPlateCollection that is populated with
    -#GPlateFileVariable's for each file in the given path.
    -</para>
    -
    -<!-- ##### SECTION See_Also ##### -->
    -<para>
    -
    -</para>
    -
    -<!-- ##### SECTION Stability_Level ##### -->
    -
    -
    -<!-- ##### STRUCT GPlateDirectoryVariable ##### -->
    -<para>
    -#GPlateDirectoryVariable is an opaque data structure and should not be used directly.
    -</para>
    -
    -
    -<!-- ##### ARG GPlateDirectoryVariable:path ##### -->
    -<para>
    -
    -</para>
    -
    -<!-- ##### FUNCTION gplate_directory_variable_new ##### -->
    -<para>
    -
    -</para>
    -
    -@name:
    -@path:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_directory_variable_refresh ##### -->
    -<para>
    -
    -</para>
    -
    -@directory_variable:
    -
    -
    --- a/doc/gplate/tmpl/gplate-errors.sgml Mon Oct 01 11:30:52 2012 -0400
    +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
    @@ -1,55 +0,0 @@
    -<!-- ##### SECTION Title ##### -->
    -Error Reporting
    -
    -<!-- ##### SECTION Short_Description ##### -->
    -API and constants for reporting errors.
    -
    -<!-- ##### SECTION Long_Description ##### -->
    -<para>
    -The error reporting API overall, is rather simple. There's a macro for the
    -error domain, and an enum for the error values. Nothing more.
    -</para>
    -
    -<!-- ##### SECTION See_Also ##### -->
    -<para>
    -
    -</para>
    -
    -<!-- ##### SECTION Stability_Level ##### -->
    -
    -
    -<!-- ##### MACRO GPLATE_DOMAIN ##### -->
    -<para>
    -Defines the log domain for GPlate.
    -</para>
    -
    -
    -
    -<!-- ##### ENUM GPlateErrors ##### -->
    -<para>
    -Constants for common errors in GPlate.
    -</para>
    -
    -@GPLATE_ERROR_TYPE_IS_NOT_DESCENDANT: Used when an ancestry check fails.
    -@GPLATE_ERROR_TYPE_IS_ABSTRACT: Used when ancestry check requires a concrete class.
    -@GPLATE_ERROR_UTIL_FILE_DOES_NOT_EXIST: Used when a util function can not find a file.
    -@GPLATE_ERROR_LIBRARY_FUNCTION_NAME_EXISTS: Used when a #GPlateFunction is added to the library when a #GPlateFunction has already been registered with the same name.
    -@GPLATE_ERROR_LIBRARY_FUNCTION_NAME_NOT_FOUND: Used when a lookup fails.
    -@GPLATE_ERROR_LIBRARY_FUNCTION_BOUND: Used when a #GPlateFunction is already bound to a #GPlateTag.
    -@GPLATE_ERROR_LIBRARY_FUNCTION_NOT_BOUND: Used when a #GPlateFunction is not bound to a #GPlateTag.
    -@GPLATE_ERROR_LIBRARY_FUNCTION_NOT_BOUND_TO_TAG: Used when a #GPlateFunction is not bound to a specific #GPlateTag.
    -@GPLATE_ERROR_LIBRARY_TAG_EXISTS: Used when a tag has already been registered in the library.
    -@GPLATE_ERROR_LIBRARY_TAG_NOT_FOUND: Used when a lookup fails for a tag.
    -@GPLATE_ERROR_LIBRARY_TAG_NO_PREFIX_HAVE_SUFFIX: Used when a tag is registered and it does not have a prefix, but has a suffix.
    -@GPLATE_ERROR_LIBRARY_TAG_HAVE_PREFIX_NO_SUFFIX: Used when a tag is registered and it has a prefix, but does not have a suffix.
    -@GPLATE_ERROR_LIBRARY_DEFAULT_TAG_REGISTERED: Used when a default tag has already been registered.
    -@GPLATE_ERROR_UNKNOWN: Undefined error.
    -
    -<!-- ##### FUNCTION gplate_errors_get_quark ##### -->
    -<para>
    -
    -</para>
    -
    -@Returns:
    -
    -
    --- a/doc/gplate/tmpl/gplate-file-variable.sgml Mon Oct 01 11:30:52 2012 -0400
    +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
    @@ -1,48 +0,0 @@
    -<!-- ##### SECTION Title ##### -->
    -gplate-file-variable
    -
    -<!-- ##### SECTION Short_Description ##### -->
    -A #GPlateCollection that holds information about a file.
    -
    -<!-- ##### SECTION Long_Description ##### -->
    -<para>
    -#GPlateFileVariable contains variables for all of the values returned by stat.
    -</para>
    -
    -<!-- ##### SECTION See_Also ##### -->
    -<para>
    -
    -</para>
    -
    -<!-- ##### SECTION Stability_Level ##### -->
    -
    -
    -<!-- ##### STRUCT GPlateFileVariable ##### -->
    -<para>
    -#GPlateFileVariable is an opaque data structure and should not be used directly.
    -</para>
    -
    -
    -<!-- ##### ARG GPlateFileVariable:filename ##### -->
    -<para>
    -
    -</para>
    -
    -<!-- ##### FUNCTION gplate_file_variable_new ##### -->
    -<para>
    -
    -</para>
    -
    -@name:
    -@filename:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_file_variable_refresh ##### -->
    -<para>
    -
    -</para>
    -
    -@file_variable:
    -
    -
    --- a/doc/gplate/tmpl/gplate-for-function.sgml Mon Oct 01 11:30:52 2012 -0400
    +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
    @@ -1,28 +0,0 @@
    -<!-- ##### SECTION Title ##### -->
    -GPlateForFunction
    -
    -<!-- ##### SECTION Short_Description ##### -->
    -A for function.
    -
    -<!-- ##### SECTION Long_Description ##### -->
    -<para>
    -#GPlateForFunction implements for loops in GPlate.
    -
    -It requires the syntax of "for item in items" where item is the variable to put
    -each item in and items is the #GPlateCollection which is being iterated.
    -</para>
    -
    -<!-- ##### SECTION See_Also ##### -->
    -<para>
    -
    -</para>
    -
    -<!-- ##### SECTION Stability_Level ##### -->
    -
    -
    -<!-- ##### STRUCT GPlateForFunction ##### -->
    -<para>
    -#GPlateForFunction is an opaque data structure and should not be used directly.
    -</para>
    -
    -
    --- a/doc/gplate/tmpl/gplate-function.sgml Mon Oct 01 11:30:52 2012 -0400
    +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
    @@ -1,36 +0,0 @@
    -<!-- ##### SECTION Title ##### -->
    -GPlateFunction
    -
    -<!-- ##### SECTION Short_Description ##### -->
    -The base class for all functions.
    -
    -<!-- ##### SECTION Long_Description ##### -->
    -<para>
    -#GPlateFunction defines the behavior for all functions.
    -</para>
    -
    -<!-- ##### SECTION See_Also ##### -->
    -<para>
    -
    -</para>
    -
    -<!-- ##### SECTION Stability_Level ##### -->
    -
    -
    -<!-- ##### STRUCT GPlateFunction ##### -->
    -<para>
    -#GPlateFunction is an opaque data structure that should not be used directly.
    -</para>
    -
    -
    -<!-- ##### FUNCTION gplate_function_evaluate ##### -->
    -<para>
    -
    -</para>
    -
    -@function:
    -@tplate:
    -@contents:
    -@Returns:
    -
    -
    --- a/doc/gplate/tmpl/gplate-include-function.sgml Mon Oct 01 11:30:52 2012 -0400
    +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
    @@ -1,27 +0,0 @@
    -<!-- ##### SECTION Title ##### -->
    -GPlateIncludeFunction
    -
    -<!-- ##### SECTION Short_Description ##### -->
    -An include function.
    -
    -<!-- ##### SECTION Long_Description ##### -->
    -<para>
    -#GPlateIncludeFunction is used to include external templates into your own
    -template.
    -</para>
    -
    -<!-- ##### SECTION See_Also ##### -->
    -<para>
    -
    -</para>
    -
    -<!-- ##### SECTION Stability_Level ##### -->
    -
    -
    -<!-- ##### STRUCT GPlateIncludeFunction ##### -->
    -<para>
    -#GPlateIncludeFunction is an opaque data structure and should not be used
    -directly.
    -</para>
    -
    -
    --- a/doc/gplate/tmpl/gplate-iterator.sgml Mon Oct 01 11:30:52 2012 -0400
    +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
    @@ -1,43 +0,0 @@
    -<!-- ##### SECTION Title ##### -->
    -GPlateIterator
    -
    -<!-- ##### SECTION Short_Description ##### -->
    -An iterator for #GPlateCollection's.
    -
    -<!-- ##### SECTION Long_Description ##### -->
    -<para>
    -#GPlateIterator is an iterface for interating a #GPlateCollection.
    -</para>
    -
    -<!-- ##### SECTION See_Also ##### -->
    -<para>
    -
    -</para>
    -
    -<!-- ##### SECTION Stability_Level ##### -->
    -
    -
    -<!-- ##### STRUCT GPlateIterator ##### -->
    -<para>
    -#GPlateIterator is an opaque data structure and should not be used directly.
    -</para>
    -
    -
    -<!-- ##### FUNCTION gplate_iterator_has_next ##### -->
    -<para>
    -
    -</para>
    -
    -@iter:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_iterator_next ##### -->
    -<para>
    -
    -</para>
    -
    -@iter:
    -@Returns:
    -
    -
    --- a/doc/gplate/tmpl/gplate-library.sgml Mon Oct 01 11:30:52 2012 -0400
    +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
    @@ -1,182 +0,0 @@
    -<!-- ##### SECTION Title ##### -->
    -Function and Tag Library
    -
    -<!-- ##### SECTION Short_Description ##### -->
    -The library of functions and tags.
    -
    -<!-- ##### SECTION Long_Description ##### -->
    -<para>
    -The library is a set of API meant to manage all functions and tags. All
    -#GPlateFunction children should be registered in the library, and if deemed
    -necessary bound to a specific tag.
    -
    -All #GPlateTag's should be registered in the library as well. If a tag
    -is not registered in the library, #GPlateTemplate will not use them.
    -</para>
    -
    -<!-- ##### SECTION See_Also ##### -->
    -<para>
    -
    -</para>
    -
    -<!-- ##### SECTION Stability_Level ##### -->
    -
    -
    -<!-- ##### USER_FUNCTION GPlateLibraryTagsForeachFunc ##### -->
    -<para>
    -A callback function for use with #gplate_library_tags_foreach.
    -</para>
    -
    -@tag: The #GType of the tag.
    -@prefix: The prefix of the tag.
    -@suffix: The suffix of the tag.
    -@data: User data.
    -
    -
    -<!-- ##### FUNCTION gplate_library_add_function ##### -->
    -<para>
    -
    -</para>
    -
    -@name:
    -@function:
    -@error:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_library_remove_function ##### -->
    -<para>
    -
    -</para>
    -
    -@name:
    -@error:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_library_add_tag ##### -->
    -<para>
    -
    -</para>
    -
    -@tag:
    -@error:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_library_remove_tag ##### -->
    -<para>
    -
    -</para>
    -
    -@tag:
    -@error:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_library_bind_function ##### -->
    -<para>
    -
    -</para>
    -
    -@name:
    -@tag:
    -@error:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_library_unbind_function ##### -->
    -<para>
    -
    -</para>
    -
    -@name:
    -@error:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_library_add_bound_function ##### -->
    -<para>
    -
    -</para>
    -
    -@name:
    -@function:
    -@tag:
    -@error:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_library_lookup_function ##### -->
    -<para>
    -
    -</para>
    -
    -@name:
    -@function:
    -@tag:
    -@error:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_library_lookup_function_for_tag ##### -->
    -<para>
    -
    -</para>
    -
    -@name:
    -@tag:
    -@error:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_library_lookup_tag ##### -->
    -<para>
    -
    -</para>
    -
    -@tag:
    -@prefix:
    -@suffix:
    -@error:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_library_tags_foreach ##### -->
    -<para>
    -
    -</para>
    -
    -@func:
    -@data:
    -
    -
    -<!-- ##### FUNCTION gplate_library_get_default_tag ##### -->
    -<para>
    -
    -</para>
    -
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_library_get_default_function_for_tag ##### -->
    -<para>
    -
    -</para>
    -
    -@tag:
    -@error:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_library_set_default_function_for_tag ##### -->
    -<para>
    -
    -</para>
    -
    -@name:
    -@tag:
    -@error:
    -@Returns:
    -
    -
    --- a/doc/gplate/tmpl/gplate-noop-function.sgml Mon Oct 01 11:30:52 2012 -0400
    +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
    @@ -1,27 +0,0 @@
    -<!-- ##### SECTION Title ##### -->
    -GPlateNoopFunction
    -
    -<!-- ##### SECTION Short_Description ##### -->
    -A no operation function
    -
    -<!-- ##### SECTION Long_Description ##### -->
    -<para>
    -#GPlateNoopFunction always evaluates to an empty string.
    -
    -It is the default function of #GPlateCommentTag.
    -</para>
    -
    -<!-- ##### SECTION See_Also ##### -->
    -<para>
    -
    -</para>
    -
    -<!-- ##### SECTION Stability_Level ##### -->
    -
    -
    -<!-- ##### STRUCT GPlateNoopFunction ##### -->
    -<para>
    -#GPlateNoopFunction is an opaque data structure and should not be used directly.
    -</para>
    -
    -
    --- a/doc/gplate/tmpl/gplate-object-variable.sgml Mon Oct 01 11:30:52 2012 -0400
    +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
    @@ -1,52 +0,0 @@
    -<!-- ##### SECTION Title ##### -->
    -GPlateObjectVariable
    -
    -<!-- ##### SECTION Short_Description ##### -->
    -An object #GPlateVariable
    -
    -<!-- ##### SECTION Long_Description ##### -->
    -<para>
    -#GPlateObjectVariable is both a #GPlateVariable and a #GPlateCollection. It
    -is created with a #GObject and exports the properties of the #GObject as
    -variables and allows nesting for object properties.
    -</para>
    -
    -<!-- ##### SECTION See_Also ##### -->
    -<para>
    -
    -</para>
    -
    -<!-- ##### SECTION Stability_Level ##### -->
    -
    -
    -<!-- ##### STRUCT GPlateObjectVariable ##### -->
    -<para>
    -#GPlateObject variable is an opaque data structure and should not be used
    -directly.
    -</para>
    -
    -
    -<!-- ##### ARG GPlateObjectVariable:object ##### -->
    -<para>
    -The object that this object variable was created for.
    -</para>
    -
    -<!-- ##### FUNCTION gplate_object_variable_new_from_object ##### -->
    -<para>
    -
    -</para>
    -
    -@name:
    -@value:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_object_variable_get_object ##### -->
    -<para>
    -
    -</para>
    -
    -@variable:
    -@Returns:
    -
    -
    --- a/doc/gplate/tmpl/gplate-print-function.sgml Mon Oct 01 11:30:52 2012 -0400
    +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
    @@ -1,26 +0,0 @@
    -<!-- ##### SECTION Title ##### -->
    -GPlatePrintFunction
    -
    -<!-- ##### SECTION Short_Description ##### -->
    -A print function.
    -
    -<!-- ##### SECTION Long_Description ##### -->
    -<para>
    -#GPlatePrintFunction is a #GPlateFunction that prints out it's contents.
    -</para>
    -
    -<!-- ##### SECTION See_Also ##### -->
    -<para>
    -
    -</para>
    -
    -<!-- ##### SECTION Stability_Level ##### -->
    -
    -
    -<!-- ##### STRUCT GPlatePrintFunction ##### -->
    -<para>
    -#GPlatePrintFunction is an opaque data structure that should not be used
    -directly.
    -</para>
    -
    -
    --- a/doc/gplate/tmpl/gplate-tag.sgml Mon Oct 01 11:30:52 2012 -0400
    +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
    @@ -1,71 +0,0 @@
    -<!-- ##### SECTION Title ##### -->
    -GPlateTag
    -
    -<!-- ##### SECTION Short_Description ##### -->
    -The base class for all tags.
    -
    -<!-- ##### SECTION Long_Description ##### -->
    -<para>
    -#GPlateTag defines the behavior for all tags.
    -</para>
    -
    -<!-- ##### SECTION See_Also ##### -->
    -<para>
    -
    -</para>
    -
    -<!-- ##### SECTION Stability_Level ##### -->
    -
    -
    -<!-- ##### STRUCT GPlateTag ##### -->
    -<para>
    -#GPlateTag is an opaque structure and should not be used directly.
    -</para>
    -
    -
    -<!-- ##### ARG GPlateTag:contents ##### -->
    -<para>
    -The contents of the tag.
    -</para>
    -
    -<!-- ##### ARG GPlateTag:template ##### -->
    -<para>
    -
    -</para>
    -
    -<!-- ##### FUNCTION gplate_tag_get_contents ##### -->
    -<para>
    -
    -</para>
    -
    -@tag:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_tag_get_template ##### -->
    -<para>
    -
    -</para>
    -
    -@tag:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_tag_class_get_prefix ##### -->
    -<para>
    -
    -</para>
    -
    -@tag_class:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_tag_class_get_suffix ##### -->
    -<para>
    -
    -</para>
    -
    -@tag_class:
    -@Returns:
    -
    -
    --- a/doc/gplate/tmpl/gplate-template.sgml Mon Oct 01 11:30:52 2012 -0400
    +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
    @@ -1,195 +0,0 @@
    -<!-- ##### SECTION Title ##### -->
    -GPlateTemplate
    -
    -<!-- ##### SECTION Short_Description ##### -->
    -A template.
    -
    -<!-- ##### SECTION Long_Description ##### -->
    -<para>
    -#GPlateTemplate is the main object in GPlate. Once created, it can be used to
    -transform text into a human readable output.
    -</para>
    -
    -<!-- ##### SECTION See_Also ##### -->
    -<para>
    -
    -</para>
    -
    -<!-- ##### SECTION Stability_Level ##### -->
    -
    -
    -<!-- ##### STRUCT GPlateTemplate ##### -->
    -<para>
    -#GPlateTemplate is an opaque data structure and should not be used directly.
    -</para>
    -
    -
    -<!-- ##### ARG GPlateTemplate:working-directory ##### -->
    -<para>
    -
    -</para>
    -
    -<!-- ##### FUNCTION gplate_template_new ##### -->
    -<para>
    -
    -</para>
    -
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_template_tokenize ##### -->
    -<para>
    -
    -</para>
    -
    -@tplate:
    -@tplate_string:
    -@error:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_template_render ##### -->
    -<para>
    -
    -</para>
    -
    -@tplate:
    -@tplate_string:
    -@error:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_template_render_file ##### -->
    -<para>
    -
    -</para>
    -
    -@tplate:
    -@filename:
    -@error:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_template_render_until ##### -->
    -<para>
    -
    -</para>
    -
    -@tplate:
    -@ntags:
    -@Varargs:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_template_first_tag ##### -->
    -<para>
    -
    -</para>
    -
    -@tplate:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_template_last_tag ##### -->
    -<para>
    -
    -</para>
    -
    -@tplate:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_template_current_tag ##### -->
    -<para>
    -
    -</para>
    -
    -@tplate:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_template_next_tag ##### -->
    -<para>
    -
    -</para>
    -
    -@tplate:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_template_previous_tag ##### -->
    -<para>
    -
    -</para>
    -
    -@tplate:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_template_nth_tag ##### -->
    -<para>
    -
    -</para>
    -
    -@tplate:
    -@nth:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_template_nth_previous_tag ##### -->
    -<para>
    -
    -</para>
    -
    -@tplate:
    -@nth:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_template_jump_to ##### -->
    -<para>
    -
    -</para>
    -
    -@tplate:
    -@ntags:
    -@Varargs:
    -
    -
    -<!-- ##### FUNCTION gplate_template_insert_tags ##### -->
    -<para>
    -
    -</para>
    -
    -@tplate:
    -@tags:
    -
    -
    -<!-- ##### FUNCTION gplate_template_render_tag ##### -->
    -<para>
    -
    -</para>
    -
    -@tplate:
    -@tag:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_template_get_working_directory ##### -->
    -<para>
    -
    -</para>
    -
    -@tplate:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_template_set_working_directory ##### -->
    -<para>
    -
    -</para>
    -
    -@tplate:
    -@wd:
    -
    -
    --- a/doc/gplate/tmpl/gplate-text-function.sgml Mon Oct 01 11:30:52 2012 -0400
    +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
    @@ -1,28 +0,0 @@
    -<!-- ##### SECTION Title ##### -->
    -GPlateTextFunction
    -
    -<!-- ##### SECTION Short_Description ##### -->
    -A static text function.
    -
    -<!-- ##### SECTION Long_Description ##### -->
    -<para>
    -#GPlateTextFunction is used to output static text.
    -
    -In the default configuration, #GPlateTextFunction is the default function for
    -#GPlateTextTag.
    -</para>
    -
    -<!-- ##### SECTION See_Also ##### -->
    -<para>
    -
    -</para>
    -
    -<!-- ##### SECTION Stability_Level ##### -->
    -
    -
    -<!-- ##### STRUCT GPlateTextFunction ##### -->
    -<para>
    -#GPlateTextFunction is an opaque structure and should not be used directly.
    -</para>
    -
    -
    --- a/doc/gplate/tmpl/gplate-text-tag.sgml Mon Oct 01 11:30:52 2012 -0400
    +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
    @@ -1,33 +0,0 @@
    -<!-- ##### SECTION Title ##### -->
    -GPlateTextTag
    -
    -<!-- ##### SECTION Short_Description ##### -->
    -A #GPlateTag that renders contents directly.
    -
    -<!-- ##### SECTION Long_Description ##### -->
    -<para>
    -#GPlateTextTag is a special #GPlateTag that does not have a prefix nor a
    -suffix. This is what we call a fall through tag.
    -
    -Basically, when a token doesn't match the prefix and suffix of any other tag,
    -it gets passed on to the fall through tag, which is meant to render it
    -exactly the same as the input.
    -
    -To render it's output, #GPlateTextTag uses the #GPlatePrintFunction as it's
    -default function.
    -</para>
    -
    -<!-- ##### SECTION See_Also ##### -->
    -<para>
    -
    -</para>
    -
    -<!-- ##### SECTION Stability_Level ##### -->
    -
    -
    -<!-- ##### STRUCT GPlateTextTag ##### -->
    -<para>
    -#GPlateTextTag is an opaque structure that should not be used directly.
    -</para>
    -
    -
    --- a/doc/gplate/tmpl/gplate-unused.sgml Mon Oct 01 11:30:52 2012 -0400
    +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
    @@ -1,211 +0,0 @@
    -<!-- ##### SECTION ./tmpl/gplate.sgml:Long_Description ##### -->
    -<para>
    -
    -</para>
    -
    -
    -<!-- ##### SECTION ./tmpl/gplate.sgml:See_Also ##### -->
    -<para>
    -
    -</para>
    -
    -
    -<!-- ##### SECTION ./tmpl/gplate.sgml:Short_Description ##### -->
    -
    -
    -
    -<!-- ##### SECTION ./tmpl/gplate.sgml:Stability_Level ##### -->
    -
    -
    -
    -<!-- ##### SECTION ./tmpl/gplate.sgml:Title ##### -->
    -gplate
    -
    -
    -<!-- ##### MACRO GPLATE_INCLUDE_FUNCTION ##### -->
    -<para>
    -
    -</para>
    -
    -@obj:
    -
    -<!-- ##### MACRO GPLATE_INCLUDE_FUNCTION_CLASS ##### -->
    -<para>
    -
    -</para>
    -
    -@klass:
    -
    -<!-- ##### MACRO GPLATE_INCLUDE_FUNCTION_GET_CLASS ##### -->
    -<para>
    -
    -</para>
    -
    -@obj:
    -
    -<!-- ##### MACRO GPLATE_IS_INCLUDE_FUNCTION ##### -->
    -<para>
    -
    -</para>
    -
    -@obj:
    -
    -<!-- ##### MACRO GPLATE_IS_INCLUDE_FUNCTION_CLASS ##### -->
    -<para>
    -
    -</para>
    -
    -@klass:
    -
    -<!-- ##### MACRO GPLATE__H ##### -->
    -<para>
    -
    -</para>
    -
    -
    -<!-- ##### ARG GPlateFunction:name ##### -->
    -<para>
    -
    -</para>
    -
    -
    -<!-- ##### STRUCT GPlateIncludeFunctionClass ##### -->
    -<para>
    -
    -</para>
    -
    -@parent:
    -@_gplate_reserved1:
    -@_gplate_reserved2:
    -@_gplate_reserved3:
    -@_gplate_reserved4:
    -
    -<!-- ##### FUNCTION gplate_code_tag_get_gtype ##### -->
    -<para>
    -
    -</para>
    -
    -@Returns:
    -
    -<!-- ##### FUNCTION gplate_collection_get_gtype ##### -->
    -<para>
    -
    -</para>
    -
    -@Returns:
    -
    -<!-- ##### FUNCTION gplate_comment_tag_get_gtype ##### -->
    -<para>
    -
    -</para>
    -
    -@Returns:
    -
    -<!-- ##### FUNCTION gplate_dictionary_variable_get_gtype ##### -->
    -<para>
    -
    -</para>
    -
    -@Returns:
    -
    -<!-- ##### FUNCTION gplate_directory_variable_get_path ##### -->
    -<para>
    -
    -</para>
    -
    -@directory_variable:
    -@Returns:
    -
    -<!-- ##### FUNCTION gplate_file_variable_get_filename ##### -->
    -<para>
    -
    -</para>
    -
    -@file_variable:
    -@Returns:
    -
    -<!-- ##### FUNCTION gplate_function_get_name ##### -->
    -<para>
    -
    -</para>
    -
    -@function:
    -@Returns:
    -
    -<!-- ##### FUNCTION gplate_include_function_get_gtype ##### -->
    -<para>
    -
    -</para>
    -
    -@Returns:
    -
    -<!-- ##### FUNCTION gplate_object_variable_get_gtype ##### -->
    -<para>
    -
    -</para>
    -
    -@Returns:
    -
    -<!-- ##### FUNCTION gplate_object_variable_new ##### -->
    -<para>
    -
    -</para>
    -
    -@name:
    -@value:
    -@Returns:
    -
    -<!-- ##### FUNCTION gplate_tag_get_gtype ##### -->
    -<para>
    -
    -</para>
    -
    -@Returns:
    -
    -<!-- ##### FUNCTION gplate_tag_render ##### -->
    -<para>
    -
    -</para>
    -
    -@tag:
    -@tplate:
    -@Returns:
    -
    -<!-- ##### FUNCTION gplate_template_add_tag ##### -->
    -<para>
    -
    -</para>
    -
    -@tplate:
    -@tag:
    -@error:
    -@Returns:
    -
    -<!-- ##### FUNCTION gplate_template_get_gtype ##### -->
    -<para>
    -
    -</para>
    -
    -@Returns:
    -
    -<!-- ##### FUNCTION gplate_text_tag_get_gtype ##### -->
    -<para>
    -
    -</para>
    -
    -@Returns:
    -
    -<!-- ##### FUNCTION gplate_variable_get_gtype ##### -->
    -<para>
    -
    -</para>
    -
    -@Returns:
    -
    -<!-- ##### FUNCTION gplate_variable_tag_get_gtype ##### -->
    -<para>
    -
    -</para>
    -
    -@Returns:
    -
    --- a/doc/gplate/tmpl/gplate-util.sgml Mon Oct 01 11:30:52 2012 -0400
    +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
    @@ -1,52 +0,0 @@
    -<!-- ##### SECTION Title ##### -->
    -Utilities
    -
    -<!-- ##### SECTION Short_Description ##### -->
    -A collection of functions that come in handy.
    -
    -<!-- ##### SECTION Long_Description ##### -->
    -<para>
    -This is a collection of functions that are used in multiple places in the
    -library, and might be useful to you too.
    -</para>
    -
    -<!-- ##### SECTION See_Also ##### -->
    -<para>
    -
    -</para>
    -
    -<!-- ##### SECTION Stability_Level ##### -->
    -
    -
    -<!-- ##### FUNCTION gplate_util_get_first_word ##### -->
    -<para>
    -
    -</para>
    -
    -@str:
    -@leftovers:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_util_is_quoted_string ##### -->
    -<para>
    -
    -</para>
    -
    -@str:
    -@contents:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_util_read_file ##### -->
    -<para>
    -
    -</para>
    -
    -@filename:
    -@contents:
    -@length:
    -@error:
    -@Returns:
    -
    -
    --- a/doc/gplate/tmpl/gplate-variable-tag.sgml Mon Oct 01 11:30:52 2012 -0400
    +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
    @@ -1,27 +0,0 @@
    -<!-- ##### SECTION Title ##### -->
    -GPlateVariableTag
    -
    -<!-- ##### SECTION Short_Description ##### -->
    -A #GPlateTag that renders the value of a #GPlateVariable.
    -
    -<!-- ##### SECTION Long_Description ##### -->
    -<para>
    -#GPlateVariableTag is a #GPlateTag which looks up the variable found in it's
    -contents, and renders the value of the variable with it's default function of
    -#GPlatePrintFunction.
    -</para>
    -
    -<!-- ##### SECTION See_Also ##### -->
    -<para>
    -
    -</para>
    -
    -<!-- ##### SECTION Stability_Level ##### -->
    -
    -
    -<!-- ##### STRUCT GPlateVariableTag ##### -->
    -<para>
    -#GPlateVariableTag is an opaque structure and should not be used directly.
    -</para>
    -
    -
    --- a/doc/gplate/tmpl/gplate-variable.sgml Mon Oct 01 11:30:52 2012 -0400
    +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
    @@ -1,113 +0,0 @@
    -<!-- ##### SECTION Title ##### -->
    -GPlateVariable
    -
    -<!-- ##### SECTION Short_Description ##### -->
    -The base class for all variables.
    -
    -<!-- ##### SECTION Long_Description ##### -->
    -<para>
    -#GPlateVariable defines the behavior for all variables, as well as implements
    -the generic variable types (string, integer, boolean, float, double).
    -</para>
    -
    -<!-- ##### SECTION See_Also ##### -->
    -<para>
    -
    -</para>
    -
    -<!-- ##### SECTION Stability_Level ##### -->
    -
    -
    -<!-- ##### STRUCT GPlateVariable ##### -->
    -<para>
    -#GPlateVariable is an opaque data structure and should not be used directly.
    -</para>
    -
    -
    -<!-- ##### ARG GPlateVariable:name ##### -->
    -<para>
    -The name of the variable.
    -</para>
    -
    -<!-- ##### ARG GPlateVariable:value ##### -->
    -<para>
    -The value of the variable.
    -</para>
    -
    -<!-- ##### FUNCTION gplate_variable_new_from_string ##### -->
    -<para>
    -
    -</para>
    -
    -@name:
    -@value:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_variable_new_from_boolean ##### -->
    -<para>
    -
    -</para>
    -
    -@name:
    -@value:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_variable_new_from_integer ##### -->
    -<para>
    -
    -</para>
    -
    -@name:
    -@value:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_variable_new_from_float ##### -->
    -<para>
    -
    -</para>
    -
    -@name:
    -@value:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_variable_new_from_double ##### -->
    -<para>
    -
    -</para>
    -
    -@name:
    -@value:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_variable_get_name ##### -->
    -<para>
    -
    -</para>
    -
    -@variable:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_variable_get_value ##### -->
    -<para>
    -
    -</para>
    -
    -@variable:
    -@Returns:
    -
    -
    -<!-- ##### FUNCTION gplate_variable_set_value ##### -->
    -<para>
    -
    -</para>
    -
    -@variable:
    -@value:
    -
    -
    --- a/gplate/functions/gplate-for-function.c Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/functions/gplate-for-function.c Tue Oct 02 20:54:38 2012 -0400
    @@ -170,7 +170,7 @@
    * GPlateForFunction API
    *****************************************************************************/
    GType
    -gplate_for_function_get_gtype(void) {
    +gplate_for_function_get_type(void) {
    static GType type = 0;
    if(type == 0) {
    --- a/gplate/functions/gplate-for-function.h Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/functions/gplate-for-function.h Tue Oct 02 20:54:38 2012 -0400
    @@ -20,28 +20,54 @@
    #include <gplate/gplate-function.h>
    -#define GPLATE_TYPE_FOR_FUNCTION (gplate_for_function_get_gtype())
    +#define GPLATE_TYPE_FOR_FUNCTION (gplate_for_function_get_type())
    +
    +/**
    + * SECTION:gplate-for-function
    + * @short_description: A for function.
    + *
    + * #GPlateForFunction implements for loops in GPlate.
    + *
    + * It requires the syntax of "for item in items", where item is the
    + * variable to put each item in and items is the GPlateCollection
    + * which is being iterated.
    + */
    +
    #define GPLATE_FOR_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLATE_TYPE_FOR_FUNCTION, GPlateForFunction))
    #define GPLATE_FOR_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPLATE_TYPE_FOR_FUNCTION, GPlateForFunctionClass))
    #define GPLATE_IS_FOR_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLATE_TYPE_FOR_FUNCTION))
    #define GPLATE_IS_FOR_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GPLATE_TYPE_FOR_FUNCTION))
    #define GPLATE_FOR_FUNCTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLATE_TYPE_FOR_FUNCTION, GPlateForFunctionClass))
    +/**
    + * GPlateForFunction:
    + *
    + * #GPlateForFunction is an opaque data structure and should not be
    + * used directly.
    + */
    typedef struct _GPlateForFunction GPlateForFunction;
    typedef struct _GPlateForFunctionClass GPlateForFunctionClass;
    struct _GPlateForFunction {
    GPlateFunction gparent;
    + /*< private >*/
    void (*_gplate_reserved1)(void);
    void (*_gplate_reserved2)(void);
    void (*_gplate_reserved3)(void);
    void (*_gplate_reserved4)(void);
    };
    +/**
    + * GPlateForFunctionClass:
    + * @parent: The parent class (#GPlateFunctionClass) structure.
    + *
    + * The class for #GPlateForFunction.
    + */
    struct _GPlateForFunctionClass {
    GPlateFunctionClass parent;
    + /*< private >*/
    void (*_gplate_reserved1)(void);
    void (*_gplate_reserved2)(void);
    void (*_gplate_reserved3)(void);
    @@ -50,7 +76,14 @@
    G_BEGIN_DECLS
    -GType gplate_for_function_get_gtype(void);
    +/**
    + * gplate_for_function_get_type:
    + *
    + * Obtains the #GQuark representing the error domain.
    + *
    + * Returns: a #GQuark representing the error domain.
    + */
    +GType gplate_for_function_get_type(void);
    G_END_DECLS
    --- a/gplate/functions/gplate-include-function.c Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/functions/gplate-include-function.c Tue Oct 02 20:54:38 2012 -0400
    @@ -93,7 +93,7 @@
    * GPlateIncludeFunction API
    *****************************************************************************/
    GType
    -gplate_include_function_get_gtype(void) {
    +gplate_include_function_get_type(void) {
    static GType type = 0;
    if(type == 0) {
    --- a/gplate/functions/gplate-include-function.h Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/functions/gplate-include-function.h Tue Oct 02 20:54:38 2012 -0400
    @@ -20,28 +20,51 @@
    #include <gplate/gplate-function.h>
    -#define GPLATE_TYPE_INCLUDE_FUNCTION (gplate_include_function_get_gtype())
    +#define GPLATE_TYPE_INCLUDE_FUNCTION (gplate_include_function_get_type())
    +
    +/**
    + * SECTION:gplate-include-function
    + * @short_description: An include function.
    + *
    + * #GPlateIncludeFunction is used to include external templates into
    + * your own template.
    + */
    +
    #define GPLATE_INCLUDE_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLATE_TYPE_INCLUDE_FUNCTION, GPlateIncludeFunction))
    #define GPLATE_INCLUDE_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPLATE_TYPE_INCLUDE_FUNCTION, GPlateIncludeFunctionClass))
    #define GPLATE_IS_INCLUDE_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLATE_TYPE_INCLUDE_FUNCTION))
    #define GPLATE_IS_INCLUDE_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GPLATE_TYPE_INCLUDE_FUNCTION))
    #define GPLATE_INCLUDE_FUNCTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLATE_TYPE_INCLUDE_FUNCTION, GPlateIncludeFunctionClass))
    +/**
    + * GPlateIncludeFunction:
    + *
    + * #GPlateIncludeFunction is an opaque data structure and should not
    + * be used directly.
    + */
    typedef struct _GPlateIncludeFunction GPlateIncludeFunction;
    typedef struct _GPlateIncludeFunctionClass GPlateIncludeFunctionClass;
    struct _GPlateIncludeFunction {
    GPlateFunction gparent;
    + /*< private >*/
    void (*_gplate_reserved1)(void);
    void (*_gplate_reserved2)(void);
    void (*_gplate_reserved3)(void);
    void (*_gplate_reserved4)(void);
    };
    +/**
    + * GPlateIncludeFunctionClass:
    + * @parent: The parent class (#GPlateFunctionClass) structure.
    + *
    + * The class for #GPlateIncludeFunction.
    + */
    struct _GPlateIncludeFunctionClass {
    GPlateFunctionClass parent;
    + /*< private >*/
    void (*_gplate_reserved1)(void);
    void (*_gplate_reserved2)(void);
    void (*_gplate_reserved3)(void);
    @@ -50,7 +73,16 @@
    G_BEGIN_DECLS
    -GType gplate_include_function_get_gtype(void);
    +/**
    + * gplate_include_function_get_type:
    + *
    + * Obtains the #GType of a #GPlateIncludeFunction or
    + * #GPlateIncludeFunctionClass instance.
    + *
    + * Returns: The #GType associated with #GPlateIncludeFunction and
    + * #GPlateIncludeFunctionClass.
    + */
    +GType gplate_include_function_get_type(void);
    G_END_DECLS
    --- a/gplate/functions/gplate-noop-function.c Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/functions/gplate-noop-function.c Tue Oct 02 20:54:38 2012 -0400
    @@ -41,7 +41,7 @@
    * GPlateNoopFunction API
    *****************************************************************************/
    GType
    -gplate_noop_function_get_gtype(void) {
    +gplate_noop_function_get_type(void) {
    static GType type = 0;
    if(type == 0) {
    --- a/gplate/functions/gplate-noop-function.h Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/functions/gplate-noop-function.h Tue Oct 02 20:54:38 2012 -0400
    @@ -20,13 +20,28 @@
    #include <gplate/gplate-function.h>
    -#define GPLATE_TYPE_NOOP_FUNCTION (gplate_noop_function_get_gtype())
    +/**
    + * SECTION:gplate-noop-function
    + * @short_description: A no-operation function.
    + *
    + * #GPlateNoopFunction always evaluates to an empty string.
    + *
    + * It is the default function of #GPlateCommentTag.
    + */
    +
    +#define GPLATE_TYPE_NOOP_FUNCTION (gplate_noop_function_get_type())
    #define GPLATE_NOOP_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLATE_TYPE_NOOP_FUNCTION, GPlateNoopFunction))
    #define GPLATE_NOOP_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPLATE_TYPE_NOOP_FUNCTION, GPlateNoopFunctionClass))
    #define GPLATE_IS_NOOP_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLATE_TYPE_NOOP_FUNCTION))
    #define GPLATE_IS_NOOP_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GPLATE_TYPE_NOOP_FUNCTION))
    #define GPLATE_NOOP_FUNCTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLATE_TYPE_NOOP_FUNCTION, GPlateNoopFunctionClass))
    +/**
    + * GPlateNoopFunction:
    + *
    + * #GPlateNoopFunction is an opaque structure and should not be used
    + * directly.
    + */
    typedef struct _GPlateNoopFunction GPlateNoopFunction;
    typedef struct _GPlateNoopFunctionClass GPlateNoopFunctionClass;
    @@ -39,9 +54,16 @@
    void (*_gplate_reserved4)(void);
    };
    +/**
    + * GPlateNoopFunctionClass:
    + * @parent: The parent class (#GPlateFunctionClass) structure.
    + *
    + * The class for #GPlateNoopFunction.
    + */
    struct _GPlateNoopFunctionClass {
    GPlateFunctionClass parent;
    + /*< private >*/
    void (*_gplate_reserved1)(void);
    void (*_gplate_reserved2)(void);
    void (*_gplate_reserved3)(void);
    @@ -50,7 +72,7 @@
    G_BEGIN_DECLS
    -GType gplate_noop_function_get_gtype(void);
    +GType gplate_noop_function_get_type(void);
    G_END_DECLS
    --- a/gplate/functions/gplate-print-function.c Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/functions/gplate-print-function.c Tue Oct 02 20:54:38 2012 -0400
    @@ -71,7 +71,7 @@
    * GPlatePrintFunction API
    *****************************************************************************/
    GType
    -gplate_print_function_get_gtype(void) {
    +gplate_print_function_get_type(void) {
    static GType type = 0;
    if(type == 0) {
    --- a/gplate/functions/gplate-print-function.h Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/functions/gplate-print-function.h Tue Oct 02 20:54:38 2012 -0400
    @@ -20,13 +20,27 @@
    #include <gplate/gplate-function.h>
    -#define GPLATE_TYPE_PRINT_FUNCTION (gplate_print_function_get_gtype())
    +/**
    + * SECTION:gplate-print-function
    + * @short_description: A print function.
    + *
    + * #GPlatePrintFunction is a #GPlateFunction that prints out its
    + * contents.
    + */
    +
    +#define GPLATE_TYPE_PRINT_FUNCTION (gplate_print_function_get_type())
    #define GPLATE_PRINT_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLATE_TYPE_PRINT_FUNCTION, GPlatePrintFunction))
    #define GPLATE_PRINT_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPLATE_TYPE_PRINT_FUNCTION, GPlatePrintFunctionClass))
    #define GPLATE_IS_PRINT_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLATE_TYPE_PRINT_FUNCTION))
    #define GPLATE_IS_PRINT_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GPLATE_TYPE_PRINT_FUNCTION))
    #define GPLATE_PRINT_FUNCTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLATE_TYPE_PRINT_FUNCTION, GPlatePrintFunctionClass))
    +/**
    + * GPlatePrintFunction:
    + *
    + * #GPlatePrintFunction is an opaque structure and should not be used
    + * directly.
    + */
    typedef struct _GPlatePrintFunction GPlatePrintFunction;
    typedef struct _GPlatePrintFunctionClass GPlatePrintFunctionClass;
    @@ -39,9 +53,16 @@
    void (*_gplate_reserved4)(void);
    };
    +/**
    + * GPlatePrintFunctionClass:
    + * @parent: The parent class (#GPlateFunctionClass) structure.
    + *
    + * The class for #GPlatePrintFunction.
    + */
    struct _GPlatePrintFunctionClass {
    GPlateFunctionClass parent;
    + /*< private >*/
    void (*_gplate_reserved1)(void);
    void (*_gplate_reserved2)(void);
    void (*_gplate_reserved3)(void);
    @@ -50,7 +71,7 @@
    G_BEGIN_DECLS
    -GType gplate_print_function_get_gtype(void);
    +GType gplate_print_function_get_type(void);
    G_END_DECLS
    --- a/gplate/functions/gplate-text-function.c Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/functions/gplate-text-function.c Tue Oct 02 20:54:38 2012 -0400
    @@ -42,7 +42,7 @@
    * GPlateTextFunction API
    *****************************************************************************/
    GType
    -gplate_text_function_get_gtype(void) {
    +gplate_text_function_get_type(void) {
    static GType type = 0;
    if(type == 0) {
    --- a/gplate/functions/gplate-text-function.h Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/functions/gplate-text-function.h Tue Oct 02 20:54:38 2012 -0400
    @@ -20,13 +20,29 @@
    #include <gplate/gplate-function.h>
    -#define GPLATE_TYPE_TEXT_FUNCTION (gplate_text_function_get_gtype())
    +/**
    + * SECTION:gplate-text-function
    + * @short_description: A static text function.
    + *
    + * #GPlateTextFunction is used to output static text.
    + *
    + * In the default configuration, #GPlateTextFunction is the default
    + * function for #GPlateTextTag.
    + */
    +
    +#define GPLATE_TYPE_TEXT_FUNCTION (gplate_text_function_get_type())
    #define GPLATE_TEXT_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLATE_TYPE_TEXT_FUNCTION, GPlateTextFunction))
    #define GPLATE_TEXT_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPLATE_TYPE_TEXT_FUNCTION, GPlateTextFunctionClass))
    #define GPLATE_IS_TEXT_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLATE_TYPE_TEXT_FUNCTION))
    #define GPLATE_IS_TEXT_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GPLATE_TYPE_TEXT_FUNCTION))
    #define GPLATE_TEXT_FUNCTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLATE_TYPE_TEXT_FUNCTION, GPlateTextFunctionClass))
    +/**
    + * GPlateTextFunction:
    + *
    + * #GPlateTextFunction is an opaque structure and should not be used
    + * directly.
    + */
    typedef struct _GPlateTextFunction GPlateTextFunction;
    typedef struct _GPlateTextFunctionClass GPlateTextFunctionClass;
    @@ -39,9 +55,16 @@
    void (*_gplate_reserved4)(void);
    };
    +/**
    + * GPlateTextFunctionClass:
    + * @parent: The parent class (#GPlateFunctionClass) structure.
    + *
    + * The class for #GPlateTextFunction.
    + */
    struct _GPlateTextFunctionClass {
    GPlateFunctionClass parent;
    + /*< private >*/
    void (*_gplate_reserved1)(void);
    void (*_gplate_reserved2)(void);
    void (*_gplate_reserved3)(void);
    @@ -50,7 +73,7 @@
    G_BEGIN_DECLS
    -GType gplate_text_function_get_gtype(void);
    +GType gplate_text_function_get_type(void);
    G_END_DECLS
    --- a/gplate/gplate-collection.c Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/gplate-collection.c Tue Oct 02 20:54:38 2012 -0400
    @@ -54,7 +54,7 @@
    * GPlateCollection API
    *****************************************************************************/
    GType
    -gplate_collection_get_gtype(void) {
    +gplate_collection_get_type(void) {
    static GType type = 0;
    if(type == 0) {
    @@ -79,7 +79,7 @@
    /**
    * gplate_collection_find_variable:
    - * @collection: The #GPlateCollection.
    + * @collection: The GPlateCollection.
    * @name: The name of the #GPlateVariable to find.
    *
    * Finds a #GPlateVariable in @collection.
    @@ -104,7 +104,7 @@
    /**
    * gplate_collection_lookup:
    - * @collection: The #GPlateCollection.
    + * @collection: The GPlateCollection.
    * @name: The name of the #GPlateVariable to lookup.
    *
    * Looks up a @name in @collection and returns it's value.
    @@ -129,7 +129,7 @@
    /**
    * gplate_collection_add_variable:
    - * @collection: The #GPlateCollection.
    + * @collection: The GPlateCollection.
    * @variable: The #GPlateVariable.
    *
    * Adds @variable to @collection.
    @@ -158,7 +158,7 @@
    /**
    * gplate_collection_add_variable_with_name:
    - * @collection: The #GPlateCollection.
    + * @collection: The GPlateCollection.
    * @name: The name to use for this variable in the collection.
    * @variable: The #GPlateVariable.
    *
    @@ -193,7 +193,7 @@
    /**
    * gplate_collection_remove_variable:
    - * @collection: The #GPlateCollection.
    + * @collection: The GPlateCollection.
    * @variable: The #GPlateVariable.
    *
    * Removes @variable from @collection.
    @@ -218,7 +218,7 @@
    /**
    * gplate_collection_remove_all:
    - * @collection: The #GPlateCollection.
    + * @collection: The GPlateCollection.
    *
    * Removes all variables from @collection.
    *
    @@ -242,11 +242,11 @@
    /**
    * gplate_collection_get_iterator:
    - * @collection: The #GPlateCollection.
    + * @collection: The GPlateCollection.
    *
    * Gets an iterator to the elements in @collection.
    *
    - * Return Value: A new #GPlateIterator initialized to the first element of
    + * Return Value: A new GPlateIterator initialized to the first element of
    * @collection.
    */
    GPlateIterator *
    --- a/gplate/gplate-collection.h Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/gplate-collection.h Tue Oct 02 20:54:38 2012 -0400
    @@ -25,14 +25,41 @@
    #include <gplate/gplate-iterator.h>
    -#define GPLATE_TYPE_COLLECTION (gplate_collection_get_gtype())
    +#define GPLATE_TYPE_COLLECTION (gplate_collection_get_type())
    +
    +/**
    + * SECTION:gplate-collection
    + * @short_description: A collection of #GPlateVariable items.
    + *
    + * GPlateCollection is a #GInterface that defines the behavior of a
    + * variable collection.
    + */
    +
    #define GPLATE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLATE_TYPE_COLLECTION, GPlateCollection))
    #define GPLATE_IS_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLATE_TYPE_COLLECTION))
    #define GPLATE_COLLECTION_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE((obj), GPLATE_TYPE_COLLECTION, GPlateCollectionIface))
    +/**
    + * GPlateCollection:
    + *
    + * The GPlateCollection typedef is used as a placeholder for objects
    + * that implement the GPlateCollection interface.
    + */
    typedef struct _GPlateCollection GPlateCollection;
    typedef struct _GPlateCollectionIface GPlateCollectionIface;
    +/**
    + * GPlateCollectionIface:
    + * @gparent: The parent data.
    + * @find_variable: see gplate_collection_find_variable()
    + * @add_variable_with_name: see gplate_collection_add_variable_with_name()
    + * @remove_variable: see gplate_collection_remove_variable()
    + * @remove_all: see gplate_collection_remove_all()
    + * @get_iterator: see gplate_collection_get_iterator()
    + *
    + * The GPlateCollectionIface is the interface implemented by classes
    + * that wish to present themselves as a GPlateCollection.
    + */
    struct _GPlateCollectionIface {
    GTypeInterface gparent;
    @@ -44,6 +71,7 @@
    GPlateIterator *(*get_iterator)(GPlateCollection *collection);
    + /*< private >*/
    void (*_gplate_reserved1)(void);
    void (*_gplate_reserved2)(void);
    void (*_gplate_reserved3)(void);
    @@ -52,6 +80,18 @@
    G_BEGIN_DECLS
    +/**
    + * gplate_collection_add:
    + * @collection: The GPlateCollection.
    + * @type: The type of the variable (<emphasis>not the
    + * #GType</emphasis>). This must be one of "string", "boolean",
    + * "integer", "float" or "double".
    + * @name: The name of the variable.
    + * @value: The value of the variable.
    + *
    + * Add a string, boolean, integer, float or double value variable to
    + * the @collection.
    + */
    #define gplate_collection_add(collection, type, name, value) { \
    GPlateVariable *var = NULL; \
    \
    @@ -59,31 +99,79 @@
    gplate_collection_add_variable(GPLATE_COLLECTION(collection), (var));\
    }
    +/**
    + * gplate_collection_add_string:
    + * @collection: The GPlateCollection.
    + * @name: The name of the string variable.
    + * @value: The string variable's content.
    + *
    + * A helper macro for adding a string variable to a collection.
    + *
    + * This is a wrapper around the #gplate_collection_add macro.
    + */
    #define gplate_collection_add_string(collection, name, value) \
    gplate_collection_add((collection), string, (name), (value));
    +/**
    + * gplate_collection_add_boolean:
    + * @collection: The GPlateCollection.
    + * @name: The name of the boolean variable.
    + * @value: The boolean variable's content.
    + *
    + * A helper macro for adding a boolean variable to a collection.
    + *
    + * This is a wrapper around the #gplate_collection_add macro.
    + */
    #define gplate_collection_add_boolean(collection, name, value) \
    gplate_collection_add((collection), boolean, (name), (value));
    +/**
    + * gplate_collection_add_integer:
    + * @collection: The GPlateCollection.
    + * @name: The name of the integer variable.
    + * @value: The integer variable's content.
    + *
    + * A helper macro for adding a integer variable to a collection.
    + *
    + * This is a wrapper around the #gplate_collection_add macro.
    + */
    #define gplate_collection_add_integer(collection, name, value) \
    gplate_collection_add((collection), integer, (name), (value));
    +/**
    + * gplate_collection_add_float:
    + * @collection: The GPlateCollection.
    + * @name: The name of the float variable.
    + * @value: The float variable's content.
    + *
    + * A helper macro for adding a float variable to a collection.
    + *
    + * This is a wrapper around the #gplate_collection_add macro.
    + */
    #define gplate_collection_add_float(collection, name, value) \
    gplate_collection_add((collection), float, (name), (value));
    +/**
    + * gplate_collection_add_double:
    + * @collection: The GPlateCollection.
    + * @name: The name of the double variable.
    + * @value: The double variable's content.
    + *
    + * A helper macro for adding a double variable to a collection.
    + *
    + * This is a wrapper around the #gplate_collection_add macro.
    + */
    #define gplate_collection_add_double(collection, name, value) \
    gplate_collection_add((collection), double, (name), (value));
    -GType gplate_collection_get_gtype(void);
    +GType gplate_collection_get_type(void);
    GPlateVariable *gplate_collection_find_variable(const GPlateCollection *collection, const gchar *name);
    const gchar *gplate_collection_lookup(const GPlateCollection *collection, const gchar *name);
    gboolean gplate_collection_add_variable(GPlateCollection *collection, GPlateVariable *variable);
    gboolean gplate_collection_add_variable_with_name(GPlateCollection *collection, const gchar *name, GPlateVariable *variable);
    -
    gboolean gplate_collection_remove_variable(GPlateCollection *collection, GPlateVariable *variable);
    gboolean gplate_collection_remove_all(GPlateCollection *collection);
    -
    GPlateIterator *gplate_collection_get_iterator(GPlateCollection *collection);
    G_END_DECLS
    --- a/gplate/gplate-config.h Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/gplate-config.h Tue Oct 02 20:54:38 2012 -0400
    @@ -20,8 +20,22 @@
    #include <glib.h>
    +/**
    + * SECTION:gplate-config
    + * @title: Configuration
    + * @short_description: API for loading custom configurations
    + *
    + * The config API is meant to be a simple way to load different tag
    + * sets.
    + */
    +
    G_BEGIN_DECLS
    +/**
    + * gplate_config_load_default:
    + *
    + * Load a default configuration for GPlate.
    + */
    void gplate_config_load_default(void);
    G_END_DECLS
    --- a/gplate/gplate-errors.h Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/gplate-errors.h Tue Oct 02 20:54:38 2012 -0400
    @@ -20,8 +20,44 @@
    #include <glib.h>
    +/**
    + * SECTION:gplate-errors
    + * @short_description: API and constants for reporting errors.
    + * @title: Error Reporting
    + *
    + * The error reporting API overall, is rather simple. There's a macro
    + * for the error domain, and an enum for the error values. Nothing
    + * more.
    + */
    +
    +/**
    + * GPLATE_DOMAIN:
    + *
    + * GPlate's error domain.
    + */
    #define GPLATE_DOMAIN (gplate_errors_get_quark())
    +/**
    + * GPlateErrors:
    + * @GPLATE_ERROR_TYPE_IS_NOT_DESCENDANT: Used when an ancestry check fails.
    + * @GPLATE_ERROR_TYPE_IS_ABSTRACT: Used when ancestry check requires a concrete class.
    + * @GPLATE_ERROR_UTIL_FILE_DOES_NOT_EXIST: Used when a util function can not find a file.
    + * @GPLATE_ERROR_LIBRARY_FUNCTION_NAME_EXISTS: Used when a #GPlateFunction is added to the library when a #GPlateFunction has already been registered with the same name.
    + * @GPLATE_ERROR_LIBRARY_FUNCTION_NAME_NOT_FOUND: Used when a lookup fails.
    + * @GPLATE_ERROR_LIBRARY_FUNCTION_BOUND: Used when a #GPlateFunction is already bound to a #GPlateTag.
    + * @GPLATE_ERROR_LIBRARY_FUNCTION_NOT_BOUND: Used when a #GPlateFunction is not bound to a #GPlateTag.
    + * @GPLATE_ERROR_LIBRARY_FUNCTION_NOT_BOUND_TO_TAG: Used when a #GPlateFunction is not bound to a specific #GPlateTag.
    + * @GPLATE_ERROR_LIBRARY_TAG_EXISTS: Used when a tag has already been registered in the library.
    + * @GPLATE_ERROR_LIBRARY_TAG_NOT_FOUND: Used when a lookup fails for a tag.
    + * @GPLATE_ERROR_LIBRARY_TAG_NO_PREFIX_HAVE_SUFFIX: Used when a tag is registered and it does not have a prefix, but has a suffix.
    + * @GPLATE_ERROR_LIBRARY_TAG_HAVE_PREFIX_NO_SUFFIX: Used when a tag is registered and it has a prefix, but does not have a suffix.
    + * @GPLATE_ERROR_LIBRARY_DEFAULT_TAG_REGISTERED: Used when a default tag has already been registered.
    + * @GPLATE_ERROR_UNKNOWN: Undefined error.
    + *
    + * This enumeration is used to represent an error which has occurred
    + * in the execution of GPlate. The general failure error code is
    + * @GPLATE_ERROR_UNKNOWN.
    + */
    typedef enum {
    GPLATE_ERROR_TYPE_IS_NOT_DESCENDANT = 100,
    GPLATE_ERROR_TYPE_IS_ABSTRACT,
    @@ -44,6 +80,13 @@
    G_BEGIN_DECLS
    +/**
    + * gplate_errors_get_quark:
    + *
    + * Obtains the #GQuark for the error domain.
    + *
    + * Returns: A #GQuark representing the error domain.
    + */
    GQuark gplate_errors_get_quark(void);
    G_END_DECLS
    --- a/gplate/gplate-function.c Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/gplate-function.c Tue Oct 02 20:54:38 2012 -0400
    @@ -21,7 +21,7 @@
    * GPlateFunction API
    *****************************************************************************/
    GType
    -gplate_function_get_gtype(void) {
    +gplate_function_get_type(void) {
    static GType type = 0;
    if(type == 0) {
    --- a/gplate/gplate-function.h Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/gplate-function.h Tue Oct 02 20:54:38 2012 -0400
    @@ -23,30 +23,53 @@
    #include <gplate/gplate-template.h>
    -#define GPLATE_TYPE_FUNCTION (gplate_function_get_gtype())
    +#define GPLATE_TYPE_FUNCTION (gplate_function_get_type())
    +
    +/**
    + * SECTION:gplate-function
    + * @short_description: The base class for all functions.
    + *
    + * #GPlateFunction defines the behavior for all functions.
    + */
    +
    #define GPLATE_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLATE_TYPE_FUNCTION, GPlateFunction))
    #define GPLATE_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPLATE_TYPE_FUNCTION, GPlateFunctionClass))
    #define GPLATE_IS_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLATE_TYPE_FUNCTION))
    #define GPLATE_IS_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GPLATE_TYPE_FUNCTION))
    #define GPLATE_FUNCTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLATE_TYPE_FUNCTION, GPlateFunctionClass))
    +/**
    + * GPlateFunction:
    + *
    + * #GPlateFunction is an opaque data structure that should not be used
    + * directly.
    + */
    typedef struct _GPlateFunction GPlateFunction;
    typedef struct _GPlateFunctionClass GPlateFunctionClass;
    struct _GPlateFunction {
    GObject gparent;
    + /*< private >*/
    void (*_gplate_reserved1)(void);
    void (*_gplate_reserved2)(void);
    void (*_gplate_reserved3)(void);
    void (*_gplate_reserved4)(void);
    };
    +/**
    + * GPlateFunctionClass:
    + * @parent: The parent class (#GObjectClass) structure.
    + * @evaluate: The function called to evaluate the function's result.
    + *
    + * The class for #GPlateFunction.
    + */
    struct _GPlateFunctionClass {
    GObjectClass parent;
    gchar *(*evaluate)(GPlateFunction *function, GPlateTemplate *tplate, const gchar *contents);
    + /*< private >*/
    void (*_gplate_reserved1)(void);
    void (*_gplate_reserved2)(void);
    void (*_gplate_reserved3)(void);
    @@ -55,7 +78,7 @@
    G_BEGIN_DECLS
    -GType gplate_function_get_gtype(void);
    +GType gplate_function_get_type(void);
    gchar *gplate_function_evaluate(GPlateFunction *function, GPlateTemplate *tplate, const gchar *contents);
    --- a/gplate/gplate-iterator.c Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/gplate-iterator.c Tue Oct 02 20:54:38 2012 -0400
    @@ -21,7 +21,7 @@
    * GPlateIterator API
    *****************************************************************************/
    GType
    -gplate_iterator_get_gtype(void) {
    +gplate_iterator_get_type(void) {
    static GType type = 0;
    if(type == 0) {
    @@ -46,7 +46,7 @@
    /**
    * gplate_iterator_has_next:
    - * @iter: The #GPlateIterator.
    + * @iter: The GPlateIterator.
    *
    * Checks whether or not the iterator has another element.
    *
    @@ -68,7 +68,7 @@
    /**
    * gplate_iterator_next:
    - * @iter: The #GPlateIterator.
    + * @iter: The GPlateIterator.
    *
    * Advances @iter to the next element and returns that element.
    *
    --- a/gplate/gplate-iterator.h Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/gplate-iterator.h Tue Oct 02 20:54:38 2012 -0400
    @@ -21,22 +21,46 @@
    #include <glib.h>
    #include <glib-object.h>
    -#define GPLATE_TYPE_ITERATOR (gplate_iterator_get_gtype())
    +#define GPLATE_TYPE_ITERATOR (gplate_iterator_get_type())
    +
    +/**
    + * SECTION:gplate-iterator
    + * @short_description: An iterator for GPlateCollection contents.
    + *
    + * GPlateIterator is an interface for iterating a GPlateCollection.
    + */
    +
    #define GPLATE_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLATE_TYPE_ITERATOR, GPlateIterator))
    #define GPLATE_IS_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLATE_TYPE_ITERATOR))
    #define GPLATE_ITERATOR_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE((obj), GPLATE_TYPE_ITERATOR, GPlateIteratorIface))
    +/**
    + * GPlateIterator:
    + *
    + * GPlateIterator is an opaque data structure and should not be used
    + * directly.
    + */
    typedef struct _GPlateIterator GPlateIterator;
    typedef struct _GPlateIteratorIface GPlateIteratorIface;
    #include <gplate/gplate-variable.h>
    +/**
    + * GPlateIteratorIface:
    + * @gparent: The parent interface (#GTypeInterface) structure.
    + * @has_next: Determines whether the iterator will return a value on
    + * the next call to next().
    + * @next: Returns the next item in the iterator.
    + *
    + * The interface for GPlateIterator.
    + */
    struct _GPlateIteratorIface {
    GTypeInterface gparent;
    gboolean (*has_next)(const GPlateIterator *iter);
    GPlateVariable *(*next)(GPlateIterator *iter);
    + /*< private >*/
    void (*_gplate_reserved1)(void);
    void (*_gplate_reserved2)(void);
    void (*_gplate_reserved3)(void);
    @@ -45,7 +69,7 @@
    G_BEGIN_DECLS
    -GType gplate_iterator_get_gtype(void);
    +GType gplate_iterator_get_type(void);
    gboolean gplate_iterator_has_next(const GPlateIterator *iter);
    GPlateVariable *gplate_iterator_next(GPlateIterator *iter);
    --- a/gplate/gplate-library.h Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/gplate-library.h Tue Oct 02 20:54:38 2012 -0400
    @@ -23,8 +23,32 @@
    #include <gplate/gplate-function.h>
    #include <gplate/gplate-tag.h>
    +/**
    + * SECTION:gplate-library
    + * @title: Function and Tag Library
    + * @short_description: The library of tags and functions.
    + *
    + * The library is a set of API meant to manage all functions and tags.
    + * All #GPlateFunction children should be registered in the library,
    + * and if deemed necessary, bound to a specific tag.
    + *
    + * All #GPlateTag objects should be registered in the library as well.
    + * If a tag is not registered in the library, #GPlateTemplate will not
    + * use them.
    + */
    +
    G_BEGIN_DECLS
    +/**
    + * GPlateLibraryTagsForeachFunc:
    + * @tag: The #GType of the tag.
    + * @prefix: The prefix of the tag.
    + * @suffix: The suffix of the tag.
    + * @data: User data.
    + *
    + * A callback function type for use with
    + * gplate_library_tags_foreach().
    + */
    typedef void (*GPlateLibraryTagsForeachFunc)(GType tag, const gchar *prefix, const gchar *suffix, gpointer data);
    gboolean gplate_library_add_function(const gchar *name, GType function, GError **error);
    --- a/gplate/gplate-tag.c Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/gplate-tag.c Tue Oct 02 20:54:38 2012 -0400
    @@ -152,7 +152,7 @@
    * GPlateTag API
    *****************************************************************************/
    GType
    -gplate_tag_get_gtype(void) {
    +gplate_tag_get_type(void) {
    static GType type = 0;
    if(type == 0) {
    @@ -223,7 +223,7 @@
    *
    * Gets the prefix from @tag_class.
    *
    - * Note: This is used internally by #GPlateTemplateParser and should not be
    + * Note: This is used internally by GPlateTemplateParser and should not be
    * needed unless you are implementing a new tokenize function.
    *
    * Return Value: The prefix for @tag_class.
    @@ -244,7 +244,7 @@
    *
    * Gets the suffix from @tag_class.
    *
    - * Note: This is used internally by #GPlateTemplateParser and should not be
    + * Note: This is used internally by GPlateTemplateParser and should not be
    * needed unless you are implementing a new tokenize function.
    *
    * Return Value: The suffix for @tag_class.
    --- a/gplate/gplate-tag.h Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/gplate-tag.h Tue Oct 02 20:54:38 2012 -0400
    @@ -21,13 +21,25 @@
    #include <glib.h>
    #include <glib-object.h>
    -#define GPLATE_TYPE_TAG (gplate_tag_get_gtype())
    +/**
    + * SECTION:gplate-tag
    + * @short_description: The base class for all tags.
    + *
    + * #GPlateTag defines the behavior for all tags.
    + */
    +
    +#define GPLATE_TYPE_TAG (gplate_tag_get_type())
    #define GPLATE_TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLATE_TYPE_TAG, GPlateTag))
    #define GPLATE_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPLATE_TYPE_TAG, GPlateTagClass))
    #define GPLATE_IS_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLATE_TYPE_TAG))
    #define GPLATE_IS_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GPLATE_TYPE_TAG))
    #define GPLATE_TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLATE_TYPE_TAG, GPlateTagClass))
    +/**
    + * GPlateTag:
    + *
    + * #GPlateTag is an opaque structure and should not be used directly.
    + */
    typedef struct _GPlateTag GPlateTag;
    typedef struct _GPlateTagClass GPlateTagClass;
    @@ -42,6 +54,15 @@
    void (*_gplate_reserved4)(void);
    };
    +/**
    + * GPlateTagClass:
    + * @parent: The parent class (#GObjectClass) structure.
    + * @get_contents: Obtain the contents of a #GPlateTag.
    + * @get_prefix: Obtain the prefix of a #GPlateTag.
    + * @get_suffix: Obtain the suffix of a #GPlateTag.
    + *
    + * The class for #GPlateTag.
    + */
    struct _GPlateTagClass {
    GObjectClass parent;
    @@ -50,6 +71,7 @@
    const gchar *(*get_prefix)(const GPlateTagClass *tag_class);
    const gchar *(*get_suffix)(const GPlateTagClass *tag_class);
    + /*< private >*/
    void (*_gplate_reserved1)(void);
    void (*_gplate_reserved2)(void);
    void (*_gplate_reserved3)(void);
    @@ -58,7 +80,7 @@
    G_BEGIN_DECLS
    -GType gplate_tag_get_gtype(void);
    +GType gplate_tag_get_type(void);
    GPlateTemplate *gplate_tag_get_template(const GPlateTag *tag);
    gchar *gplate_tag_get_contents(const GPlateTag *tag);
    --- a/gplate/gplate-template.c Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/gplate-template.c Tue Oct 02 20:54:38 2012 -0400
    @@ -533,7 +533,7 @@
    * GPlateTemplate API
    *****************************************************************************/
    GType
    -gplate_template_get_gtype(void) {
    +gplate_template_get_type(void) {
    static GType type = 0;
    if(type == 0) {
    @@ -699,7 +699,7 @@
    * gplate_template_render_until:
    * @tplate: The #GPlateTemplate
    * @ntags: A return address for the number of tags that were rendered
    - * @Varargs: A NULL terminated list of #GType, content pairs.
    + * @...: A NULL terminated list of #GType, content pairs.
    *
    * Renders the tags in a template from the current point until it a tag is
    * found that is the correct type and has the same contents as one of the
    @@ -807,10 +807,10 @@
    * gplate_template_jump_to:
    * @tplate: The #GPlateTemplate
    * @ntags: A return address for the number of tags that were rendered
    - * @Varargs: A NULL terminated list of #GType, content pairs.
    + * @...: A NULL terminated list of #GType, content pairs.
    *
    * Skips all tags, until one is found that is the correct type and has the same
    - * contents as one of the #Gtype, content pairs.
    + * contents as one of the #GType, content pairs.
    *
    * The current tag will be the one jumped to.
    */
    --- a/gplate/gplate-template.h Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/gplate-template.h Tue Oct 02 20:54:38 2012 -0400
    @@ -21,13 +21,27 @@
    #include <glib.h>
    #include <glib-object.h>
    -#define GPLATE_TYPE_TEMPLATE (gplate_template_get_gtype())
    +/**
    + * SECTION:gplate-template
    + * @short_description: A template.
    + *
    + * #GPlateTemplate is the main object in GPlate. Once created, it can
    + * be used to transform text into a human readable output.
    + */
    +
    +#define GPLATE_TYPE_TEMPLATE (gplate_template_get_type())
    #define GPLATE_TEMPLATE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLATE_TYPE_TEMPLATE, GPlateTemplate))
    #define GPLATE_TEMPLATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPLATE_TYPE_TEMPLATE, GPlateTemplateClass))
    #define GPLATE_IS_TEMPLATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLATE_TYPE_TEMPLATE))
    #define GPLATE_IS_TEMPLATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GPLATE_TYPE_TEMPLATE))
    #define GPLATE_TEMPLATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLATE_TYPE_TEMPLATE, GPlateTemplateClass))
    +/**
    + * GPlateTemplate:
    + *
    + * #GPlateTemplate is an opaque data structure and should not be used
    + * directly.
    + */
    typedef struct _GPlateTemplate GPlateTemplate;
    typedef struct _GPlateTemplateClass GPlateTemplateClass;
    @@ -42,6 +56,22 @@
    void (*_gplate_reserved4)(void);
    };
    +/**
    + * GPlateTemplateClass:
    + * @parent: The parent class (#GObjectClass) structure.
    + * @tokenize: Function called to tokenize a template.
    + * @render: Function called to render a template.
    + * @first_tag: Function called to obtain the first tag.
    + * @last_tag: See @first_tag.
    + * @current_tag: Function called to obtain the current tag.
    + * @next_tag: Function called to obtain the next tag.
    + * @previous_tag: Function called to obtain the previous tag.
    + * @nth_tag: Function called to obtain the nth tag.
    + * @nth_previous_tag: Function called to obtain the nth previous tag.
    + * @insert_tags: Insert tags into the template.
    + *
    + * The class for #GPlateTemplate.
    + */
    struct _GPlateTemplateClass {
    GObjectClass parent;
    @@ -58,6 +88,7 @@
    void (*insert_tags)(GPlateTemplate *tplate, GList *tags);
    + /*< private >*/
    void (*_gplate_reserved1)(void);
    void (*_gplate_reserved2)(void);
    void (*_gplate_reserved3)(void);
    @@ -66,7 +97,7 @@
    G_BEGIN_DECLS
    -GType gplate_template_get_gtype(void);
    +GType gplate_template_get_type(void);
    GPlateTemplate *gplate_template_new(void);
    --- a/gplate/gplate-util.h Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/gplate-util.h Tue Oct 02 20:54:38 2012 -0400
    @@ -20,6 +20,15 @@
    #include <glib.h>
    +/**
    + * SECTION:gplate-util
    + * @title: Utilities
    + * @short_description: A collection of functions that come in handy.
    + *
    + * This is a collection of functions that are used in multiple places
    + * in the library, and might be useful to you, too.
    + */
    +
    G_BEGIN_DECLS
    gboolean gplate_util_read_file(const gchar *filename, gchar **contents, gsize *length, GError **error);
    --- a/gplate/gplate-variable.c Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/gplate-variable.c Tue Oct 02 20:54:38 2012 -0400
    @@ -164,7 +164,7 @@
    * GPlateVariable API
    *****************************************************************************/
    GType
    -gplate_variable_get_gtype(void) {
    +gplate_variable_get_type(void) {
    static GType type = 0;
    if(type == 0) {
    --- a/gplate/gplate-variable.h Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/gplate-variable.h Tue Oct 02 20:54:38 2012 -0400
    @@ -21,13 +21,28 @@
    #include <glib.h>
    #include <glib-object.h>
    -#define GPLATE_TYPE_VARIABLE (gplate_variable_get_gtype())
    +/**
    + * SECTION:gplate-variable
    + * @short_description: The base class for all variables.
    + *
    + * #GPlateVariable defines the behavior for all variables, as well as
    + * implements the generic variable types (string, integer, boolean,
    + * float and double).
    + */
    +
    +#define GPLATE_TYPE_VARIABLE (gplate_variable_get_type())
    #define GPLATE_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLATE_TYPE_VARIABLE, GPlateVariable))
    #define GPLATE_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPLATE_TYPE_VARIABLE, GPlateVariableClass))
    #define GPLATE_IS_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLATE_TYPE_VARIABLE))
    #define GPLATE_IS_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GPLATE_TYPE_VARIABLE))
    #define GPLATE_VARIABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLATE_TYPE_VARIABLE, GPlateVariableClass))
    +/**
    + * GPlateVariable:
    + *
    + * #GPlateVariable is an opaque structure and should not be used
    + * directly.
    + */
    typedef struct _GPlateVariable GPlateVariable;
    typedef struct _GPlateVariableClass GPlateVariableClass;
    @@ -40,6 +55,15 @@
    void (*_gplate_reserved4)(void);
    };
    +/**
    + * GPlateVariableClass:
    + * @parent: The parent class (#GObjectClass) structure.
    + * @get_name: Function called to obtain the name of a variable.
    + * @get_value: Function called to obtain the value of a variable.
    + * @set_value: Function called to set the value of a variable.
    + *
    + * The class for #GPlateVariable.
    + */
    struct _GPlateVariableClass {
    GObjectClass parent;
    @@ -48,6 +72,7 @@
    const gchar *(*get_value)(const GPlateVariable *variable);
    void (*set_value)(GPlateVariable *variable, const gchar *value);
    + /*< private >*/
    void (*_gplate_reserved1)(void);
    void (*_gplate_reserved2)(void);
    void (*_gplate_reserved3)(void);
    @@ -56,7 +81,7 @@
    G_BEGIN_DECLS
    -GType gplate_variable_get_gtype(void);
    +GType gplate_variable_get_type(void);
    GPlateVariable *gplate_variable_new_from_string(const gchar *name, const gchar *value);
    GPlateVariable *gplate_variable_new_from_boolean(const gchar *name, gboolean value);
    --- a/gplate/gplate.h Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/gplate.h Tue Oct 02 20:54:38 2012 -0400
    @@ -18,6 +18,14 @@
    #ifndef GPLATE_H
    #define GPLATE_H
    +/**
    + * SECTION:gplate
    + * @short_description: The GPlate template library.
    + * @include: gplate.h
    + *
    + * The GPlate template library, for C+GObject.
    + */
    +
    #include <glib.h>
    #include <gplate/gplate-collection.h>
    --- a/gplate/tags/gplate-code-tag.c Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/tags/gplate-code-tag.c Tue Oct 02 20:54:38 2012 -0400
    @@ -45,7 +45,7 @@
    * GPlateCodeTag API
    *****************************************************************************/
    GType
    -gplate_code_tag_get_gtype(void) {
    +gplate_code_tag_get_type(void) {
    static GType type = 0;
    if(type == 0) {
    --- a/gplate/tags/gplate-code-tag.h Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/tags/gplate-code-tag.h Tue Oct 02 20:54:38 2012 -0400
    @@ -20,7 +20,7 @@
    #include <gplate/gplate-tag.h>
    -#define GPLATE_TYPE_CODE_TAG (gplate_code_tag_get_gtype())
    +#define GPLATE_TYPE_CODE_TAG (gplate_code_tag_get_type())
    #define GPLATE_CODE_TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLATE_TYPE_CODE_TAG, GPlateCodeTag))
    #define GPLATE_CODE_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPLATE_TYPE_CODE_TAG, GPlateCodeTagClass))
    #define GPLATE_IS_CODE_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLATE_TYPE_CODE_TAG))
    @@ -33,15 +33,24 @@
    struct _GPlateCodeTag {
    GPlateTag gparent;
    + /*< private >*/
    void (*_gplate_reserved1)(void);
    void (*_gplate_reserved2)(void);
    void (*_gplate_reserved3)(void);
    void (*_gplate_reserved4)(void);
    };
    +/**
    + * GPlateCodeTagClass:
    + * @parent: The parent class (#GPlateTagClass) structure.
    + *
    + * #GPlateCodeTagClass is an opaque structure and should not be used
    + * directly.
    + */
    struct _GPlateCodeTagClass {
    GPlateTagClass parent;
    + /*< private >*/
    void (*_gplate_reserved1)(void);
    void (*_gplate_reserved2)(void);
    void (*_gplate_reserved3)(void);
    @@ -50,7 +59,7 @@
    G_BEGIN_DECLS
    -GType gplate_code_tag_get_gtype(void);
    +GType gplate_code_tag_get_type(void);
    G_END_DECLS
    --- a/gplate/tags/gplate-comment-tag.c Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/tags/gplate-comment-tag.c Tue Oct 02 20:54:38 2012 -0400
    @@ -45,7 +45,7 @@
    * GPlateCommentTag API
    *****************************************************************************/
    GType
    -gplate_comment_tag_get_gtype(void) {
    +gplate_comment_tag_get_type(void) {
    static GType type = 0;
    if(type == 0) {
    --- a/gplate/tags/gplate-comment-tag.h Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/tags/gplate-comment-tag.h Tue Oct 02 20:54:38 2012 -0400
    @@ -20,13 +20,28 @@
    #include <gplate/gplate-tag.h>
    -#define GPLATE_TYPE_COMMENT_TAG (gplate_comment_tag_get_gtype())
    +#define GPLATE_TYPE_COMMENT_TAG (gplate_comment_tag_get_type())
    +
    +/**
    + * SECTION:gplate-comment-tag
    + * @short_description: A #GPlateTag that renders nothing.
    + *
    + * #GPlateCommentTag is a #GPlateTag that uses the #GPlateNoopFunction
    + * to render its output of an empty string.
    + */
    +
    #define GPLATE_COMMENT_TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLATE_TYPE_COMMENT_TAG, GPlateCommentTag))
    #define GPLATE_COMMENT_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPLATE_TYPE_COMMENT_TAG, GPlateCommentTagClass))
    #define GPLATE_IS_COMMENT_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLATE_TYPE_COMMENT_TAG))
    #define GPLATE_IS_COMMENT_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GPLATE_TYPE_COMMENT_TAG))
    #define GPLATE_COMMENT_TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLATE_TYPE_COMMENT_TAG, GPlateCommentTagClass))
    +/**
    + * GPlateCommentTag:
    + *
    + * #GPlateCommentTag is an opaque structure and should not be used
    + * directly.
    + */
    typedef struct _GPlateCommentTag GPlateCommentTag;
    typedef struct _GPlateCommentTagClass GPlateCommentTagClass;
    @@ -39,9 +54,17 @@
    void (*_gplate_reserved4)(void);
    };
    +/**
    + * GPlateCommentTagClass:
    + * @parent: The parent class (#GPlateTagClass) structure.
    + *
    + * #GPlateCommentTagClass is an opaque structure and should not be
    + * used directly.
    + */
    struct _GPlateCommentTagClass {
    GPlateTagClass parent;
    + /*< private >*/
    void (*_gplate_reserved1)(void);
    void (*_gplate_reserved2)(void);
    void (*_gplate_reserved3)(void);
    @@ -50,7 +73,7 @@
    G_BEGIN_DECLS
    -GType gplate_comment_tag_get_gtype(void);
    +GType gplate_comment_tag_get_type(void);
    G_END_DECLS
    --- a/gplate/tags/gplate-text-tag.c Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/tags/gplate-text-tag.c Tue Oct 02 20:54:38 2012 -0400
    @@ -21,7 +21,7 @@
    * GPlateTextTag API
    *****************************************************************************/
    GType
    -gplate_text_tag_get_gtype(void) {
    +gplate_text_tag_get_type(void) {
    static GType type = 0;
    if(type == 0) {
    --- a/gplate/tags/gplate-text-tag.h Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/tags/gplate-text-tag.h Tue Oct 02 20:54:38 2012 -0400
    @@ -20,13 +20,34 @@
    #include <gplate/gplate-tag.h>
    -#define GPLATE_TYPE_TEXT_TAG (gplate_text_tag_get_gtype())
    +/**
    + * SECTION:gplate-text-tag
    + * @short_description: A #GPlateTag that renders contents directly.
    + *
    + * #GPlateTextTag is a special #GPlateTag that does not have a prefix
    + * nor a suffix. This is what we call a "fall-through" tag.
    + *
    + * Basically, when a token doesn't match the prefix and suffix of any
    + * other tag, it gets passed on to the fall-through tag, which is
    + * meant to render it exactly the same as the input.
    + *
    + * To render its output, #GPlateTextTag uses the #GPlatePrintFunction
    + * as its default function.
    + */
    +
    +#define GPLATE_TYPE_TEXT_TAG (gplate_text_tag_get_type())
    #define GPLATE_TEXT_TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLATE_TYPE_TEXT_TAG, GPlateTextTag))
    #define GPLATE_TEXT_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPLATE_TYPE_TEXT_TAG, GPlateTextTagClass))
    #define GPLATE_IS_TEXT_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLATE_TYPE_TEXT_TAG))
    #define GPLATE_IS_TEXT_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GPLATE_TYPE_TEXT_TAG))
    #define GPLATE_TEXT_TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLATE_TYPE_TEXT_TAG, GPlateTextTagClass))
    +/**
    + * GPlateTextTag:
    + *
    + * #GPlateTextTag is an opaque data structure that should not be used
    + * directly.
    + */
    typedef struct _GPlateTextTag GPlateTextTag;
    typedef struct _GPlateTextTagClass GPlateTextTagClass;
    @@ -39,9 +60,16 @@
    void (*_gplate_reserved4)(void);
    };
    +/**
    + * GPlateTextTagClass:
    + * @parent: The parent class (#GPlateTagClass) structure.
    + *
    + * The class for #GPlateTextTag.
    + */
    struct _GPlateTextTagClass {
    GPlateTagClass parent;
    + /*< private >*/
    void (*_gplate_reserved1)(void);
    void (*_gplate_reserved2)(void);
    void (*_gplate_reserved3)(void);
    @@ -50,7 +78,7 @@
    G_BEGIN_DECLS
    -GType gplate_text_tag_get_gtype(void);
    +GType gplate_text_tag_get_type(void);
    G_END_DECLS
    --- a/gplate/tags/gplate-variable-tag.c Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/tags/gplate-variable-tag.c Tue Oct 02 20:54:38 2012 -0400
    @@ -55,7 +55,7 @@
    * GPlateVariableTag API
    *****************************************************************************/
    GType
    -gplate_variable_tag_get_gtype(void) {
    +gplate_variable_tag_get_type(void) {
    static GType type = 0;
    if(type == 0) {
    --- a/gplate/tags/gplate-variable-tag.h Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/tags/gplate-variable-tag.h Tue Oct 02 20:54:38 2012 -0400
    @@ -20,28 +20,52 @@
    #include <gplate/gplate-tag.h>
    -#define GPLATE_TYPE_VARIABLE_TAG (gplate_variable_tag_get_gtype())
    +/**
    + * SECTION:gplate-variable-tag
    + * @short_description: A #GPlateTag that renders the value of a
    + * #GPlateVariable.
    + *
    + * #GPlateVariableTag is a #GPlateTag which looks up the variable
    + * found in its contents, and renders the value of the variable with
    + * its default function of #GPlatePrintFunction.
    + */
    +
    +#define GPLATE_TYPE_VARIABLE_TAG (gplate_variable_tag_get_type())
    #define GPLATE_VARIABLE_TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLATE_TYPE_VARIABLE_TAG, GPlateVariableTag))
    #define GPLATE_VARIABLE_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPLATE_TYPE_VARIABLE_TAG, GPlateVariableTagClass))
    #define GPLATE_IS_VARIABLE_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLATE_TYPE_VARIABLE_TAG))
    #define GPLATE_IS_VARIABLE_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GPLATE_TYPE_VARIABLE_TAG))
    #define GPLATE_VARIABLE_TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLATE_TYPE_VARIABLE_TAG, GPlateVariableTagClass))
    +/**
    + * GPlateVariableTag:
    + *
    + * #GPlateVariableTag is an opaque structure and should not be used
    + * directly.
    + */
    typedef struct _GPlateVariableTag GPlateVariableTag;
    typedef struct _GPlateVariableTagClass GPlateVariableTagClass;
    struct _GPlateVariableTag {
    GPlateTag gparent;
    + /*< private >*/
    void (*_gplate_reserved1)(void);
    void (*_gplate_reserved2)(void);
    void (*_gplate_reserved3)(void);
    void (*_gplate_reserved4)(void);
    };
    +/**
    + * GPlateVariableTagClass:
    + * @parent: The parent class (#GPlateTagClass) structure.
    + *
    + * The class for #GPlateVariableTag.
    + */
    struct _GPlateVariableTagClass {
    GPlateTagClass parent;
    + /*< private >*/
    void (*_gplate_reserved1)(void);
    void (*_gplate_reserved2)(void);
    void (*_gplate_reserved3)(void);
    @@ -50,7 +74,7 @@
    G_BEGIN_DECLS
    -GType gplate_variable_tag_get_gtype(void);
    +GType gplate_variable_tag_get_type(void);
    G_END_DECLS
    --- a/gplate/variables/gplate-dictionary-variable.c Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/variables/gplate-dictionary-variable.c Tue Oct 02 20:54:38 2012 -0400
    @@ -22,10 +22,10 @@
    #define GPLATE_DICTIONARY_VARIABLE_GET_PRIVATE(obj) \
    (G_TYPE_INSTANCE_GET_PRIVATE((obj), GPLATE_TYPE_DICTIONARY_VARIABLE, GPlateDictionaryVariablePrivate))
    -#define GPLATE_TYPE_DICTIONARY_VARIABLE_ITERATOR (gplate_dictionary_variable_iterator_get_gtype())
    +#define GPLATE_TYPE_DICTIONARY_VARIABLE_ITERATOR (gplate_dictionary_variable_iterator_get_type())
    #define GPLATE_DICTIONARY_VARIABLE_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLATE_TYPE_DICTIONARY_VARIABLE_ITERATOR, GPlateDictionaryVariableIterator))
    -static GType gplate_dictionary_variable_iterator_get_gtype(void);
    +static GType gplate_dictionary_variable_iterator_get_type(void);
    /******************************************************************************
    * Structs
    @@ -137,7 +137,7 @@
    * GPlateDictionaryVariableIterator API
    *****************************************************************************/
    static GType
    -gplate_dictionary_variable_iterator_get_gtype(void) {
    +gplate_dictionary_variable_iterator_get_type(void) {
    static GType type = 0;
    if(G_UNLIKELY(type == 0)) {
    @@ -343,7 +343,7 @@
    * GPlateVariable API
    *****************************************************************************/
    GType
    -gplate_dictionary_variable_get_gtype(void) {
    +gplate_dictionary_variable_get_type(void) {
    static GType type = 0;
    if(type == 0) {
    --- a/gplate/variables/gplate-dictionary-variable.h Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/variables/gplate-dictionary-variable.h Tue Oct 02 20:54:38 2012 -0400
    @@ -20,13 +20,30 @@
    #include <gplate/gplate-variable.h>
    -#define GPLATE_TYPE_DICTIONARY_VARIABLE (gplate_dictionary_variable_get_gtype())
    +#define GPLATE_TYPE_DICTIONARY_VARIABLE (gplate_dictionary_variable_get_type())
    +
    +/**
    + * SECTION:gplate-dictionary-variable
    + * @short_description: A dictionary #GPlateVariable
    + *
    + * #GPlateDictionaryVariable is both a #GPlateVariable and a
    + * GPlateCollection.
    + *
    + * It is meant to be used as a simple grouping of similar variables.
    + */
    +
    #define GPLATE_DICTIONARY_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLATE_TYPE_DICTIONARY_VARIABLE, GPlateDictionaryVariable))
    #define GPLATE_DICTIONARY_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPLATE_TYPE_DICTIONARY_VARIABLE, GPlateDictionaryVariableClass))
    #define GPLATE_IS_DICTIONARY_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLATE_TYPE_DICTIONARY_VARIABLE))
    #define GPLATE_IS_DICTIONARY_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GPLATE_TYPE_DICTIONARY_VARIABLE))
    #define GPLATE_DICTIONARY_VARIABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLATE_TYPE_DICTIONARY_VARIABLE, GPlateDictionaryVariableClass))
    +/**
    + * GPlateDictionaryVariable:
    + *
    + * #GPlateDictionaryVariable is an opaque data structure and should
    + * not be used directly.
    + */
    typedef struct _GPlateDictionaryVariable GPlateDictionaryVariable;
    typedef struct _GPlateDictionaryVariableClass GPlateDictionaryVariableClass;
    @@ -39,9 +56,17 @@
    void (*_gplate_reserved4)(void);
    };
    +/**
    + * GPlateDictionaryVariableClass:
    + * @parent: The parent class (#GPlateVariableClass) instance.
    + *
    + * #GPlateDictionaryVariableClass is an opaque data structure and
    + * should not be used directly.
    + */
    struct _GPlateDictionaryVariableClass {
    GPlateVariableClass parent;
    + /*< private >*/
    void (*_gplate_reserved1)(void);
    void (*_gplate_reserved2)(void);
    void (*_gplate_reserved3)(void);
    @@ -50,7 +75,7 @@
    G_BEGIN_DECLS
    -GType gplate_dictionary_variable_get_gtype(void);
    +GType gplate_dictionary_variable_get_type(void);
    GPlateVariable *gplate_dictionary_variable_new(const gchar *name);
    --- a/gplate/variables/gplate-directory-variable.c Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/variables/gplate-directory-variable.c Tue Oct 02 20:54:38 2012 -0400
    @@ -144,7 +144,7 @@
    * GPlateDirectoryVariable API
    *****************************************************************************/
    GType
    -gplate_directory_variable_get_gtype(void) {
    +gplate_directory_variable_get_type(void) {
    static GType type = 0;
    if(type == 0) {
    --- a/gplate/variables/gplate-directory-variable.h Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/variables/gplate-directory-variable.h Tue Oct 02 20:54:38 2012 -0400
    @@ -20,17 +20,34 @@
    #include <gplate/variables/gplate-dictionary-variable.h>
    -#define GPLATE_TYPE_DIRECTORY_VARIABLE (gplate_directory_variable_get_gtype())
    +#define GPLATE_TYPE_DIRECTORY_VARIABLE (gplate_directory_variable_get_type())
    +
    +/**
    + * SECTION:gplate-directory-variable
    + * @short_description: A GPlateCollection that holds
    + * #GPlateFileVariable instances.
    + *
    + * #GPlateDirectoryVariable is a GPlateCollection that is populated
    + * with one #GPlateFileVariable for each file in the given path.
    + */
    +
    #define GPLATE_DIRECTORY_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLATE_TYPE_DIRECTORY_VARIABLE, GPlateDirectoryVariable))
    #define GPLATE_DIRECTORY_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPLATE_TYPE_DIRECTORY_VARIABLE, GPlateDirectoryVariableClass))
    #define GPLATE_IS_DIRECTORY_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLATE_TYPE_DIRECTORY_VARIABLE))
    #define GPLATE_IS_DIRECTORY_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GPLATE_TYPE_DIRECTORY_VARIABLE))
    #define GPLATE_DIRECTORY_VARIABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLATE_TYPE_DIRECTORY_VARIABLE, GPlateDirectoryVariableClass))
    +/**
    + * GPlateDirectoryVariable:
    + *
    + * #GPlateDirectoryVariable is an opaque data structure and should not
    + * be used directly.
    + */
    typedef struct _GPlateDirectoryVariable GPlateDirectoryVariable;
    typedef struct _GPlateDirectoryVariableClass GPlateDirectoryVariableClass;
    struct _GPlateDirectoryVariable {
    + /*< private >*/
    GPlateDictionaryVariable gparent;
    void (*_gplate_reserved1)(void);
    @@ -39,11 +56,22 @@
    void (*_gplate_reserved4)(void);
    };
    +/**
    + * GPlateDirectoryVariableClass:
    + * @parent: The parent class (#GPlateDictionaryVariableClass) instance.
    + * @refresh: The function used to refresh an instance from the
    + * underlying filesystem or storage.
    + *
    + * #GPlateDirectoryVariableClass is a #GPlateDictionaryVariableClass
    + * which can hold one or more #GPlateFileVariable objects, representing
    + * files in some form of file storage.
    + */
    struct _GPlateDirectoryVariableClass {
    GPlateDictionaryVariableClass parent;
    void (*refresh)(GPlateDirectoryVariable *directory_variable);
    + /*< private >*/
    void (*_gplate_reserved1)(void);
    void (*_gplate_reserved2)(void);
    void (*_gplate_reserved3)(void);
    @@ -52,10 +80,9 @@
    G_BEGIN_DECLS
    -GType gplate_directory_variable_get_gtype(void);
    +GType gplate_directory_variable_get_type(void);
    GPlateVariable *gplate_directory_variable_new(const gchar *name, const gchar *path);
    -
    void gplate_directory_variable_refresh(GPlateDirectoryVariable *directory_variable);
    G_END_DECLS
    --- a/gplate/variables/gplate-file-variable.c Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/variables/gplate-file-variable.c Tue Oct 02 20:54:38 2012 -0400
    @@ -213,7 +213,7 @@
    * GPlateFileVariable API
    *****************************************************************************/
    GType
    -gplate_file_variable_get_gtype(void) {
    +gplate_file_variable_get_type(void) {
    static GType type = 0;
    if(type == 0) {
    --- a/gplate/variables/gplate-file-variable.h Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/variables/gplate-file-variable.h Tue Oct 02 20:54:38 2012 -0400
    @@ -20,30 +20,55 @@
    #include <gplate/variables/gplate-dictionary-variable.h>
    -#define GPLATE_TYPE_FILE_VARIABLE (gplate_file_variable_get_gtype())
    +#define GPLATE_TYPE_FILE_VARIABLE (gplate_file_variable_get_type())
    +/**
    + * SECTION:gplate-file-variable
    + * @short_description: A GPlateCollection that holds information
    + * about a file.
    + *
    + * #GPlateFileVariable contains variables for all of the values
    + * returned by stat.
    + */
    +
    #define GPLATE_FILE_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLATE_TYPE_FILE_VARIABLE, GPlateFileVariable))
    #define GPLATE_FILE_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPLATE_TYPE_FILE_VARIABLE, GPlateFileVariableClass))
    #define GPLATE_IS_FILE_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLATE_TYPE_FILE_VARIABLE))
    #define GPLATE_IS_FILE_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GPLATE_TYPE_FILE_VARIABLE))
    #define GPLATE_FILE_VARIABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLATE_TYPE_FILE_VARIABLE, GPlateFileVariableClass))
    +/**
    + * GPlateFileVariable:
    + * @gparent: The parent object (#GPlateDictionaryVariable) structure.
    + *
    + * A #GPlateFileVariable is an opaque data structure and should not be
    + * used directly.
    + */
    typedef struct _GPlateFileVariable GPlateFileVariable;
    typedef struct _GPlateFileVariableClass GPlateFileVariableClass;
    struct _GPlateFileVariable {
    GPlateDictionaryVariable gparent;
    + /*< private >*/
    void (*_gplate_reserved1)(void);
    void (*_gplate_reserved2)(void);
    void (*_gplate_reserved3)(void);
    void (*_gplate_reserved4)(void);
    };
    +/**
    + * GPlateFileVariableClass:
    + * @parent: The parent class (#GPlateDictionaryVariableClass) structure.
    + * @refresh: The function called to refresh the file's metadata.
    + *
    + * The class structure for #GPlateFileVariable.
    + */
    struct _GPlateFileVariableClass {
    GPlateDictionaryVariableClass parent;
    void (*refresh)(GPlateFileVariable *file_variable);
    + /*< private >*/
    void (*_gplate_reserved1)(void);
    void (*_gplate_reserved2)(void);
    void (*_gplate_reserved3)(void);
    @@ -52,10 +77,9 @@
    G_BEGIN_DECLS
    -GType gplate_file_variable_get_gtype(void);
    +GType gplate_file_variable_get_type(void);
    GPlateVariable *gplate_file_variable_new(const gchar *name, const gchar *filename);
    -
    void gplate_file_variable_refresh(GPlateFileVariable *file_variable);
    G_END_DECLS
    --- a/gplate/variables/gplate-object-variable.c Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/variables/gplate-object-variable.c Tue Oct 02 20:54:38 2012 -0400
    @@ -24,10 +24,10 @@
    #define GPLATE_OBJECT_VARIABLE_GET_PRIVATE(obj) \
    (G_TYPE_INSTANCE_GET_PRIVATE((obj), GPLATE_TYPE_OBJECT_VARIABLE, GPlateObjectVariablePrivate))
    -#define GPLATE_TYPE_OBJECT_VARIABLE_ITERATOR (gplate_object_variable_iterator_get_gtype())
    +#define GPLATE_TYPE_OBJECT_VARIABLE_ITERATOR (gplate_object_variable_iterator_get_type())
    #define GPLATE_OBJECT_VARIABLE_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLATE_TYPE_OBJECT_VARIABLE_ITERATOR, GPlateObjectVariableIterator))
    -static GType gplate_object_variable_iterator_get_gtype(void);
    +static GType gplate_object_variable_iterator_get_type(void);
    /******************************************************************************
    * Enums
    @@ -190,7 +190,7 @@
    * Iterator API
    *****************************************************************************/
    static GType
    -gplate_object_variable_iterator_get_gtype(void) {
    +gplate_object_variable_iterator_get_type(void) {
    static GType type = 0;
    if(G_UNLIKELY(type == 0)) {
    @@ -408,7 +408,7 @@
    * GPlateVariable API
    *****************************************************************************/
    GType
    -gplate_object_variable_get_gtype(void) {
    +gplate_object_variable_get_type(void) {
    static GType type = 0;
    if(type == 0) {
    --- a/gplate/variables/gplate-object-variable.h Mon Oct 01 11:30:52 2012 -0400
    +++ b/gplate/variables/gplate-object-variable.h Tue Oct 02 20:54:38 2012 -0400
    @@ -20,28 +20,53 @@
    #include <gplate/gplate-variable.h>
    -#define GPLATE_TYPE_OBJECT_VARIABLE (gplate_object_variable_get_gtype())
    +/**
    + * SECTION:gplate-object-variable
    + * @short_description: An object #GPlateVariable.
    + *
    + * #GPlateObjectVariable is both a #GPlateVariable and a
    + * GPlateCollection. It is created with a #GObject and exports the
    + * properties of the #GObject as variables and allows nesting for
    + * object properties.
    + */
    +
    +#define GPLATE_TYPE_OBJECT_VARIABLE (gplate_object_variable_get_type())
    #define GPLATE_OBJECT_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLATE_TYPE_OBJECT_VARIABLE, GPlateObjectVariable))
    #define GPLATE_OBJECT_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPLATE_TYPE_OBJECT_VARIABLE, GPlateObjectVariableClass))
    #define GPLATE_IS_OBJECT_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLATE_TYPE_OBJECT_VARIABLE))
    #define GPLATE_IS_OBJECT_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GPLATE_TYPE_OBJECT_VARIABLE))
    #define GPLATE_OBJECT_VARIABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLATE_TYPE_OBJECT_VARIABLE, GPlateObjectVariableClass))
    +/**
    + * GPlateObjectVariable:
    + * @gparent: The parent object (#GPlateVariable) structure.
    + *
    + * #GPlateObjectVariable is an opaque structure and should not be used
    + * directly.
    + */
    typedef struct _GPlateObjectVariable GPlateObjectVariable;
    typedef struct _GPlateObjectVariableClass GPlateObjectVariableClass;
    struct _GPlateObjectVariable {
    GPlateVariable gparent;
    + /*< private >*/
    void (*_gplate_reserved1)(void);
    void (*_gplate_reserved2)(void);
    void (*_gplate_reserved3)(void);
    void (*_gplate_reserved4)(void);
    };
    +/**
    + * GPlateObjectVariableClass:
    + * @parent: The parent class (#GPlateVariableClass) structure.
    + *
    + * The class for #GPlateObjectVariable.
    + */
    struct _GPlateObjectVariableClass {
    GPlateVariableClass parent;
    + /*< private >*/
    void (*_gplate_reserved1)(void);
    void (*_gplate_reserved2)(void);
    void (*_gplate_reserved3)(void);
    @@ -50,7 +75,7 @@
    G_BEGIN_DECLS
    -GType gplate_object_variable_get_gtype(void);
    +GType gplate_object_variable_get_type(void);
    GPlateVariable *gplate_object_variable_new_from_object(const gchar *name, GObject *value);