X-Git-Url: http://git.draconx.ca/gitweb/upkg.git/blobdiff_plain/0b66ccda847802bdc7ba4755743031c323df4b7e..82c24245034226967611c9d2c4f6f04b4f9db6cc:/src/upkg.c diff --git a/src/upkg.c b/src/upkg.c index bcbee2f..c40d6d1 100644 --- a/src/upkg.c +++ b/src/upkg.c @@ -22,9 +22,9 @@ #include #include "upkg.h" +#include "module.h" #include "serializable.h" #include "exportable.h" -#include "music.h" void print_upkg_flags(const char *prefix, unsigned long flags) { @@ -57,13 +57,14 @@ int main(int argc, char **argv) { struct upkg *pkg; - g_type_init(); - if (argc < 2) { fprintf(stderr, "usage: upkg file\n"); return EXIT_FAILURE; } + if (module_init() != 0) + return EXIT_FAILURE; + pkg = upkg_fopen(argv[1]); if (!pkg) { fprintf(stderr, "failed to open package!\n"); @@ -86,7 +87,9 @@ int main(int argc, char **argv) printf("Exports: %lu\n", pkg->export_count); printf("Imports: %lu\n", pkg->import_count); - GObject *music = u_music_new(); + GObject *music = g_object_new(module_get_class("Engine", "Music"), NULL); + if (!music) + return EXIT_FAILURE; struct upkg_file *f = upkg_export_open(pkg, 0); upkg_deserialize(music, f); @@ -99,5 +102,7 @@ int main(int argc, char **argv) printf("Wrote %s\n", name); upkg_close(pkg); + module_exit(); + return 0; }