]> git.street.me.uk Git - andy/viking.git/blobdiff - src/acquire.h
[QA] Rename and correct some map cache variables usage for better understanding.
[andy/viking.git] / src / acquire.h
index 75107810d93b529c1794379678e48af00c6f823e..fb22918fcf18ae0025d5ff5dcec42de1c2135226 100644 (file)
@@ -33,6 +33,13 @@ G_BEGIN_DECLS
 
 typedef struct _VikDataSourceInterface VikDataSourceInterface;
 
 
 typedef struct _VikDataSourceInterface VikDataSourceInterface;
 
+typedef struct {
+  VikWindow *vw;
+  VikLayersPanel *vlp;
+  VikViewport *vvp;
+  gpointer userdata;
+} acq_vik_t;
+
 /**
  * acq_dialog_widgets_t:
  *
 /**
  * acq_dialog_widgets_t:
  *
@@ -50,8 +57,10 @@ typedef struct {
 } acq_dialog_widgets_t;
 
 typedef enum {
 } acq_dialog_widgets_t;
 
 typedef enum {
-  VIK_DATASOURCE_CREATENEWLAYER,
-  VIK_DATASOURCE_ADDTOLAYER
+  VIK_DATASOURCE_CREATENEWLAYER, // Generally Datasources shouldn't use these and let the HCI decide
+  VIK_DATASOURCE_ADDTOLAYER,     //    between the create or add to layer options
+  VIK_DATASOURCE_AUTO_LAYER_MANAGEMENT,
+  VIK_DATASOURCE_MANUAL_LAYER_MANAGEMENT,
 } vik_datasource_mode_t;
 /* TODO: replace track/layer? */
 
 } vik_datasource_mode_t;
 /* TODO: replace track/layer? */
 
@@ -67,7 +76,7 @@ typedef enum {
  * 
  * Returns: pointer to state if OK, otherwise %NULL
  */
  * 
  * Returns: pointer to state if OK, otherwise %NULL
  */
-typedef gpointer (*VikDataSourceInitFunc) ();
+typedef gpointer (*VikDataSourceInitFunc) ( acq_vik_t *avt );
 
 /**
  * VikDataSourceCheckExistenceFunc:
 
 /**
  * VikDataSourceCheckExistenceFunc:
@@ -169,11 +178,15 @@ struct _VikDataSourceInterface {
 
 };
 
 
 };
 
-/**********************************/
-/**********************************/
 /**********************************/
 
 /**********************************/
 
-void a_acquire ( VikWindow *vw, VikLayersPanel *vlp, VikViewport *vvp, VikDataSourceInterface *source_interface );
+void a_acquire ( VikWindow *vw,
+                 VikLayersPanel *vlp,
+                 VikViewport *vvp,
+                 vik_datasource_mode_t mode,
+                 VikDataSourceInterface *source_interface,
+                 gpointer userdata,
+                 VikDataSourceCleanupFunc cleanup_function );
 
 GtkWidget *a_acquire_trwlayer_menu (VikWindow *vw, VikLayersPanel *vlp, VikViewport *vvp, VikTrwLayer *vtl);
 
 
 GtkWidget *a_acquire_trwlayer_menu (VikWindow *vw, VikLayersPanel *vlp, VikViewport *vvp, VikTrwLayer *vtl);