From ee7e91dd8692f51acfde6a534766ff391000ed82 Mon Sep 17 00:00:00 2001 From: Jon Lund Steffensen Date: Sun, 14 Dec 2014 16:19:25 -0500 Subject: Fix #80: Add Geoclue2 location provider This simply runs a GLib main loop when the location is requested and tries to get the location from GeoClue2. We need to run a main loop since the location is not immediately available, instead it becomes available through a signal. --- src/location-geoclue2.h | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/location-geoclue2.h (limited to 'src/location-geoclue2.h') diff --git a/src/location-geoclue2.h b/src/location-geoclue2.h new file mode 100644 index 0000000..f0553e4 --- /dev/null +++ b/src/location-geoclue2.h @@ -0,0 +1,38 @@ +/* location-geoclue2.h -- Geoclue2 location provider header + This file is part of Redshift. + + Redshift is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Redshift is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Redshift. If not, see . + + Copyright (c) 2014 Jon Lund Steffensen +*/ + +#ifndef REDSHIFT_LOCATION_GEOCLUE2_H +#define REDSHIFT_LOCATION_GEOCLUE2_H + +#include + + +int location_geoclue2_init(void *state); +int location_geoclue2_start(void *state); +void location_geoclue2_free(void *state); + +void location_geoclue2_print_help(FILE *f); +int location_geoclue2_set_option(void *state, + const char *key, const char *value); + +int location_geoclue2_get_location(void *state, + float *lat, float *lon); + + +#endif /* ! REDSHIFT_LOCATION_GEOCLUE2_H */ -- cgit v1.2.3-70-g09d2