#include "vikwindow.h"
#include "viklayerspanel.h"
#include "vikviewport.h"
+#include "babel.h"
typedef struct _VikDataSourceInterface VikDataSourceInterface;
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 {
VIK_DATASOURCE_INPUTTYPE_TRWLAYER_TRACK
} vik_datasource_inputtype_t;
-
/* returns pointer to state if OK, otherwise NULL */
typedef gpointer (*VikDataSourceInitFunc) ();
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);
vik_datasource_type_t type;
vik_datasource_mode_t mode;
vik_datasource_inputtype_t inputtype;
+ gboolean autoview;
gboolean keep_dialog_open; /* when done */
/* 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;
* 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