From: sinikang Date: Tue, 7 Feb 2017 09:11:32 +0000 (+0900) Subject: Add more SIM_STATUS handling on emulator X-Git-Tag: submit/tizen/20170208.045500^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4e8ab46118834a2e0ead03bcdd844c9802bd82be;p=platform%2Fcore%2Ftelephony%2Ftel-plugin-atmodem.git Add more SIM_STATUS handling on emulator Change-Id: I3269385a4c8506639bd739d3d326df2a8918a70b --- diff --git a/packaging/tel-plugin-atmodem.spec b/packaging/tel-plugin-atmodem.spec index 2671e42..784483e 100644 --- a/packaging/tel-plugin-atmodem.spec +++ b/packaging/tel-plugin-atmodem.spec @@ -1,6 +1,6 @@ %define major 0 %define minor 1 -%define patchlevel 75 +%define patchlevel 76 Name: tel-plugin-atmodem Version: %{major}.%{minor}.%{patchlevel} diff --git a/src/s_sim.c b/src/s_sim.c index 005f729..8f061b8 100644 --- a/src/s_sim.c +++ b/src/s_sim.c @@ -126,6 +126,11 @@ typedef enum { SEC_PB_INIT_COMPLETED, /* Phonebook Initialize Completed*/ SEC_SIM_INIT_CRASH, /* SIM Crash request from SMC lab*/ + SEC_SIM_CARD_REMOVED, /* Runtime Card removed */ + SEC_SIM_CARD_CRASHED, /* Runtime SIM card error */ + SEC_SIM_CARD_POWEROFF, /* SIM Powered OFF */ + SEC_SIM_CARD_INSERTED, /* SIM card inserted */ + SEC_LOCK_TYPE_MAX } sim_sec_lock_type_t; @@ -555,6 +560,14 @@ static gboolean __convert_scpin_str_to_enum(char *line, *lock_type = SEC_SIM_INIT_COMPLETED; else if (g_str_has_prefix(type, "INIT_ERROR")) *lock_type = SEC_SIM_INIT_CRASH; + else if (g_str_has_prefix(type, "CARD_REMOVED")) + *lock_type = SEC_SIM_CARD_REMOVED; + else if (g_str_has_prefix(type, "CARD_CRASHED")) + *lock_type = SEC_SIM_CARD_CRASHED; + else if (g_str_has_prefix(type, "CARD_POWEROFF")) + *lock_type = SEC_SIM_CARD_POWEROFF; + else if (g_str_has_prefix(type, "CARD_INSERTED")) + *lock_type = SEC_SIM_CARD_INSERTED; else *lock_type = SEC_LOCK_TYPE_NONE; @@ -579,7 +592,9 @@ static gboolean __convert_scpin_str_to_enum(char *line, *lock_key = SEC_LOCK_KEY_UNLOCKED; if ((*lock_type == SEC_LOCK_TYPE_NO_SIM) || (*lock_type == SEC_LOCK_TYPE_UNAVAIL) || - (*lock_type == SEC_SIM_INIT_COMPLETED) || (*lock_type == SEC_SIM_INIT_CRASH)) + (*lock_type == SEC_SIM_INIT_COMPLETED) || (*lock_type == SEC_SIM_INIT_CRASH) || + (*lock_type == SEC_SIM_CARD_REMOVED) || (*lock_type == SEC_SIM_CARD_CRASHED) || + (*lock_type == SEC_SIM_CARD_POWEROFF) || (*lock_type == SEC_SIM_CARD_INSERTED)) *lock_key = SEC_LOCK_KEY_NONE; dbg("type: [%d], key: [%d]", *lock_type, *lock_key); @@ -702,6 +717,8 @@ static void __sim_process_sim_status(CoreObject *co_sim, case SIM_STATUS_CARD_REMOVED: case SIM_STATUS_CARD_NOT_PRESENT: case SIM_STATUS_CARD_ERROR: + case SIM_STATUS_CARD_CRASHED: + case SIM_STATUS_CARD_POWEROFF: dbg("SIM CARD ERROR [0x%02x]", sim_card_status); tcore_sim_set_type(co_sim, SIM_TYPE_UNKNOWN); return __sim_update_sim_status(co_sim, sim_card_status); @@ -2341,6 +2358,22 @@ static gboolean on_notification_sim_status(CoreObject *co_sim, case SEC_PB_INIT_COMPLETED: break; + case SEC_SIM_CARD_REMOVED: + sim_status = SIM_STATUS_CARD_REMOVED; + break; + + case SEC_SIM_CARD_CRASHED: + sim_status = SIM_STATUS_CARD_CRASHED; + break; + + case SEC_SIM_CARD_POWEROFF: + sim_status = SIM_STATUS_CARD_POWEROFF; + break; + + case SEC_SIM_CARD_INSERTED: + sim_status = SIM_STATUS_CARD_INSERTED; + break; + default: err("Not handled SEC lock type: [%d]", locktype); sim_status = SIM_STATUS_UNKNOWN;