along with this program. If not, see <http://www.gnu.org/licenses/>.
****/
+#include <math.h>
#include <location/location-gps-device.h>
#include <location/location-gpsd-control.h>
#include "util.h"
#include "appdata.h"
#include "callbacks.h"
-
-void start_gps(AppData* appdata) {
+#include "ui.h"
#ifdef __arm__
- // gps device
- LocationGPSDevice *device;
- device = g_object_new(LOCATION_TYPE_GPS_DEVICE, NULL);
-
- g_signal_connect(device, "changed", G_CALLBACK(location_changed), appdata);
-
- LocationGPSDControl *control;
+ static LocationGPSDevice *device = NULL;
+ static LocationGPSDControl *control = NULL;
+#endif
+void start_gps() {
+#ifdef __arm__
+ if(!device) {
+ device = g_object_new(LOCATION_TYPE_GPS_DEVICE, NULL);
+ g_signal_connect(device, "changed", G_CALLBACK(location_changed), NULL);
+ }
control = location_gpsd_control_get_default();
- location_gpsd_control_start(control);
+ location_gpsd_control_request_status(control);
+ if(control->can_control) {
+ location_gpsd_control_start(control);
+ }
#endif // __arm__
+}
+void stop_gps() {
+#ifdef __arm__
+ control = location_gpsd_control_get_default();
+ location_gpsd_control_request_status(control);
+ if(control->can_control) {
+ location_gpsd_control_stop(control);
+ }
+#endif // __arm__
}
-void stop_gps(AppData* appdata) {
+/* Loads the settings from GConf
+ *
+ */
+void load_settings() {
}
-