Пример #1
0
//--------------------------------------------------------------------------------------------------
void Testle_sms_SendPdu()
{
    le_result_t           res;
    le_sms_MsgRef_t      myMsg;

    myMsg = le_sms_Create();
    CU_ASSERT_PTR_NOT_NULL(myMsg);

    LE_DEBUG("Create Msg %p", myMsg);

    res=le_sms_SetPDU(myMsg, PDU_TEST_PATTERN_7BITS, sizeof(PDU_TEST_PATTERN_7BITS)/sizeof(PDU_TEST_PATTERN_7BITS[0]));
    CU_ASSERT_EQUAL(res, LE_OK);

    res=le_sms_Send(myMsg);
    CU_ASSERT_NOT_EQUAL(res, LE_FAULT);
    CU_ASSERT_NOT_EQUAL(res, LE_FORMAT_ERROR);

    res=le_sms_SetPDU(myMsg, PDU_TEST_PATTERN_8BITS, sizeof(PDU_TEST_PATTERN_8BITS)/sizeof(PDU_TEST_PATTERN_8BITS[0]));
    CU_ASSERT_EQUAL(res, LE_OK);

    res=le_sms_Send(myMsg);
    CU_ASSERT_NOT_EQUAL(res, LE_FAULT);
    CU_ASSERT_NOT_EQUAL(res, LE_FORMAT_ERROR);

    le_sms_Delete(myMsg);
}
Пример #2
0
//--------------------------------------------------------------------------------------------------
static le_result_t Testle_sms_Send_Pdu
(
    void
)
{
    le_result_t           res = LE_FAULT;
    le_sms_MsgRef_t      myMsg;

    myMsg = le_sms_Create();
    if (myMsg)
    {
        LE_DEBUG("Create Msg %p", myMsg);

        res = le_sms_SetPDU(myMsg, PDU_TEST_PATTERN_7BITS, sizeof(PDU_TEST_PATTERN_7BITS)/
                        sizeof(PDU_TEST_PATTERN_7BITS[0]));
        if (res != LE_OK)
        {
            le_sms_Delete(myMsg);
            return LE_FAULT;
        }

        res = le_sms_Send(myMsg);
        if ((res == LE_FAULT) || (res == LE_FORMAT_ERROR))
        {
            le_sms_Delete(myMsg);
            return LE_FAULT;
        }

        res = le_sms_SetPDU(myMsg, PDU_TEST_PATTERN_8BITS, sizeof(PDU_TEST_PATTERN_8BITS)/
                        sizeof(PDU_TEST_PATTERN_8BITS[0]));
        if (res != LE_OK)
        {
            le_sms_Delete(myMsg);
            return LE_FAULT;
        }

        res = le_sms_Send(myMsg);
        if ((res == LE_FAULT) || (res == LE_FORMAT_ERROR))
        {
            le_sms_Delete(myMsg);
            return LE_FAULT;
        }

        le_sms_Delete(myMsg);
        res = LE_OK;
    }

    return res;
}
Пример #3
0
//--------------------------------------------------------------------------------------------------
void Testle_sms_SetGetPDU()
{
    le_result_t           res;
    le_sms_MsgRef_t       myMsg;
    char                  timestamp[LE_SMS_TIMESTAMP_MAX_LEN];
    char                  tel[LE_MDMDEFS_PHONE_NUM_MAX_LEN];
    uint8_t               pdu[LE_SMS_PDU_MAX_LEN];
    size_t                uintval;
    uint32_t              i;

    myMsg = le_sms_Create();
    CU_ASSERT_PTR_NOT_NULL(myMsg);

    res=le_sms_SetPDU(myMsg, PDU_TEST_PATTERN_7BITS, sizeof(PDU_TEST_PATTERN_7BITS)/sizeof(PDU_TEST_PATTERN_7BITS[0]));
    LE_INFO("le_sms_SetPDU return %d",res);

    CU_ASSERT_EQUAL(res, LE_OK);

    res=le_sms_GetSenderTel(myMsg, tel, sizeof(tel));
    CU_ASSERT_EQUAL(res, LE_NOT_PERMITTED);

    res=le_sms_GetTimeStamp(myMsg, timestamp, sizeof(timestamp));
    CU_ASSERT_EQUAL(res, LE_NOT_PERMITTED);

    uintval=le_sms_GetPDULen(myMsg);
    CU_ASSERT_EQUAL(uintval, sizeof(PDU_TEST_PATTERN_7BITS)/sizeof(PDU_TEST_PATTERN_7BITS[0]));

    uintval=1;
    res=le_sms_GetPDU(myMsg, pdu, &uintval);
    CU_ASSERT_EQUAL(res, LE_OVERFLOW);

    uintval=sizeof(pdu);
    res=le_sms_GetPDU(myMsg, pdu, &uintval);
    CU_ASSERT_EQUAL(res, LE_OK);
    for(i=0; i<sizeof(PDU_TEST_PATTERN_7BITS) ; i++)
    {
        CU_ASSERT_EQUAL(pdu[i], PDU_TEST_PATTERN_7BITS[i]);
    }
    CU_ASSERT_EQUAL(uintval, sizeof(PDU_TEST_PATTERN_7BITS)/sizeof(PDU_TEST_PATTERN_7BITS[0]));

    res=le_sms_SetPDU(myMsg, PDU_TEST_PATTERN_7BITS, 0);
    CU_ASSERT_EQUAL(res, LE_BAD_PARAMETER);

    le_sms_Delete(myMsg);
}
Пример #4
0
static le_result_t LeSmsSendPduTime
(
    const uint8_t* pduPtr,
    ///< [IN]
    ///< PDU message.

    size_t pduNumElements,
    ///< [IN]

    le_sms_CallbackResultFunc_t handlerPtr,
    ///< [IN]

    void* contextPtr,

    uint32_t timeout
    ///< [IN]
)
{
    le_result_t res = LE_FAULT;
    le_sms_MsgRef_t myMsg = le_sms_Create();

    if(myMsg == NULL)
    {
        return res;
    }

    res = le_sms_SetPDU(myMsg, pduPtr, pduNumElements);
    if(res != LE_OK)
    {
        le_sms_Delete(myMsg);
        return res;
    }

    res = le_sms_SetTimeout(myMsg, timeout);
    if(res != LE_OK)
    {
        le_sms_Delete(myMsg);
        return res;
    }

    res = le_sms_SendAsync(myMsg, handlerPtr, contextPtr);
    if(res != LE_OK)
    {
        le_sms_Delete(myMsg);
        return res;
    }

    return res;
}
Пример #5
0
static void* MyTxThread
(
    void* context   ///< See parameter documentation above.
)
{
    le_sms_ConnectService();
    bool pdu_type = *((bool *) context);

    int i;
    le_sms_MsgRef_t myMsg;

    for (i = NB_SMS_ASYNC_TO_SEND; i > 0; i--)
    {
        if (pdu_type)
        {
            myMsg = le_sms_SendPdu(PDU_TEST_PATTERN_7BITS,
                            sizeof(PDU_TEST_PATTERN_7BITS)/sizeof(PDU_TEST_PATTERN_7BITS[0]),
                            CallbackTestHandler, (void*) 1);
        }
        else
        {
            myMsg = le_sms_SendText(DEST_TEST_PATTERN, TEXT_TEST_PATTERN,
                            CallbackTestHandler, NULL);
        }
        LE_INFO("-TEST- Create Async text Msg %p", myMsg);

        myMsg = le_sms_Create();

        if (pdu_type)
        {
            le_sms_SetPDU(myMsg, PDU_TEST_PATTERN_7BITS,
                            sizeof(PDU_TEST_PATTERN_7BITS)/sizeof(PDU_TEST_PATTERN_7BITS[0]));
            le_sms_SendAsync(myMsg, CallbackTestHandler,  (void*) 1);
        }
        else
        {
            le_sms_SetDestination(myMsg, DEST_TEST_PATTERN);
            le_sms_SetText(myMsg, TEXT_TEST_PATTERN);
            le_sms_SendAsync(myMsg, CallbackTestHandler, NULL);
        }

        LE_INFO("-TEST- Create Async text Msg %p", myMsg);
    }

    le_event_RunLoop();
    return NULL;
}