* viking -- GPS Data and Topo Analyzer, Explorer, and Manager
*
* Copyright (C) 2003-2005, Evan Battaglia <gtoevan@gmx.net>
+ * Copyright (C) 2006-2008, Quy Tonthat <qtonthat@gmail.com>
*
* 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
#ifndef _VIKING_GPSLAYER_H
#define _VIKING_GPSLAYER_H
-#include <time.h>
+#include "viklayer.h"
+#include "viktrack.h"
+
+G_BEGIN_DECLS
#define VIK_GPS_LAYER_TYPE (vik_gps_layer_get_type ())
#define VIK_GPS_LAYER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIK_GPS_LAYER_TYPE, VikGpsLayer))
GType vik_gps_layer_get_type ();
-typedef struct _VikGpsLayer VikGpsLayer;
+typedef enum {
+ GPS_DOWN=0,
+ GPS_UP
+} vik_gps_dir;
-VikGpsLayer *vik_gps_layer_new ();
-void vik_gps_layer_add_layer ( VikGpsLayer *val, VikLayer *l );
-void vik_gps_layer_insert_layer ( VikGpsLayer *val, VikLayer *l, GtkTreeIter *replace_layer );
-void vik_gps_layer_move_layer ( VikGpsLayer *val, GtkTreeIter *child_iter, gboolean up );
-void vik_gps_layer_draw ( VikGpsLayer *val, gpointer data );
-void vik_gps_layer_free ( VikGpsLayer *val );
-void vik_gps_layer_clear ( VikGpsLayer *val );
-gboolean vik_gps_layer_delete ( VikGpsLayer *val, GtkTreeIter *iter );
-VikGpsLayer *vik_gps_layer_create (VikViewport *vp);
+typedef enum {
+ WPT=0,
+ TRK=1,
+ RTE=2
+} vik_gps_xfer_type;
-/* returns: 0 = success, 1 = none appl. found, 2 = found but rejected */
-// guint vik_gps_layer_tool ( VikGpsLayer *val, guint16 layer_type, VikToolInterfaceFunc tool_func, GdkEventButton *event, VikViewport *vvp);
+typedef struct _VikGpsLayer VikGpsLayer;
-VikLayer *vik_gps_layer_get_top_visible_layer_of_type ( VikGpsLayer *val, gint type );
-void vik_gps_layer_realize ( VikGpsLayer *val, VikTreeview *vt, GtkTreeIter *layer_iter );
-gboolean vik_gps_layer_load_layers ( VikGpsLayer *val, FILE *f, gpointer vp );
-gboolean vik_gps_layer_is_empty ( VikGpsLayer *val );
+gboolean vik_gps_layer_is_empty ( VikGpsLayer *vgl );
+const GList *vik_gps_layer_get_children ( VikGpsLayer *vgl );
+VikTrwLayer * vik_gps_layer_get_a_child(VikGpsLayer *vgl);
-const GList *vik_gps_layer_get_children ( VikGpsLayer *val );
+// Non layer specific but expose communal method
+gint vik_gps_comm ( VikTrwLayer *vtl,
+ VikTrack *track,
+ vik_gps_dir dir,
+ gchar *protocol,
+ gchar *port,
+ gboolean tracking,
+ VikViewport *vvp,
+ VikLayersPanel *vlp,
+ gboolean do_tracks,
+ gboolean do_routes,
+ gboolean do_waypoints,
+ gboolean turn_off);
+G_END_DECLS
#endif