]> git.draconx.ca Git - upkg.git/blobdiff - src/exportable.c
Initial UObject implementation plus a dumb music extractor.
[upkg.git] / src / exportable.c
diff --git a/src/exportable.c b/src/exportable.c
new file mode 100644 (file)
index 0000000..8947fcc
--- /dev/null
@@ -0,0 +1,31 @@
+#include <stdio.h>
+#include <glib-object.h>
+#include "exportable.h"
+
+GType upkg_exportable_get_type(void)
+{
+       static GType type = 0;
+       if (type == 0) {
+               static const GTypeInfo info = {
+                       sizeof (UPkgExportable),
+                       NULL,
+                       NULL,
+               };
+
+               type = g_type_register_static(G_TYPE_INTERFACE,
+                       "UPkgExportable", &info, 0);
+       }
+       return type;
+}
+
+int upkg_export(GObject *obj, FILE *f)
+{
+       g_return_val_if_fail(UPKG_IS_EXPORTABLE(obj), -1);
+       return UPKG_EXPORTABLE_GET_INTERFACE(obj)->export(obj, f);
+}
+
+int upkg_export_name(GObject *obj, char *buf, size_t n)
+{
+       g_return_val_if_fail(UPKG_IS_EXPORTABLE(obj), -1);
+       return UPKG_EXPORTABLE_GET_INTERFACE(obj)->export_name(obj, buf, n);
+}