Remove type and use only process function. Signed-off-by: Guilhem Bonnefille <guilhem.bonnefi...@gmail.com>
--- src/acquire.c | 20 ++------------------ src/acquire.h | 9 --------- src/datasource_bfilter.c | 12 ++++-------- src/datasource_file.c | 3 +-- src/datasource_gc.c | 3 +-- src/datasource_geotag.c | 1 - src/datasource_google.c | 3 +-- src/datasource_gps.c | 3 +-- src/datasource_osm.c | 3 +-- 9 files changed, 11 insertions(+), 46 deletions(-) diff --git a/src/acquire.c b/src/acquire.c index 5d8d402..0aa4998 100644 --- a/src/acquire.c +++ b/src/acquire.c @@ -117,24 +117,8 @@ static void get_from_anything ( w_and_interface_t *wi ) } gdk_threads_leave(); - // TODO consider removing 'type' and make everything run via the specficied process function - switch ( source_interface->type ) { - case VIK_DATASOURCE_GPSBABEL_DIRECT: - result = a_babel_convert_from (vtl, cmd, extra, (BabelStatusFunc) progress_func, w); - break; - case VIK_DATASOURCE_URL: - result = a_babel_convert_from_url (vtl, cmd, extra, (BabelStatusFunc) progress_func, w); - break; - case VIK_DATASOURCE_SHELL_CMD: - result = a_babel_convert_from_shellcommand ( vtl, cmd, extra, (BabelStatusFunc) progress_func, w); - break; - case VIK_DATASOURCE_INTERNAL: - if ( source_interface->process_func ) - result = source_interface->process_func ( vtl, cmd, extra, (BabelStatusFunc) progress_func, w ); - break; - default: - g_critical("Houston, we've had a problem."); - } + if ( source_interface->process_func ) + result = source_interface->process_func ( vtl, cmd, extra, (BabelStatusFunc) progress_func, w ); g_free ( cmd ); g_free ( extra ); diff --git a/src/acquire.h b/src/acquire.h index a8691df..9b47e05 100644 --- a/src/acquire.h +++ b/src/acquire.h @@ -45,14 +45,6 @@ typedef struct { gpointer user_data; } acq_dialog_widgets_t; -/* Direct, URL & Shell types process the results with GPSBabel to create tracks/waypoint */ -typedef enum { - VIK_DATASOURCE_GPSBABEL_DIRECT, - VIK_DATASOURCE_URL, - VIK_DATASOURCE_SHELL_CMD, - VIK_DATASOURCE_INTERNAL -} vik_datasource_type_t; - typedef enum { VIK_DATASOURCE_CREATENEWLAYER, VIK_DATASOURCE_ADDTOLAYER @@ -101,7 +93,6 @@ typedef void (*VikDataSourceOffFunc) ( gpointer user_data, gchar **babelargs_or_ struct _VikDataSourceInterface { const gchar *window_title; const gchar *layer_title; - vik_datasource_type_t type; vik_datasource_mode_t mode; vik_datasource_inputtype_t inputtype; gboolean autoview; diff --git a/src/datasource_bfilter.c b/src/datasource_bfilter.c index 78dbe9c..f17004b 100644 --- a/src/datasource_bfilter.c +++ b/src/datasource_bfilter.c @@ -59,14 +59,13 @@ VikLayerParamData bfilter_simplify_params_defaults[] = { VikDataSourceInterface vik_datasource_bfilter_simplify_interface = { N_("Simplify All Tracks..."), N_("Simplified Tracks"), - VIK_DATASOURCE_SHELL_CMD, VIK_DATASOURCE_CREATENEWLAYER, VIK_DATASOURCE_INPUTTYPE_TRWLAYER, TRUE, FALSE, /* keep dialog open after success */ NULL, NULL, NULL, (VikDataSourceGetCmdStringFunc) datasource_bfilter_simplify_get_cmd_string, - (VikDataSourceProcessFunc) NULL, + (VikDataSourceProcessFunc) a_babel_convert_from_shellcommand, NULL, NULL, NULL, (VikDataSourceOffFunc) NULL, @@ -95,14 +94,13 @@ static void datasource_bfilter_dup_get_cmd_string ( VikLayerParamData *paramdata VikDataSourceInterface vik_datasource_bfilter_dup_interface = { N_("Remove Duplicate Waypoints"), N_("Remove Duplicate Waypoints"), - VIK_DATASOURCE_SHELL_CMD, VIK_DATASOURCE_CREATENEWLAYER, VIK_DATASOURCE_INPUTTYPE_TRWLAYER, TRUE, FALSE, /* keep dialog open after success */ NULL, NULL, NULL, (VikDataSourceGetCmdStringFunc) datasource_bfilter_dup_get_cmd_string, - (VikDataSourceProcessFunc) NULL, + (VikDataSourceProcessFunc) a_babel_convert_from_shellcommand, NULL, NULL, NULL, (VikDataSourceOffFunc) NULL, @@ -128,14 +126,13 @@ static void datasource_bfilter_polygon_get_cmd_string ( VikLayerParamData *param VikDataSourceInterface vik_datasource_bfilter_polygon_interface = { N_("Waypoints Inside This"), N_("Polygonized Layer"), - VIK_DATASOURCE_SHELL_CMD, VIK_DATASOURCE_CREATENEWLAYER, VIK_DATASOURCE_INPUTTYPE_TRWLAYER_TRACK, TRUE, FALSE, /* keep dialog open after success */ NULL, NULL, NULL, (VikDataSourceGetCmdStringFunc) datasource_bfilter_polygon_get_cmd_string, - (VikDataSourceProcessFunc) NULL, + (VikDataSourceProcessFunc) a_babel_convert_from_shellcommand, NULL, NULL, NULL, (VikDataSourceOffFunc) NULL, @@ -164,14 +161,13 @@ static void datasource_bfilter_exclude_polygon_get_cmd_string ( VikLayerParamDat VikDataSourceInterface vik_datasource_bfilter_exclude_polygon_interface = { N_("Waypoints Outside This"), N_("Polygonzied Layer"), - VIK_DATASOURCE_SHELL_CMD, VIK_DATASOURCE_CREATENEWLAYER, VIK_DATASOURCE_INPUTTYPE_TRWLAYER_TRACK, TRUE, FALSE, /* keep dialog open after success */ NULL, NULL, NULL, (VikDataSourceGetCmdStringFunc) datasource_bfilter_exclude_polygon_get_cmd_string, - (VikDataSourceProcessFunc) NULL, + (VikDataSourceProcessFunc) a_babel_convert_from_shellcommand, NULL, NULL, NULL, (VikDataSourceOffFunc) NULL, diff --git a/src/datasource_file.c b/src/datasource_file.c index f6f64e7..bf26fb9 100644 --- a/src/datasource_file.c +++ b/src/datasource_file.c @@ -58,7 +58,6 @@ static void datasource_file_cleanup ( gpointer data ); VikDataSourceInterface vik_datasource_file_interface = { N_("Import file with GPSBabel"), N_("Imported file"), - VIK_DATASOURCE_GPSBABEL_DIRECT, VIK_DATASOURCE_ADDTOLAYER, VIK_DATASOURCE_INPUTTYPE_NONE, TRUE, @@ -67,7 +66,7 @@ VikDataSourceInterface vik_datasource_file_interface = { (VikDataSourceCheckExistenceFunc) NULL, (VikDataSourceAddSetupWidgetsFunc) datasource_file_add_setup_widgets, (VikDataSourceGetCmdStringFunc) datasource_file_get_cmd_string, - (VikDataSourceProcessFunc) NULL, + (VikDataSourceProcessFunc) a_babel_convert_from, (VikDataSourceProgressFunc) NULL, (VikDataSourceAddProgressWidgetsFunc) NULL, (VikDataSourceCleanupFunc) datasource_file_cleanup, diff --git a/src/datasource_gc.c b/src/datasource_gc.c index b3b6b2c..59bad35 100644 --- a/src/datasource_gc.c +++ b/src/datasource_gc.c @@ -65,7 +65,6 @@ static gchar *datasource_gc_check_existence (); VikDataSourceInterface vik_datasource_gc_interface = { N_("Download Geocaches"), N_("Geocaching.com Caches"), - VIK_DATASOURCE_SHELL_CMD, VIK_DATASOURCE_ADDTOLAYER, VIK_DATASOURCE_INPUTTYPE_NONE, TRUE, // Yes automatically update the display - otherwise we won't see the geocache waypoints! @@ -74,7 +73,7 @@ VikDataSourceInterface vik_datasource_gc_interface = { (VikDataSourceCheckExistenceFunc) datasource_gc_check_existence, (VikDataSourceAddSetupWidgetsFunc) datasource_gc_add_setup_widgets, (VikDataSourceGetCmdStringFunc) datasource_gc_get_cmd_string, - (VikDataSourceProcessFunc) NULL, + a_babel_convert_from_shellcommand, (VikDataSourceProgressFunc) NULL, (VikDataSourceAddProgressWidgetsFunc) NULL, (VikDataSourceCleanupFunc) datasource_gc_cleanup, diff --git a/src/datasource_geotag.c b/src/datasource_geotag.c index f061f7b..b3ffc23 100644 --- a/src/datasource_geotag.c +++ b/src/datasource_geotag.c @@ -51,7 +51,6 @@ static void datasource_geotag_cleanup ( gpointer user_data ); VikDataSourceInterface vik_datasource_geotag_interface = { N_("Create Waypoints from Geotagged Images"), N_("Geotagged Images"), - VIK_DATASOURCE_INTERNAL, VIK_DATASOURCE_ADDTOLAYER, VIK_DATASOURCE_INPUTTYPE_NONE, TRUE, diff --git a/src/datasource_google.c b/src/datasource_google.c index e85d673..471bf4f 100644 --- a/src/datasource_google.c +++ b/src/datasource_google.c @@ -48,7 +48,6 @@ static void datasource_google_cleanup ( gpointer data ); VikDataSourceInterface vik_datasource_google_interface = { N_("Google Directions"), N_("Google Directions"), - VIK_DATASOURCE_URL, VIK_DATASOURCE_ADDTOLAYER, VIK_DATASOURCE_INPUTTYPE_NONE, TRUE, @@ -57,7 +56,7 @@ VikDataSourceInterface vik_datasource_google_interface = { (VikDataSourceCheckExistenceFunc) NULL, (VikDataSourceAddSetupWidgetsFunc) datasource_google_add_setup_widgets, (VikDataSourceGetCmdStringFunc) datasource_google_get_cmd_string, - (VikDataSourceProcessFunc) NULL, + (VikDataSourceProcessFunc) a_babel_convert_from_url, (VikDataSourceProgressFunc) NULL, (VikDataSourceAddProgressWidgetsFunc) NULL, (VikDataSourceCleanupFunc) datasource_google_cleanup, diff --git a/src/datasource_gps.c b/src/datasource_gps.c index 5ef75f2..1619164 100644 --- a/src/datasource_gps.c +++ b/src/datasource_gps.c @@ -56,7 +56,6 @@ static void datasource_gps_off ( gpointer add_widgets_data_not_used, gchar **bab VikDataSourceInterface vik_datasource_gps_interface = { N_("Acquire from GPS"), N_("Acquired from GPS"), - VIK_DATASOURCE_GPSBABEL_DIRECT, VIK_DATASOURCE_CREATENEWLAYER, VIK_DATASOURCE_INPUTTYPE_NONE, TRUE, @@ -65,7 +64,7 @@ VikDataSourceInterface vik_datasource_gps_interface = { (VikDataSourceCheckExistenceFunc) NULL, (VikDataSourceAddSetupWidgetsFunc) datasource_gps_add_setup_widgets, (VikDataSourceGetCmdStringFunc) datasource_gps_get_cmd_string, - (VikDataSourceProcessFunc) NULL, + (VikDataSourceProcessFunc) a_babel_convert_from, (VikDataSourceProgressFunc) datasource_gps_progress, (VikDataSourceAddProgressWidgetsFunc) datasource_gps_add_progress_widgets, (VikDataSourceCleanupFunc) datasource_gps_cleanup, diff --git a/src/datasource_osm.c b/src/datasource_osm.c index 9315f5c..a079573 100644 --- a/src/datasource_osm.c +++ b/src/datasource_osm.c @@ -51,7 +51,6 @@ static void datasource_osm_cleanup ( gpointer data ); VikDataSourceInterface vik_datasource_osm_interface = { N_("OSM traces"), N_("OSM traces"), - VIK_DATASOURCE_URL, VIK_DATASOURCE_ADDTOLAYER, VIK_DATASOURCE_INPUTTYPE_NONE, TRUE, @@ -60,7 +59,7 @@ VikDataSourceInterface vik_datasource_osm_interface = { (VikDataSourceCheckExistenceFunc) NULL, (VikDataSourceAddSetupWidgetsFunc) datasource_osm_add_setup_widgets, (VikDataSourceGetCmdStringFunc) datasource_osm_get_cmd_string, - (VikDataSourceProcessFunc) NULL, + (VikDataSourceProcessFunc) a_babel_convert_from_url, (VikDataSourceProgressFunc) NULL, (VikDataSourceAddProgressWidgetsFunc) NULL, (VikDataSourceCleanupFunc) datasource_osm_cleanup, -- tg: (9c23713..) t/qa/simplify-acquire (depends on: master) ------------------------------------------------------------------------------ Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122412 _______________________________________________ Viking-devel mailing list Viking-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/viking-devel Viking home page: http://viking.sf.net/