]> git.street.me.uk Git - andy/viking.git/blobdiff - src/acquire.h
Track Properties Window internal tidy: maintain graph profile arrays for reuse by...
[andy/viking.git] / src / acquire.h
index f38e4a97d891621c9c8874a35a4376975b86823d..d6cd224635295bb9b6e3e4dd1f88ad7c583fe71d 100644 (file)
@@ -38,12 +38,13 @@ typedef struct {
   VikViewport *vvp;
   GtkWidget *dialog;
   gboolean ok; /* if OK is false when we exit, we MUST free w */
-  VikDataSourceInterface *interface;
+  VikDataSourceInterface *source_interface;
   gpointer user_data;
 } acq_dialog_widgets_t;
 
 typedef enum {
   VIK_DATASOURCE_GPSBABEL_DIRECT,
+  VIK_DATASOURCE_URL,
   VIK_DATASOURCE_SHELL_CMD
 } vik_datasource_type_t;
 
@@ -60,7 +61,6 @@ typedef enum {
   VIK_DATASOURCE_INPUTTYPE_TRWLAYER_TRACK
 } vik_datasource_inputtype_t;
 
-
 /* returns pointer to state if OK, otherwise NULL */
 typedef gpointer (*VikDataSourceInitFunc) ();
 
@@ -72,6 +72,7 @@ typedef void (*VikDataSourceAddSetupWidgetsFunc) ( GtkWidget *dialog, VikViewpor
 
 /* if VIK_DATASOURCE_GPSBABEL_DIRECT, babelargs and inputfile.
    if VIK_DATASOURCE_SHELL_CMD, shellcmd and inputtype.
+   if VIK_DATASOURCE_URL, url 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 );
 
@@ -87,6 +88,7 @@ typedef void  (*VikDataSourceAddProgressWidgetsFunc) ( GtkWidget *dialog, gpoint
 /* Frees any widgets created for the setup or progress dialogs, any allocated state, etc. */
 typedef void (*VikDataSourceCleanupFunc) ( gpointer user_data );
 
+typedef void (*VikDataSourceOffFunc) ( gpointer user_data, gchar **babelargs_or_shellcmd, gchar **inputfile_or_inputtype );;
 
 struct _VikDataSourceInterface {
   const gchar *window_title;
@@ -94,6 +96,7 @@ struct _VikDataSourceInterface {
   vik_datasource_type_t type;
   vik_datasource_mode_t mode;
   vik_datasource_inputtype_t inputtype;
+  gboolean autoview;
   gboolean keep_dialog_open; /* when done */
 
 
@@ -109,7 +112,7 @@ struct _VikDataSourceInterface {
   VikDataSourceProgressFunc progress_func;
   VikDataSourceAddProgressWidgetsFunc add_progress_widgets_func;
   VikDataSourceCleanupFunc cleanup_func;
-
+  VikDataSourceOffFunc off_func;
 
   /*** UI Building        ***/
   VikLayerParam *                   params;
@@ -125,7 +128,7 @@ struct _VikDataSourceInterface {
 /**********************************/
 
 /* for sources with no input data */
-void a_acquire ( VikWindow *vw, VikLayersPanel *vlp, VikViewport *vvp, VikDataSourceInterface *interface );
+void a_acquire ( VikWindow *vw, VikLayersPanel *vlp, VikViewport *vvp, VikDataSourceInterface *source_interface );
 
 /* Create a sub menu intended for rightclicking on a TRWLayer. menu called "Filter"
  * returns NULL if no filters */