Initial commit, partially working
[wai] / src / app_data.c
1 #include <glib.h>
2 #include <glib/gprintf.h>
3
4 #include "app_data.h"
5
6 /* Global AppData only access with get_app_data() */
7 AppData *_app_data = NULL;
8
9 AppData*
10 app_data_get()
11 {
12     return _app_data;
13 }
14
15 void
16 app_data_init()
17 {
18     g_return_if_fail(_app_data == NULL);
19     
20     _app_data = g_new(AppData, 1);
21     _app_data->fullscreen = FALSE;
22     _app_data->main_ui = NULL;
23     _app_data->program = hildon_program_get_instance();
24     _app_data->control = location_gpsd_control_get_default();
25     _app_data->device = g_object_new(LOCATION_TYPE_GPS_DEVICE, NULL);
26
27     g_object_set(G_OBJECT(_app_data->control),
28                  "preferred-method", LOCATION_METHOD_GNSS | LOCATION_METHOD_AGNSS,
29                  "preferred-interval", LOCATION_INTERVAL_DEFAULT,
30                  NULL);
31
32 }
33
34 void app_data_free()
35 {
36         AppData *app_data = app_data_get();
37         if (app_data->main_ui->window != NULL) {
38                 gtk_widget_destroy(GTK_WIDGET(app_data->main_ui->window));
39         }
40         
41         g_free(app_data);
42 }