X-Git-Url: https://git.street.me.uk/andy/viking.git/blobdiff_plain/ed691ed1eafc70b1855699be6499bdc8e86bb8d4..c2cf03332f51a9fa992220124635f737399fba91:/src/acquire.h diff --git a/src/acquire.h b/src/acquire.h index 75107810..fb22918f 100644 --- a/src/acquire.h +++ b/src/acquire.h @@ -33,6 +33,13 @@ G_BEGIN_DECLS typedef struct _VikDataSourceInterface VikDataSourceInterface; +typedef struct { + VikWindow *vw; + VikLayersPanel *vlp; + VikViewport *vvp; + gpointer userdata; +} acq_vik_t; + /** * acq_dialog_widgets_t: * @@ -50,8 +57,10 @@ typedef struct { } 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? */ @@ -67,7 +76,7 @@ typedef enum { * * Returns: pointer to state if OK, otherwise %NULL */ -typedef gpointer (*VikDataSourceInitFunc) (); +typedef gpointer (*VikDataSourceInitFunc) ( acq_vik_t *avt ); /** * 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);