X-Git-Url: https://git.street.me.uk/andy/viking.git/blobdiff_plain/80d0ff2bdf827e903afebf0bf2c687c485e0a743..2eb89de4f0ea84ddecf6649d93305c45e3e016ab:/src/file.h?ds=inline diff --git a/src/file.h b/src/file.h index 42b27698..ee6c2115 100644 --- a/src/file.h +++ b/src/file.h @@ -2,6 +2,7 @@ * viking -- GPS Data and Topo Analyzer, Explorer, and Manager * * Copyright (C) 2003-2005, Evan Battaglia + * Copyright (C) 2012, Guilhem Bonnefille * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -26,17 +27,38 @@ #include "vikaggregatelayer.h" #include "viktrwlayer.h" +#include "vikviewport.h" -#define FILE_TYPE_GPSPOINT 1 -#define FILE_TYPE_GPSMAPPER 2 -#define FILE_TYPE_GPX 3 +typedef enum { +FILE_TYPE_GPSPOINT=1, +FILE_TYPE_GPSMAPPER=2, +FILE_TYPE_GPX=3, +FILE_TYPE_KML=4, +} VikFileType_t; const gchar *a_file_basename ( const gchar *filename ); +gboolean check_file_ext ( const gchar *filename, const gchar *fileext ); -/* 0 on failure, 1 on success (vik file) 2 on success (other file) */ -gshort a_file_load ( VikAggregateLayer *top, gpointer vp, const gchar *filename ); +/* + * Function to determine if a filename is a 'viking' type file + */ +gboolean check_file_magic_vik ( const gchar *filename ); + +typedef enum { + LOAD_TYPE_READ_FAILURE, + LOAD_TYPE_GPSBABEL_FAILURE, + LOAD_TYPE_GPX_FAILURE, + LOAD_TYPE_UNSUPPORTED_FAILURE, + LOAD_TYPE_VIK_SUCCESS, + LOAD_TYPE_OTHER_SUCCESS, +} VikLoadType_t; + +VikLoadType_t a_file_load ( VikAggregateLayer *top, VikViewport *vp, const gchar *filename ); gboolean a_file_save ( VikAggregateLayer *top, gpointer vp, const gchar *filename ); -gboolean a_file_export ( VikTrwLayer *vtl, const gchar *filename, gshort file_type ); -const gchar *a_get_viking_dir(); +/* Only need to define VikTrack if the file type is FILE_TYPE_GPX_TRACK */ +gboolean a_file_export ( VikTrwLayer *vtl, const gchar *filename, VikFileType_t file_type, VikTrack *trk ); + +void file_write_layer_param ( FILE *f, const gchar *name, guint8 type, VikLayerParamData data ); + #endif