#ifndef _VIKING_GPX_H
#define _VIKING_GPX_H
-void a_gpx_read_file ( VikTrwLayer *trw, FILE *f );
-void a_gpx_write_file ( VikTrwLayer *trw, FILE *f );
+#include "viktrwlayer.h"
+
+G_BEGIN_DECLS
+
+/**
+ * Options adapting GPX writing.
+ */
+typedef struct {
+ // NB force options only apply to trackpoints
+ gboolean force_ele; /// Force ele field
+ gboolean force_time; /// Force time field
+ gboolean hidden; /// Write invisible tracks/waypoints (default is yes)
+ gboolean is_route; /// For internal convience
+} GpxWritingOptions;
+
+gboolean a_gpx_read_file ( VikTrwLayer *trw, FILE *f );
+void a_gpx_write_file ( VikTrwLayer *trw, FILE *f, GpxWritingOptions *options );
+void a_gpx_write_track_file ( VikTrack *trk, FILE *f, GpxWritingOptions *options );
+
+G_END_DECLS
#endif