2 * This file is part of mapper
4 * Copyright (C) 2007 Kaj-Michael Lang
5 * Copyright (C) 2006-2007 John Costigan.
7 * POI and GPS-Info code originally written by Cezary Jackiewicz.
9 * Default map data provided by http://www.openstreetmap.org/
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License as published by
13 * the Free Software Foundation; either version 2 of the License, or
14 * (at your option) any later version.
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
21 * You should have received a copy of the GNU General Public License along
22 * with this program; if not, write to the Free Software Foundation, Inc.,
23 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
27 * Maemo hardware specific functions
40 #include <osso-ic-dbus.h>
44 #include "map-download.h"
46 #include "mapper-types.h"
49 #include "settings-gconf.h"
51 #include "config-gconf.h"
52 #include "ui-common.h"
55 dbus_cb_default(const gchar *interface, const gchar *method, GArray *arguments, gpointer data, osso_rpc_t *retval)
57 if(!strcmp(method, "top_application"))
58 gtk_idle_add((GSourceFunc)window_present, NULL);
59 retval->type = DBUS_TYPE_INVALID;
65 osso_cb_hw_state(osso_hw_state_t * state, gpointer data)
67 static gboolean _must_save_data = FALSE;
69 if (state->system_inactivity_ind) {
71 _must_save_data = FALSE;
73 if (_conn_state > RCVR_OFF) {
74 if (gconf_client_get_bool(gconf_client, GCONF_KEY_DISCONNECT_ON_COVER, NULL)) {
75 gconf_client_clear_cache(gconf_client);
76 gps_conn_set_state(RCVR_OFF);
79 /* Pretend autoroute is in progress to avoid download. */
80 if (_autoroute_data.enabled)
81 _autoroute_data.in_progress = TRUE;
85 g_source_remove(_curl_sid);
89 } else if (state->save_unsaved_data_ind) {
91 _must_save_data = TRUE;
92 } else if (state->memory_low_ind) {
93 poi_icon_hash_clear();
95 if (_conn_state == RCVR_OFF && _enable_gps) {
96 gps_conn_set_state(RCVR_DOWN);
98 if (_autoroute_data.enabled)
99 _autoroute_data.in_progress = TRUE;
102 /* Start curl in case there are downloads pending. */
103 if (iap_is_connected() && !_curl_sid)
104 _curl_sid = g_timeout_add(100, (GSourceFunc)map_download_timeout, NULL);
111 osso_cb_hw_state(void *state, gpointer data)