558 |
g_signal_connect(gps_state->device, "changed", |
g_signal_connect(gps_state->device, "changed", |
559 |
G_CALLBACK(location_changed), gps_state); |
G_CALLBACK(location_changed), gps_state); |
560 |
|
|
|
#if MAEMO_VERSION_MAJOR < 5 |
|
561 |
gps_state->control = location_gpsd_control_get_default(); |
gps_state->control = location_gpsd_control_get_default(); |
562 |
|
|
563 |
if(gps_state->control && gps_state->control->can_control) { |
if(gps_state->control |
564 |
|
#if MAEMO_VERSION_MAJOR < 5 |
565 |
|
&& gps_state->control->can_control |
566 |
|
#endif |
567 |
|
) { |
568 |
|
|
569 |
printf("Having control over GPSD and GPS is to be enabled, starting it\n"); |
printf("Having control over GPSD and GPS is to be enabled, starting it\n"); |
570 |
location_gpsd_control_start(gps_state->control); |
location_gpsd_control_start(gps_state->control); |
571 |
} |
} |
|
#endif |
|
572 |
} |
} |
573 |
|
|
574 |
void gps_release(appdata_t *appdata) { |
void gps_release(appdata_t *appdata) { |
576 |
|
|
577 |
if(!gps_state->device) return; |
if(!gps_state->device) return; |
578 |
|
|
579 |
|
if(gps_state->control |
580 |
#if MAEMO_VERSION_MAJOR < 5 |
#if MAEMO_VERSION_MAJOR < 5 |
581 |
if(gps_state->control && gps_state->control->can_control) { |
&& gps_state->control->can_control |
582 |
|
#endif |
583 |
|
) { |
584 |
printf("Having control over GPSD, stopping it\n"); |
printf("Having control over GPSD, stopping it\n"); |
585 |
location_gpsd_control_stop(gps_state->control); |
location_gpsd_control_stop(gps_state->control); |
586 |
} |
} |
|
#endif |
|
587 |
|
|
588 |
/* Disconnect signal */ |
/* Disconnect signal */ |
589 |
g_signal_handler_disconnect(gps_state->device, gps_state->idd_changed); |
g_signal_handler_disconnect(gps_state->device, gps_state->idd_changed); |