int main( int argc, char** argv ) { int status = EXIT_SUCCESS; GOptionContext *context; GError *error = NULL; NAObjectAction *action; GSList *msg = NULL; GSList *im; gchar *help; gint errors; #if !GLIB_CHECK_VERSION( 2,36, 0 ) g_type_init(); #endif setlocale( LC_ALL, "" ); console_init_log_handler(); context = init_options(); if( argc == 1 ){ g_set_prgname( argv[0] ); help = g_option_context_get_help( context, FALSE, NULL ); g_print( "\n%s", help ); g_free( help ); exit( status ); } if( !g_option_context_parse( context, &argc, &argv, &error )){ g_printerr( _( "Syntax error: %s\n" ), error->message ); g_error_free (error); exit_with_usage(); } if( version ){ na_core_utils_print_version(); exit( status ); } errors = 0; if( !label || !g_utf8_strlen( label, -1 )){ g_printerr( _( "Error: an action label is mandatory.\n" )); errors += 1; } if( enabled && disabled ){ g_printerr( CANNOT_BOTH, "--enabled", "--disabled" ); errors += 1; } else if( !disabled ){ enabled = TRUE; } if( target_selection && nocontext ){ g_printerr( CANNOT_BOTH, "--context", "--nocontext" ); errors += 1; } else if( !nocontext ){ target_selection = TRUE; } if( target_location && nolocation ){ g_printerr( CANNOT_BOTH, "--location", "--nolocation" ); errors += 1; } if( target_toolbar && notoolbar ){ g_printerr( CANNOT_BOTH, "--toolbar", "--notoolbar" ); errors += 1; } if( matchcase && nocase ){ g_printerr( CANNOT_BOTH, "--match-case", "--nocase" ); errors += 1; } else if( !nocase ){ matchcase = TRUE; } if( accept_multiple && strlen( selection_count )){ g_printerr( CANNOT_BOTH, "--accept-multiple", "--selection-count" ); errors += 1; } if( onlyshow_array && notshow_array ){ g_printerr( CANNOT_BOTH, "--only-show-in", "--not-show-in" ); errors += 1; } if( output_stdout && output_desktop ){ g_printerr( _( "Error: only one output option may be specified.\n" )); errors += 1; } if( errors ){ exit_with_usage(); } action = get_action_from_cmdline(); if( output_desktop ){ output_to_desktop( action, &msg ); } else { output_to_stdout( action, &msg ); } if( msg ){ for( im = msg ; im ; im = im->next ){ g_printerr( "%s\n", ( gchar * ) im->data ); } na_core_utils_slist_free( msg ); status = EXIT_FAILURE; } g_object_unref( action ); g_option_context_free( context ); exit( status ); }
int main( int argc, char** argv ) { int status = EXIT_SUCCESS; GOptionContext *context; GError *error = NULL; gchar *help; gint errors; NAObjectItem *item; NAIExporter *exporter; #if !GLIB_CHECK_VERSION( 2,36, 0 ) g_type_init(); #endif setlocale( LC_ALL, "" ); console_init_log_handler(); context = init_options(); if( argc == 1 ){ g_set_prgname( argv[0] ); help = g_option_context_get_help( context, FALSE, NULL ); g_print( "\n%s", help ); g_free( help ); exit( status ); } if( !g_option_context_parse( context, &argc, &argv, &error )){ g_printerr( _( "Syntax error: %s\n" ), error->message ); g_error_free (error); exit_with_usage(); } g_option_context_free( context ); if( version ){ na_core_utils_print_version(); exit( status ); } errors = 0; if( !id || !strlen( id )){ g_printerr( _( "Error: a menu or action id is mandatory.\n" )); errors += 1; } item = get_item( id ); if( !item ){ errors += 1; } if( !format || !strlen( format )){ format = "Desktop1"; } exporter = na_exporter_find_for_format( pivot, format ); if( !exporter ){ /* i18n: %s stands for the id of the export format, and is not translatable */ g_printerr( _( "Error: %s: unknown export format.\n" ), format ); errors += 1; } if( errors ){ exit_with_usage(); } export_item( item, format ); exit( status ); }
int main( int argc, char** argv ) { static const gchar *thisfn = "caja_actions_run_main"; int status = EXIT_SUCCESS; GOptionContext *context; GError *error = NULL; gchar *help; gint errors; NAObjectAction *action; NAObjectProfile *profile; GList *targets; g_type_init(); setlocale( LC_ALL, "" ); console_init_log_handler(); /* pwi 2011-01-05 * run MateConf migration tools before doing anything else * above all before allocating a new NAPivot */ na_mateconf_migration_run(); context = init_options(); if( argc == 1 ){ g_set_prgname( argv[0] ); help = g_option_context_get_help( context, FALSE, NULL ); g_print( "\n%s", help ); g_free( help ); exit( status ); } if( !g_option_context_parse( context, &argc, &argv, &error )){ g_printerr( _( "Syntax error: %s\n" ), error->message ); g_error_free (error); exit_with_usage(); } g_option_context_free( context ); if( version ){ na_core_utils_print_version(); exit( status ); } errors = 0; if( !id || !strlen( id )){ g_printerr( _( "Error: action id is mandatory.\n" )); errors += 1; } action = get_action( id ); if( !action ){ errors += 1; } else { g_debug( "%s: action %s have been found, and is enabled and valid", thisfn, id ); } if( errors ){ exit_with_usage(); } if( targets_array ){ targets = targets_from_commandline(); } else { targets = targets_from_selection(); } dump_targets( targets ); if( g_list_length( targets ) == 0 ){ g_print( _( "No current selection. Nothing to do. Exiting.\n" )); exit( status ); } if( !na_icontext_is_candidate( NA_ICONTEXT( action ), ITEM_TARGET_ANY, targets )){ g_printerr( _( "Action %s is not a valid candidate. Exiting.\n" ), id ); exit( status ); } profile = get_profile_for_targets( action, targets ); if( !profile ){ g_print( _( "No valid profile is candidate to execution. Exiting.\n" )); exit( status ); } g_debug( "%s: profile %p found", thisfn, ( void * ) profile ); execute_action( action, profile, targets ); na_selected_info_free_list( targets ); exit( status ); }