-typedef void (*VikDataSourceGetCmdStringFunc) ( gpointer widgets_data, gchar **babelargs_or_shellcmd, gchar **inputfile_or_inputtype );
-typedef void (*VikDataSourceFirstCleanupFunc) ( gpointer widgets_data );
+/* Create widgets to show in a setup dialog, set up state via user_data */
+typedef void (*VikDataSourceAddSetupWidgetsFunc) ( GtkWidget *dialog, VikViewport *vvp, gpointer user_data );
+
+/* if VIK_DATASOURCE_GPSBABEL_DIRECT, babelargs and inputfile.
+ if VIK_DATASOURCE_SHELL_CMD, shellcmd and inputtype.
+ set both to NULL to signal refusal (ie already downloading) */
+typedef void (*VikDataSourceGetCmdStringFunc) ( gpointer user_data, gchar **babelargs_or_shellcmd, gchar **inputfile_or_inputtype );
+
+/* */