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)
17 if (device->fix->fields & LOCATION_GPS_DEVICE_LATLONG_SET) {
18 AppData *app_data = (AppData *) data;
20 gchar *tmp_str = (gchar *) g_malloc (25);
23 g_sprintf(tmp_str,"%f", device->fix->latitude);
24 gtk_label_set_text( GTK_LABEL(app_data->main_ui->latitude_value_label), tmp_str );
26 g_sprintf(tmp_str,"%f", device->fix->longitude);
27 gtk_label_set_text( GTK_LABEL(app_data->main_ui->longitude_value_label), tmp_str );
29 if (device->fix->fields & LOCATION_GPS_DEVICE_ALTITUDE_SET) {
30 g_sprintf(tmp_str,"%f", device->fix->altitude);
31 gtk_label_set_text( GTK_LABEL(app_data->main_ui->altitude_value_label), tmp_str );
33 gtk_label_set_text( GTK_LABEL(app_data->main_ui->altitude_value_label), no_data );
36 if (device->fix->fields & LOCATION_GPS_DEVICE_SPEED_SET) {
37 g_sprintf(tmp_str,"%f", device->fix->speed);
38 gtk_label_set_text( GTK_LABEL(app_data->main_ui->speed_value_label), tmp_str );
40 gtk_label_set_text( GTK_LABEL(app_data->main_ui->altitude_value_label), no_data );
42 switch(device->fix->mode) {
43 case LOCATION_GPS_DEVICE_MODE_NOT_SEEN:
44 g_sprintf(tmp_str,"%s", "No sat in view");
46 case LOCATION_GPS_DEVICE_MODE_NO_FIX:
47 g_sprintf(tmp_str,"%s", "Not fixed yet");
49 case LOCATION_GPS_DEVICE_MODE_2D:
50 g_sprintf(tmp_str,"%s", "2D Fix");
52 case LOCATION_GPS_DEVICE_MODE_3D:
53 g_sprintf(tmp_str,"%s", "3D FIX");
56 g_sprintf(tmp_str,"%s", "Unkown status");
59 gtk_label_set_text( GTK_LABEL(app_data->main_ui->fix_status_label), tmp_str );
66 void on_stop(LocationGPSDControl *control, gpointer data)
71 gboolean start_location(gpointer data)
73 location_gpsd_control_start((LocationGPSDControl *) data);