X-Git-Url: https://git.street.me.uk/andy/viking.git/blobdiff_plain/f63ca925baa9bd8b9d9d346cb6be00268ed14269..e8bab170981ff0e1cd572107ca4de122d4aafe8c:/src/file.h diff --git a/src/file.h b/src/file.h index 57c50057..70fe1238 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 @@ -28,15 +29,17 @@ #include "viktrwlayer.h" #include "vikviewport.h" +G_BEGIN_DECLS + typedef enum { FILE_TYPE_GPSPOINT=1, FILE_TYPE_GPSMAPPER=2, FILE_TYPE_GPX=3, FILE_TYPE_KML=4, +FILE_TYPE_GEOJSON=5, } VikFileType_t; -const gchar *a_file_basename ( const gchar *filename ); -gboolean check_file_ext ( const gchar *filename, const gchar *fileext ); +gboolean a_file_check_ext ( const gchar *filename, const gchar *fileext ); /* * Function to determine if a filename is a 'viking' type file @@ -46,18 +49,30 @@ 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_FAILURE_NON_FATAL, LOAD_TYPE_VIK_SUCCESS, LOAD_TYPE_OTHER_SUCCESS, } VikLoadType_t; +gchar *append_file_ext ( const gchar *filename, VikFileType_t type ); + VikLoadType_t a_file_load ( VikAggregateLayer *top, VikViewport *vp, const gchar *filename ); gboolean a_file_save ( VikAggregateLayer *top, gpointer vp, const gchar *filename ); -/* Only need to define VikTrack and trackname if the file type is FILE_TYPE_GPX_TRACK */ -gboolean a_file_export ( VikTrwLayer *vtl, const gchar *filename, VikFileType_t file_type, const gchar *trackname ); -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, gboolean write_hidden ); +gboolean a_file_export_babel ( VikTrwLayer *vtl, const gchar *filename, const gchar *format, + gboolean tracks, gboolean routes, gboolean waypoints ); + +void file_write_layer_param ( FILE *f, const gchar *name, VikLayerParamType type, VikLayerParamData data ); + +char *file_realpath ( const char *path, char *real ); + +char *file_realpath_dup ( const char *path ); -void file_write_layer_param ( FILE *f, const gchar *name, guint8 type, VikLayerParamData data ); +const gchar *file_GetRelativeFilename ( gchar *currentDirectory, gchar *absoluteFilename ); +G_END_DECLS #endif