/* * zavai - simple interface to the OpenMoko (or to the FSO stack) * * Copyright (C) 2009 Enrico Zini * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ using GLib; //string VERSION = "0.1"; void on_alarm() { stderr.printf("RETURNED\n"); } static int main (string[] args) { Gtk.init (ref args); // parser = Parser(usage="usage: %prog [options]", // version="%prog "+ VERSION, // description="Simple interactive interface for the OpenMoko") // parser.add_option("-v", "--verbose", action="store_true", help="verbose mode") // // (opts, args) = parser.parse_args() // // if not opts.verbose: // zavai.set_quiet() // // # Read configuration // zavai.info("Loading configuration") // conf = zavai.Config() // // # Set up dbus // dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) // dbus_system_bus = dbus.SystemBus() // Set up zavai zavai.config = new zavai.Config(); zavai.registry = new zavai.Registry(); zavai.app = new zavai.Zavai(); zavai.registry.register_resource("zavai", zavai.app); zavai.gps.init(); zavai.registry.register_menu("menu.main", new zavai.Menu("Main menu")); // TODO: register the rest of menus here zavai.ui.gps.init(); zavai.ui.kbd.init(); zavai.ui.wm.init(); zavai.ui.debug.init(); zavai.app.show_applet("menu.main"); // # Register main factories // registry.register(conf, "conf") // registry.register_factory(zavai.GPX, "gpx") // registry.register_factory(zavai.Audio, "audio") // # Load plugins // zavai.info("Loading plugins") // for p in zavai.load_plugins(nick="zavai"): // try: // p.init(conf = conf, registry = registry) // except Exception, e: // print >>sys.stderr, "Exception caught loading plugin %s: skipping plugin" % p // print >>sys.stderr, "Exception details:" // import traceback // details = traceback.format_exc() // print >>sys.stderr, "\t"+details.rstrip().replace("\n", "\n\t") // # Shutdown the main loop on SIGINT // def on_kill(signum, frame): // gtk.main_quit() // signal.signal(signal.SIGINT, on_kill) // signal.signal(signal.SIGTERM, on_kill) // zavai.info("Starting") // app = registry.resource("app") // app.connect("destroy", gtk.main_quit) // app.run() /* dynamic DBus.Object otime = zavai.registry.sbus.get_object( "org.freesmartphone.otimed", "/org/freesmartphone/Time/Alarm", "org.freesmartphone.Time.Alarm"); otime.ClearAlarm(); otime.SetAlarm(time_t() + 10); dynamic DBus.Object notification = zavai.registry.sbus.get_object( "org.freesmartphone", "org/freesmartphone/Notification", "org.freesmartphone.Notification"); notification.Alarm += on_alarm; */ zavai.app.run(); Gtk.main(); //registry.loop.run(); // zavai.info("Shutting down") zavai.registry.shutdown(); return 0; }