]> git.street.me.uk Git - andy/viking.git/blobdiff - src/vikgpslayer.h
Update to allow C99 mode
[andy/viking.git] / src / vikgpslayer.h
index e4df9b3f78bf0abbec8ecc2dea0c50526be83c2b..47d5ac66ff575f396a3cdbee1942ac576ba7d79b 100644 (file)
@@ -2,6 +2,7 @@
  * 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))
@@ -40,27 +42,37 @@ struct _VikGpsLayerClass
 
 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