g_irepository_dump implementation

svn path=/trunk/; revision=911
This commit is contained in:
Colin Walters 2008-11-13 19:57:09 +00:00
parent 7fa1ffa6e7
commit 1ffeeab3d4
3 changed files with 33 additions and 2 deletions

View File

@ -13,9 +13,11 @@ libgirepository_la_SOURCES = \
gtypelib.h \
gtypelib.c \
ginfo.c \
ginvoke.c \
girffi.c \
girffi.h
girffi.h \
gdump.c \
ginvoke.c
libgirepository_la_CPPFLAGS = $(GIREPO_CFLAGS)
libgirepository_la_LIBADD = $(GIREPO_LIBS)
libgirepository_la_LDFLAGS = -no-undefined

View File

@ -1145,6 +1145,31 @@ g_irepository_require (GIRepository *repository,
return ret;
}
static gboolean
g_irepository_introspect_cb (const char *option_name,
const char *value,
gpointer data,
GError **error)
{
return g_irepository_dump (value, error);
}
static const GOptionEntry introspection_args[] = {
{ "introspect-dump", 0, G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_CALLBACK,
g_irepository_introspect_cb, "Dump introspection information",
"infile.txt,outfile.xml" },
{ NULL }
};
GOptionGroup *
g_irepository_get_option_group (void)
{
GOptionGroup *group;
group = g_option_group_new ("girepository", "Introspection Options", "Show Introspection Options", NULL, NULL);
g_option_group_add_entries (group, introspection_args);
return group;
}
GQuark
g_irepository_error_quark (void)

View File

@ -110,6 +110,10 @@ const gchar * g_irepository_get_shared_library (GIRepository *repository,
const gchar * g_irepository_get_version (GIRepository *repository,
const gchar *namespace);
GOptionGroup * g_irepository_get_option_group (void);
gboolean g_irepository_dump (const char *arg, GError **error);
/* Typelib */
GTypelib * g_typelib_new_from_memory (guchar *memory,