//-------------------------------------------------------------------------------------------------- void simTest_State ( le_sim_Id_t simId, const char* pinPtr ) { le_sim_States_t state; le_sim_NewStateHandlerRef_t testHdlrRef; char string[100]; memset(string, 0, 100); // Add the state handler testHdlrRef = le_sim_AddNewStateHandler(TestSimStateHandler, NULL); LE_ASSERT(NULL != testHdlrRef); // Get SIM state state = le_sim_GetState(simId); LE_INFO("test: state %d", state); LE_ASSERT((state >= LE_SIM_INSERTED) && (state <= LE_SIM_BUSY)); sprintf(string, "\nSIM Card.%d state:\n", simId); Print(string); DisplaySimState(state, simId); if (LE_SIM_INSERTED == state) { // Enter PIN code LE_ASSERT_OK(le_sim_EnterPIN(simId, pinPtr)); // Get SIM state state = le_sim_GetState(simId); LE_ASSERT((state>=LE_SIM_INSERTED) && (state<=LE_SIM_BUSY)); } }
//-------------------------------------------------------------------------------------------------- void simTest_State ( le_sim_Id_t simId, const char* pinPtr ) { le_result_t res; le_sim_NewStateHandlerRef_t testHdlrRef; le_sim_States_t state; char string[100]; memset(string, 0, 100); // Get SIM state state = le_sim_GetState(simId); LE_ASSERT((state >= LE_SIM_INSERTED) && (state <= LE_SIM_BUSY)); sprintf(string, "\nSIM Card.%d state:\n", simId); Print(string); DisplaySimState(state, simId); if(state == LE_SIM_INSERTED) { // Enter PIN code res = le_sim_EnterPIN(simId, pinPtr); LE_ASSERT(res==LE_OK); // Get SIM state state = le_sim_GetState(simId); LE_ASSERT((state>=LE_SIM_INSERTED) && (state<=LE_SIM_BUSY)); } // Add the state handler testHdlrRef = le_sim_AddNewStateHandler(TestSimStateHandler, NULL); LE_ASSERT(testHdlrRef != NULL); }
//-------------------------------------------------------------------------------------------------- void simTest_Lock ( le_sim_Id_t simId, const char* pinPtr ) { le_sim_States_t state; bool doLock = false; uint8_t loop = 0; le_result_t res; // Get SIM state state = le_sim_GetState(simId); DisplaySimState(state, simId); LE_ASSERT((state == LE_SIM_READY)||(state == LE_SIM_INSERTED)); if (LE_SIM_READY == state) { doLock = true; } else if (LE_SIM_INSERTED == state) { // Enter PIN code res = le_sim_EnterPIN(simId, pinPtr); LE_ASSERT(res == LE_OK); doLock = false; } // Try to lock/unlock the SIM while (loop<2) { LE_INFO("loop %d doLock %d", loop, doLock); if (doLock) { LE_INFO("lock the SIM"); // Lock PIN using a wrong PIN code (error code expected) res = le_sim_Lock(simId, FAIL_PIN_TEST); LE_ASSERT(res == LE_FAULT); // Lock PIN using the correct PIN code res = le_sim_Lock(simId, pinPtr); LE_ASSERT(res == LE_OK); // Enter PIN code res = le_sim_EnterPIN(simId, pinPtr); LE_ASSERT(res == LE_OK); doLock = false; } else { LE_INFO("unlock the SIM"); // Unlock the SIM using a wrong PIN code (error code expected) res = le_sim_Unlock(simId, FAIL_PIN_TEST); LE_ASSERT(res == LE_FAULT); // Lock PIN using the correct PIN code res = le_sim_Unlock(simId, pinPtr); LE_ASSERT(res == LE_OK); doLock = true; } loop++; } }