]> git.street.me.uk Git - andy/viking.git/blobdiff - src/acquire.h
Enable opening background jobs window from the status bar by clicking on the items...
[andy/viking.git] / src / acquire.h
index dd419c01fb94a6b8a811a7ddd13209e48f250d05..50a8374c3ec50e891d3937e864062c8a5d622e73 100644 (file)
@@ -44,14 +44,15 @@ typedef struct {
   VikLayersPanel *vlp;
   VikViewport *vvp;
   GtkWidget *dialog;
-  gboolean ok; /* if OK is false when we exit, we MUST free w */
+  gboolean running;
   VikDataSourceInterface *source_interface;
   gpointer user_data;
 } acq_dialog_widgets_t;
 
 typedef enum {
   VIK_DATASOURCE_CREATENEWLAYER,
-  VIK_DATASOURCE_ADDTOLAYER
+  VIK_DATASOURCE_ADDTOLAYER,
+  VIK_DATASOURCE_MANUAL_LAYER_MANAGEMENT,
 } vik_datasource_mode_t;
 /* TODO: replace track/layer? */
 
@@ -88,10 +89,11 @@ typedef void (*VikDataSourceAddSetupWidgetsFunc) ( GtkWidget *dialog, VikViewpor
  * @user_data: provided by #VikDataSourceInterface.init_func or dialog with params
  * @args: the arguments computed for #VikDataSourceInterface.process_func
  * @extra: extra arguments for #VikDataSourceInterface.process_func
+ * @options: even more options for #VikDataSourceInterface.process_func
  * 
  * set both to %NULL to signal refusal (ie already downloading).
  */
-typedef void (*VikDataSourceGetCmdStringFunc) ( gpointer user_data, gchar **args, gchar **extra );
+typedef void (*VikDataSourceGetCmdStringFunc) ( gpointer user_data, gchar **args, gchar **extra, gpointer options );
 
 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 );
@@ -102,10 +104,12 @@ typedef void (*VikDataSourceGetCmdStringFuncWithInputInput) ( gpointer user_data
  * @cmd: the arguments computed by #VikDataSourceInterface.get_cmd_string_func
  * @extra: the extra arguments computed by #VikDataSourceInterface.get_cmd_string_func
  * @status_cb: the #VikDataSourceInterface.progress_func
+ * @adw: the widgets and data used by #VikDataSourceInterface.progress_func
+ * @options: more options returned by #VikDataSourceInterface.get_cmd_string_func
  * 
  * 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 gboolean (*VikDataSourceProcessFunc)  ( gpointer vtl, const gchar *cmd, const gchar *extra, BabelStatusFunc status_cb, acq_dialog_widgets_t *adw, gpointer options );
 
 /* */
 typedef void  (*VikDataSourceProgressFunc)  ( BabelProgressCode c, gpointer data, acq_dialog_widgets_t *w );
@@ -139,6 +143,7 @@ struct _VikDataSourceInterface {
   gboolean autoview;
   gboolean keep_dialog_open; /* when done */
 
+  gboolean is_thread;
 
   /*** Manual UI Building ***/
   VikDataSourceInitFunc init_func;