4 void on_error(LocationGPSDControl *control, LocationGPSDControlError error, gpointer data)
6 g_debug("location error: %d... quitting", error);
9 void on_changed(LocationGPSDevice *device, gpointer data)
16 if (device->fix->fields & LOCATION_GPS_DEVICE_LATLONG_SET) {
17 AppData *app_data = (AppData *) data;
19 gchar *tmp_str = (gchar *) g_malloc (25);
21 g_sprintf(tmp_str,"%f", device->fix->latitude);
22 gtk_label_set_text( GTK_LABEL(app_data->main_ui->latitude_value_label), tmp_str );
24 g_sprintf(tmp_str,"%f", device->fix->longitude);
25 gtk_label_set_text( GTK_LABEL(app_data->main_ui->longitude_value_label), tmp_str );
27 if (device->fix->fields & LOCATION_GPS_DEVICE_ALTITUDE_SET) {
28 g_sprintf(tmp_str,"%f", device->fix->altitude);
29 gtk_label_set_text( GTK_LABEL(app_data->main_ui->altitude_value_label), tmp_str );
32 if (device->fix->fields & LOCATION_GPS_DEVICE_SPEED_SET) {
33 g_sprintf(tmp_str,"%f", device->fix->speed);
34 gtk_label_set_text( GTK_LABEL(app_data->main_ui->speed_value_label), tmp_str );
37 switch(device->fix->mode) {
38 case LOCATION_GPS_DEVICE_MODE_NOT_SEEN:
39 g_sprintf(tmp_str,"%s", "No sat in view");
41 case LOCATION_GPS_DEVICE_MODE_NO_FIX:
42 g_sprintf(tmp_str,"%s", "Not fixed yed");
44 case LOCATION_GPS_DEVICE_MODE_2D:
45 g_sprintf(tmp_str,"%s", "2D Fix");
47 case LOCATION_GPS_DEVICE_MODE_3D:
48 g_sprintf(tmp_str,"%s", "3D FIX");
51 g_sprintf(tmp_str,"%s", "Bho");
55 gtk_label_set_text( GTK_LABEL(app_data->main_ui->fix_status_label), tmp_str );
57 g_debug("lat = %f, long = %f", device->fix->latitude, device->fix->longitude);
64 void on_stop(LocationGPSDControl *control, gpointer data)
69 gboolean start_location(gpointer data)
71 location_gpsd_control_start((LocationGPSDControl *) data);