#include <uobject/exportable.h>
#include <uobject/loadable.h>
#include <uobject/module.h>
+#include <uobject/package.h>
enum {
MODE_INFO,
printf("%s\n", PACKAGE_STRING);
puts("\
Copyright (C) 2009 Nick Bowler.\n\
+License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.\n\
This is free software: you are free to change and redistribute it.\n\
There is NO WARRANTY, to the extent permitted by law."
);
printf("%u - %s (%s.%s)\n", i+1, name, package, class);
printf(" Flags: %lx\n", upkg_export_flags(pkg, i));
- print_upkg_object_flags(" ", upkg_export_flags(pkg, i));
+ if (verbose >= 2) {
+ print_upkg_object_flags(" ", upkg_export_flags(pkg, i));
+ }
}
}
print_guid(pkg->guid);
printf("Flags: %lx\n", pkg->flags);
- if (verbose >= 1) {
+ if (verbose >= 2) {
print_upkg_flags(" ", pkg->flags);
}
- if (verbose >= 1) {
- printf("Names: %lu\n", pkg->name_count);
- if (verbose >= 2) {
- for (unsigned long i = 0; i < pkg->name_count; i++) {
- printf("\t%s\n", upkg_get_name(pkg, i));
- }
+ printf("Names: %lu\n", pkg->name_count);
+ if (verbose >= 3) {
+ for (unsigned long i = 0; i < pkg->name_count; i++) {
+ printf("\t%s\n", upkg_get_name(pkg, i));
}
}
int main(int argc, char **argv)
{
- struct upkg *pkg;
+ UPkg *upkg;
unsigned mode = MODE_INFO;
int opt, rc = EXIT_FAILURE;
if (u_object_module_init() != 0)
return EXIT_FAILURE;
- pkg = upkg_fopen(argv[optind]);
- if (!pkg) {
+ upkg = U_PKG(u_pkg_new_by_file(argv[optind]));
+ if (!upkg) {
fprintf(stderr, "failed to open package!\n");
return EXIT_FAILURE;
}
switch (mode) {
case MODE_INFO:
- rc = package_info(pkg);
+ rc = package_info(upkg->pkg);
break;
case MODE_EXPORT:
- rc = package_export(pkg);
+ rc = package_export(upkg->pkg);
break;
}
- upkg_close(pkg);
+ g_object_unref(upkg);
u_object_module_exit();
return rc;
}