commit 25043ca24a55468dc9eeaa7335a24d132c51b07d Author: Rob Norris Date: Mon Mar 9 23:25:15 2015 +0000 SF Bugs#117: Confirm capability with GPSD_API_MAJOR_VERSION=6 (gpsd 3.12 / libgps.so.22) diff --git a/src/vikgpslayer.c b/src/vikgpslayer.c index daf6d42..ca4be29 100644 --- a/src/vikgpslayer.c +++ b/src/vikgpslayer.c @@ -1673,7 +1673,7 @@ static gboolean gpsd_data_available(GIOChannel *source, GIOCondition condition, if (condition == G_IO_IN) { #if GPSD_API_MAJOR_VERSION == 3 || GPSD_API_MAJOR_VERSION == 4 if (!gps_poll(&vgl->vgpsd->gpsd)) { -#elif GPSD_API_MAJOR_VERSION == 5 +#elif GPSD_API_MAJOR_VERSION == 5 || GPSD_API_MAJOR_VERSION == 6 if (gps_read(&vgl->vgpsd->gpsd) > -1) { // Reuse old function to perform operations on the new GPS data gpsd_raw_hook(vgl->vgpsd, NULL); @@ -1718,7 +1718,7 @@ static gboolean rt_gpsd_try_connect(gpointer *data) vgl->vgpsd = g_malloc(sizeof(VglGpsd)); if (gps_open_r(vgl->gpsd_host, vgl->gpsd_port, /*(struct gps_data_t *)*/vgl->vgpsd) != 0) { -#elif GPSD_API_MAJOR_VERSION == 5 +#elif GPSD_API_MAJOR_VERSION == 5 || GPSD_API_MAJOR_VERSION == 6 vgl->vgpsd = g_malloc(sizeof(VglGpsd)); if (gps_open(vgl->gpsd_host, vgl->gpsd_port, &vgl->vgpsd->gpsd) != 0) { #else @@ -1757,7 +1757,7 @@ static gboolean rt_gpsd_try_connect(gpointer *data) #if GPSD_API_MAJOR_VERSION == 3 gps_query(&vgl->vgpsd->gpsd, "w+x"); #endif -#if GPSD_API_MAJOR_VERSION == 4 || GPSD_API_MAJOR_VERSION == 5 +#if GPSD_API_MAJOR_VERSION == 4 || GPSD_API_MAJOR_VERSION == 5 || GPSD_API_MAJOR_VERSION == 6 gps_stream(&vgl->vgpsd->gpsd, WATCH_ENABLE, NULL); #endif @@ -1813,13 +1813,13 @@ static void rt_gpsd_disconnect(VikGpsLayer *vgl) vgl->realtime_io_channel = NULL; } if (vgl->vgpsd) { -#if GPSD_API_MAJOR_VERSION == 4 || GPSD_API_MAJOR_VERSION == 5 +#if GPSD_API_MAJOR_VERSION == 4 || GPSD_API_MAJOR_VERSION == 5 || GPSD_API_MAJOR_VERSION == 6 gps_stream(&vgl->vgpsd->gpsd, WATCH_DISABLE, NULL); #endif gps_close(&vgl->vgpsd->gpsd); #if GPSD_API_MAJOR_VERSION == 3 free(vgl->vgpsd); -#elif GPSD_API_MAJOR_VERSION == 4 || GPSD_API_MAJOR_VERSION == 5 +#elif GPSD_API_MAJOR_VERSION == 4 || GPSD_API_MAJOR_VERSION == 5 || GPSD_API_MAJOR_VERSION == 6 g_free(vgl->vgpsd); #endif vgl->vgpsd = NULL;