From 95f7b5165a65c94ef08aa1e54301370ac9b1dc56 Mon Sep 17 00:00:00 2001 From: Enrico Zini Date: Thu, 11 Mar 2010 23:50:41 +0100 Subject: [PATCH] Added GSM status display --- src/app_main.vala | 5 +++++ src/gsm.vala | 22 +++++++++++++++++++++- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/src/app_main.vala b/src/app_main.vala index 3b995ae..34b87a1 100644 --- a/src/app_main.vala +++ b/src/app_main.vala @@ -130,6 +130,7 @@ public class Status : Applet { public Gtk.HBox status_icons; public Clock clock; + public Gtk.Label gsm_status; public AppletPushLink menu; public Status(string label) @@ -137,11 +138,15 @@ public class Status : Applet _label = label; status_icons = new Gtk.HBox(false, 0); clock = new Clock(); + gsm_status = new Gtk.Label(""); menu = new AppletPushLink(zavai.menu_main); pack_start(status_icons, false, false, 0); pack_start(clock, false, false, 0); + pack_start(gsm_status, false, false, 0); pack_end(menu, false, false, 0); + + zavai.gsm.gsm.status_changed += (msg) => { gsm_status.set_text(msg); }; } } diff --git a/src/gsm.vala b/src/gsm.vala index 5d00be1..f3769d1 100644 --- a/src/gsm.vala +++ b/src/gsm.vala @@ -31,6 +31,8 @@ protected class GSMActivator : Object public dynamic DBus.Object network; public dynamic DBus.Object sim; + public signal void status_changed(string message); + public GSMActivator() { device = null; @@ -56,6 +58,7 @@ protected class GSMActivator : Object "org.freesmartphone.GSM.SIM"); } + status_changed("Turning on antenna"); device.SetAntennaPower(true, on_antenna_power); } @@ -67,17 +70,20 @@ protected class GSMActivator : Object if (e.message.str("current status is 'enabling'") != null || e.message.str("current status is 'unknown'") != null) { + status_changed("Waiting for ogsmd to settle"); zavai.log.info("trying again after 2 seconds"); Timeout.add(2 * 1000, () => { device.SetAntennaPower(true, on_antenna_power); return false; }); } else { + status_changed("Checking if PIN is required"); sim.GetAuthStatus(on_auth_status); } return; } zavai.log.warning("on_antenna_power ok"); + status_changed("Registering with network"); network.Register(on_network_register); } @@ -88,7 +94,7 @@ protected class GSMActivator : Object zavai.log.warning("on_network_register: " + e.message); return; } - zavai.log.info("on_network_register: registered"); + status_changed("Registered with network"); } protected void on_auth_status(string status, Error e) @@ -100,9 +106,15 @@ protected class GSMActivator : Object } zavai.log.info("on_auth_status: " + status); if (status == "READY") + { + status_changed("PIN ok"); device.SetAntennaPower(true, on_antenna_power); + } else if (status == "SIM PIN") + { + status_changed("Sending PIN"); sim.SendAuthCode(zavai.config.sim_pin, on_auth_code); + } else zavai.log.debug("Unknown status: " + status); } @@ -124,11 +136,14 @@ public class GSM: zavai.ScriptMonitorService public dynamic DBus.Object call; protected GSMActivator activator; + public signal void status_changed(string message); + public GSM() { Object(name: "gsm"); activator = new GSMActivator(); + activator.status_changed += (msg) => { status_changed(msg); }; call = null; @@ -144,6 +159,8 @@ public class GSM: zavai.ScriptMonitorService { if (started) return; + status_changed("Starting"); + script_start(); call = zavai.registry.sbus.get_object( @@ -158,7 +175,10 @@ public class GSM: zavai.ScriptMonitorService { zavai.log.debug("NOC " + name + " from " + oldOwner + " to " + newOwner); if (name == "org.freesmartphone.ogsmd" && newOwner != "") + { + status_changed("ogpsd came online"); activator.begin(); + } } // Release usage of GPS -- 2.39.5