示例#1
0
int
main( int argc, char *argv[] )
{
	GOptionContext *context;
	GOptionGroup *main_group;
	GError *error = NULL;

	if( VIPS_INIT( argv[0] ) )
	        vips_error_exit( "unable to start VIPS" );

	textdomain( GETTEXT_PACKAGE );
	setlocale( LC_ALL, "" );

        context = g_option_context_new( _( "- introspect" ) );
	main_group = g_option_group_new( NULL, NULL, NULL, NULL, NULL );
	g_option_group_add_entries( main_group, main_option );
	vips_add_option_entries( main_group ); 
	g_option_group_set_translation_domain( main_group, GETTEXT_PACKAGE );
	g_option_context_set_main_group( context, main_group );

	if( !g_option_context_parse( context, &argc, &argv, &error ) ) {
		if( error ) {
			fprintf( stderr, "%s\n", error->message );
			g_error_free( error );
		}

		vips_error_exit( "try \"%s --help\"", g_get_prgname() );
	}

	g_option_context_free( context );

#ifdef DEBUG
	/* For debugging it's handy to have a copy of the input file.
	 */
	if( main_option_introspect_dump ) { 
		char **args;
		char *cmd;

		args = g_strsplit( main_option_introspect_dump, ",", 2 );
		cmd = g_strdup_printf( "cp %s ~/functions.txt", args[0]);
		printf( "introspect: running '%s'\n", cmd );
		system( cmd );
		g_free( cmd );
	}
#endif /*DEBUG*/

	if( main_option_introspect_dump &&
		!g_irepository_dump( main_option_introspect_dump, &error ) ) {
		if( error ) {
			fprintf( stderr, "%s\n", error->message );
			g_error_free( error );
		}

		vips_error_exit( "unable to dump introspection" ); 
	}

	vips_shutdown();

	return( 0 );
}
示例#2
0
int
main(int argc, char **argv)
{
  const char *prefix = "--introspect-dump=";
  GError *error = NULL;
  if (!(argc == 2 && g_str_has_prefix (argv[1], prefix)))
    {
      g_printerr ("usage: barapp --introspect-dump=types.txt,out.xml\\n");
      return 1;
    }

  if (!g_irepository_dump (argv[1] + strlen (prefix), &error))
    {
      g_printerr ("%s\n", error->message);
      return 1;
    }
  return 0;
}