Initial commit, partially working
[wai] / src / main.c
diff --git a/src/main.c b/src/main.c
new file mode 100644 (file)
index 0000000..d5d635c
--- /dev/null
@@ -0,0 +1,43 @@
+#include <hildon/hildon.h>
+#include "app_data.h"
+#include "loc_data.h"
+
+void
+exit_wai(GtkWidget *widget,
+         gpointer   data)
+{
+    gtk_main_quit();
+    AppData *app_data = app_data_get();
+    /* Free AppData */
+    app_data_free();
+}
+
+int
+main(int argc, char *argv[])
+{
+    HildonProgram *program;
+    AppData *app_data;
+
+    hildon_gtk_init (&argc, &argv);
+
+    program = hildon_program_get_instance ();
+
+    app_data_init();
+    app_data = app_data_get();
+
+    app_data->main_ui = create_ui();
+
+    // FIXME move out
+    g_signal_connect(app_data->control, "error-verbose", G_CALLBACK(on_error), NULL);
+    g_signal_connect(app_data->device, "changed", G_CALLBACK(on_changed), app_data);
+    g_signal_connect(app_data->control, "gpsd-stopped", G_CALLBACK(on_stop), NULL);
+    
+    g_idle_add(start_location, app_data->control);
+
+    g_signal_connect (app_data->main_ui->window, "destroy", G_CALLBACK (exit_wai), NULL);
+    
+    
+    gtk_main();
+    
+    return 0;
+}