summaryrefslogtreecommitdiff
path: root/girepository
diff options
context:
space:
mode:
Diffstat (limited to 'girepository')
-rw-r--r--girepository/gdump.c2
-rw-r--r--girepository/gi-dump-types.c34
2 files changed, 36 insertions, 0 deletions
diff --git a/girepository/gdump.c b/girepository/gdump.c
index aab067b6..c237a81e 100644
--- a/girepository/gdump.c
+++ b/girepository/gdump.c
@@ -431,6 +431,8 @@ dump_error_quark (GQuark quark, const char *symbol, GOutputStream *out)
*/
#ifndef G_IREPOSITORY_COMPILATION
static gboolean
+dump_irepository (const char *arg, GError **error) G_GNUC_UNUSED;
+static gboolean
dump_irepository (const char *arg, GError **error)
#else
gboolean
diff --git a/girepository/gi-dump-types.c b/girepository/gi-dump-types.c
new file mode 100644
index 00000000..eacf8a01
--- /dev/null
+++ b/girepository/gi-dump-types.c
@@ -0,0 +1,34 @@
+#include "gdump.c"
+#include <gio/gunixoutputstream.h>
+
+int
+main (int argc,
+ char **argv)
+{
+ int i;
+ GOutputStream *stdout;
+ GModule *self;
+
+ g_type_init ();
+
+ stdout = g_unix_output_stream_new (1, FALSE);
+
+ self = g_module_open (NULL, 0);
+
+ for (i = 1; i < argc; i++)
+ {
+ GError *error = NULL;
+ GType type;
+
+ type = invoke_get_type (self, argv[i], &error);
+ if (!type)
+ {
+ g_printerr ("%s\n", error->message);
+ g_clear_error (&error);
+ }
+ else
+ dump_type (type, argv[i], stdout);
+ }
+
+ return 0;
+}