Пример #1
0
//--------------------------------------------------------------------------------------------------
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));
    }
}
Пример #2
0
//--------------------------------------------------------------------------------------------------
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);
}
Пример #3
0
//--------------------------------------------------------------------------------------------------
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++;
    }
}