X-Git-Url: https://git.street.me.uk/andy/viking.git/blobdiff_plain/37dd047d3bdd3ff58320c691545d5e6cf160738c..ab4553c3321e7d41330252da08d42a4c3b558110:/src/acquire.h diff --git a/src/acquire.h b/src/acquire.h index ae173643..988ca0ee 100644 --- a/src/acquire.h +++ b/src/acquire.h @@ -27,6 +27,7 @@ #include "vikwindow.h" #include "viklayerspanel.h" #include "vikviewport.h" +#include "babel.h" typedef struct _VikDataSourceInterface VikDataSourceInterface; @@ -42,10 +43,12 @@ 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_SHELL_CMD, + VIK_DATASOURCE_INTERNAL } vik_datasource_type_t; typedef enum { @@ -61,7 +64,6 @@ typedef enum { VIK_DATASOURCE_INPUTTYPE_TRWLAYER_TRACK } vik_datasource_inputtype_t; - /* returns pointer to state if OK, otherwise NULL */ typedef gpointer (*VikDataSourceInitFunc) (); @@ -80,6 +82,9 @@ typedef void (*VikDataSourceGetCmdStringFunc) ( gpointer user_data, gchar **babe typedef void (*VikDataSourceGetCmdStringFuncWithInput) ( gpointer user_data, gchar **babelargs_or_shellcmd, gchar **inputfile_or_inputtype, const gchar *input_file_name ); typedef void (*VikDataSourceGetCmdStringFuncWithInputInput) ( gpointer user_data, gchar **babelargs_or_shellcmd, gchar **inputfile_or_inputtype, const gchar *input_file_name, const gchar *input_track_file_name ); +/* The actual function to do stuff - must report success/failure */ +typedef gboolean (*VikDataSourceProcessFunc) ( gpointer vtl, const gchar *cmd, const gchar *extra, BabelStatusFunc status_cb, acq_dialog_widgets_t *adw ); + /* */ typedef void (*VikDataSourceProgressFunc) (gpointer c, gpointer data, acq_dialog_widgets_t *w); @@ -97,6 +102,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,6 +115,8 @@ struct _VikDataSourceInterface { /* or VikDataSourceGetCmdStringFuncWithInput, if inputtype is not NONE */ VikDataSourceGetCmdStringFunc get_cmd_string_func; + VikDataSourceProcessFunc process_func; + VikDataSourceProgressFunc progress_func; VikDataSourceAddProgressWidgetsFunc add_progress_widgets_func; VikDataSourceCleanupFunc cleanup_func; @@ -143,8 +151,8 @@ GtkWidget *a_acquire_trwlayer_track_menu (VikWindow *vw, VikLayersPanel *vlp, Vi * returns NULL if no applicable filters */ GtkWidget *a_acquire_track_menu (VikWindow *vw, VikLayersPanel *vlp, VikViewport *vvp, VikTrack *tr); -/* sets aplication-wide track to use with filter. references the track. */ -void a_acquire_set_filter_track ( VikTrack *tr, const gchar *name ); +/* sets application-wide track to use with filter. references the track. */ +void a_acquire_set_filter_track ( VikTrack *tr ); #endif