--- generator/generator_gobject.ml | 33 +++++++++++++++++++++++++-------- 1 files changed, 25 insertions(+), 8 deletions(-) diff --git a/generator/generator_gobject.ml b/generator/generator_gobject.ml index 77b8e32..6a7c36a 100644 --- a/generator/generator_gobject.ml +++ b/generator/generator_gobject.ml @@ -158,7 +158,17 @@ GType guestfs_session_get_type(void); GuestfsSession *guestfs_session_new(void); gboolean guestfs_session_close(GuestfsSession *session, GError **err); -/* GuestfsTristate */ +/** + * GuestfsTristate: + * @GUESTFS_TRISTATE_FALSE: False + * @GUESTFS_TRISTATE_TRUE: True + * @GUESTFS_TRISTATE_NONE: Unset + * + * An object representing a tristate: i.e. true, false, or unset. If a language + * binding has a native concept of true and false which also correspond to the + * integer values 1 and 0 respectively, these will also correspond to + * GUESTFS_TRISTATE_TRUE and GUESTFS_TRISTATE_FALSE. + */ typedef enum { GUESTFS_TRISTATE_FALSE, @@ -247,20 +257,27 @@ let generate_gobject_header_optarg name optargs flags = pr "(G_TYPE_INSTANCE_GET_CLASS((obj), %s, %sClass))\n" type_define camel_name; pr "\n"; - - List.iter ( - fun suffix -> - let name = camel_name ^ suffix in - pr "typedef struct _%s %s;\n" name name; - ) [ ""; "Private"; "Class" ]; - + pr "typedef struct _%sPrivate %sPrivate;\n" camel_name camel_name; pr "\n"; + pr "/**\n"; + pr " * %s:\n" camel_name; + pr " *\n"; + pr " * An object encapsulating optional arguments for guestfs_session_%s.\n" name; + pr " */\n"; + pr "typedef struct _%s %s;\n" camel_name camel_name; pr "struct _%s {\n" camel_name; pr " GObject parent;\n"; pr " %sPrivate *priv;\n" camel_name; pr "};\n\n"; + pr "/**\n"; + pr " * %sClass:\n" camel_name; + pr " * @parent_class: The superclass of %sClass\n" camel_name; + pr " *\n"; + pr " * A class metadata object for %s.\n" camel_name; + pr " */\n"; + pr "typedef struct _%sClass %sClass;\n" camel_name camel_name; pr "struct _%sClass {\n" camel_name; pr " GObjectClass parent_class;\n"; pr "};\n\n"; -- 1.7.7.6