From e36fb8df5ffabc02eface993bb4ac01255cf63c9 Mon Sep 17 00:00:00 2001 From: Enrico Zini Date: Sun, 28 Mar 2010 12:20:10 +0100 Subject: [PATCH] Log incoming SMSes --- src/gsm.vala | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/gsm.vala b/src/gsm.vala index e554503..ed9c60b 100644 --- a/src/gsm.vala +++ b/src/gsm.vala @@ -240,6 +240,10 @@ stderr.printf("ACQUIRE SIG %d\n", info_signal_strength); }; call.call_status += on_call_status; + sim.incoming_stored_message += (idx) => { + stderr.printf("INCOMING STORED MESSAGE %d\n", idx); + sms_log_and_delete(idx); + }; } /// Request GPS resource @@ -396,6 +400,28 @@ stderr.printf("ACQUIRE SIG %d\n", info_signal_strength); os.system("ledctrl --off gta02-aux:red"); */ } + + public async void sms_log_and_delete(int idx) + { + // Retrieve message info + string state, sender, msg; + GLib.HashTable info; + yield sim.retrieve_message(idx, out state, out sender, out msg, out info); + + // Log message info + var sms_log = zavai.log.log.start("sms", msg); + string sms_info = "state: %s\nsender: %s\nmsg: %s\n".printf(state, sender, msg); + info.for_each((pk, pv) => { + string k = (string)pk; + Value? v = (Value?)pv; + sms_info = sms_info + "%s: %s\n".printf(k, v == null ? "(null)" : v.strdup_contents()); + }); + sms_log.add(sms_info); + zavai.log.log.end(sms_log); + + // Delete message + yield sim.delete_message(idx); + } } public class GPRS: zavai.Service -- 2.39.5