Ejemplo n.º 1
0
//--------------------------------------------------------------------------------------------------
static void* CellNetThread
(
    void* contextPtr
)
{
    // Connect to the services required by this thread
    le_cfg_ConnectService();
    le_mrc_ConnectService();
    le_sim_ConnectService();

    LE_INFO("CellNet Thread Started");

    // Register for command events
    le_event_AddHandler("ProcessCommand",
                        CommandEvent,
                        ProcessCommand);


    // Register for SIM state changes
    le_sim_AddNewStateHandler(SimStateHandler, NULL);

    // Register for MRC Network Registration state changes
    le_mrc_AddNetRegStateEventHandler(MrcNetRegHandler, NULL);


    // Run the event loop
    le_event_RunLoop();
    return NULL;
}
Ejemplo n.º 2
0
//--------------------------------------------------------------------------------------------------
static void* AppHandler
(
    void* ctxPtr
)
{
    AppContext_t * appCtxPtr = (AppContext_t*) ctxPtr;

    LE_DEBUG("App id: %d", appCtxPtr->appId);

    // Subscribe to SIM state handler
    appCtxPtr->statHandler = le_sim_AddNewStateHandler(SimStateHandler, ctxPtr);
    LE_ASSERT(appCtxPtr->statHandler != NULL);

    // Semaphore is used to synchronize the task execution with the core test
    le_sem_Post(ThreadSemaphore);

    le_event_RunLoop();
}
Ejemplo n.º 3
0
//--------------------------------------------------------------------------------------------------
static void* SimPowerCycleIndThread
(
    void* context   ///< Context
)
{
    le_sim_ConnectService();

    SimPowerCycleHdlrRef = le_sim_AddNewStateHandler(TestSimStateHandler, NULL);

    LE_ASSERT(SimPowerCycleHdlrRef);

    //First sem post and  the "simPowerCycleStarted" flag indicate this thread is running
    le_sem_Post(SimPowerCycleSemaphore);
    SimPowerCycleStarted = true;

    LE_INFO("SimPowerCycleIndThread started ...");

    le_event_RunLoop();

    return NULL;
}
Ejemplo n.º 4
0
//--------------------------------------------------------------------------------------------------
void Testle_sim_States()
{
    le_result_t                 res;
    le_sim_NewStateHandlerRef_t testHdlrRef;
    le_sim_States_t             state;
    le_sim_ObjRef_t             simRef;
    uint32_t                    i=1;

    do
    {
        fprintf(stderr, "Insert SIM card.%d, wait for +WIND:1 (approx. 2s) and then press enter \n", i);
        while ( getchar() != '\n' );

        simRef = le_sim_Create(i);
        CU_ASSERT_PTR_NOT_NULL(simRef);

        state = le_sim_GetState(simRef);
        CU_ASSERT_TRUE((state>=LE_SIM_INSERTED) && (state<=LE_SIM_BUSY));
        fprintf(stderr, "\nSIM Card.%d state:\n", i);
        displaySIMState(state, i);
        // Enter PIN
        if(state == LE_SIM_INSERTED)
        {
            res = le_sim_EnterPIN(simRef, (char*)&PIN_TEST[i-1][0]);
            CU_ASSERT_EQUAL(res, LE_OK);

            state = le_sim_GetState(simRef);
            CU_ASSERT_TRUE((state>=LE_SIM_INSERTED) && (state<=LE_SIM_BUSY));
        }

        le_sim_Delete(simRef);
        i++;
    } while (i<=le_sim_CountSlots());


    testHdlrRef=le_sim_AddNewStateHandler(TestSimStateHandler, NULL);
    CU_ASSERT_PTR_NOT_NULL(testHdlrRef);
}
Ejemplo n.º 5
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));
    }
}
Ejemplo n.º 6
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);
}