#include <glib.h>
#include <glib-object.h>
#include <gtk/gtk.h>
+#include <libgnomevfs/gnome-vfs.h>
G_BEGIN_DECLS
PATH_TYPE_FRIEND,
} PathType;
+typedef enum {
+ GPX_PATH_PREPEND=-1,
+ GPX_PATH_NEW=0,
+ GPX_PATH_APPEND=1,
+} gpx_path_policy;
+
/* Path store items */
typedef enum {
PATH_LATLON,
/* The waypoint we last announced */
WayPoint *announced_waypoint;
+ gint announce_notice_ratio;
/* Path statistics */
guint32 points;
void path_free(Path *p);
void path_clear(Path *p);
+gboolean path_gpx_read(Path *path, GnomeVFSHandle *handle);
+gboolean path_gpx_write(Path *path, GnomeVFSHandle *handle, GError **error);
+gboolean path_gpx_parse(Path *to_replace, gchar *buffer, gint size, gpx_path_policy policy);
+
Point *path_find_last_point(Path *path);
gboolean path_resize(Path *path, guint size);
gdouble path_get_distance_to(Path *path, Point *point, gdouble lat, gdouble lon);
-void path_find_nearest_point(Path *path);
-gboolean path_update_nears(Path *route, Point *point, gboolean quick);
+void path_find_nearest_point(Path *path, gdouble lat, gdouble lon);
+
+gboolean path_add_latlon(Path *path, gdouble lat, gdouble lon, time_t ptime, gfloat speed, gfloat altitude);
+
+gboolean path_has_points(Path *path);
+gboolean path_has_waypoints(Path *path);
gboolean path_add_break(Path *path);
void path_insert_mark_text(Path *path, gchar *text);