View Single Post
sakya's Avatar
Posts: 533 | Thanked: 1,341 times | Joined on Dec 2010 @ Italy
#128
If someone cares this is the code to save a sms in the sent folder using rtcom-eventlogger:
Code:
bool SmsSender::saveMsgToSentFolder(QString number, QString message)
{
    bool result = false;
    QString partNumber = number.right(7);

    RTComElEvent* ev = rtcom_el_event_new();

    RTCOM_EL_EVENT_SET_FIELD(ev, service, g_strdup(QString("RTCOM_EL_SERVICE_SMS").toLatin1().data()));
    RTCOM_EL_EVENT_SET_FIELD(ev, event_type, g_strdup(QString("RTCOM_EL_EVENTTYPE_SMS_OUTBOUND").toLatin1().data()));
    RTCOM_EL_EVENT_SET_FIELD(ev, start_time, time(NULL));
    RTCOM_EL_EVENT_SET_FIELD(ev, end_time, time(NULL));
    RTCOM_EL_EVENT_SET_FIELD(ev, is_read, TRUE);
    RTCOM_EL_EVENT_SET_FIELD(ev, remote_ebook_uid, 0);
    RTCOM_EL_EVENT_SET_FIELD(ev, local_uid, g_strdup(QString("ring/tel/ring").toLatin1().data()));
    RTCOM_EL_EVENT_SET_FIELD(ev, local_name, g_strdup(QString("<SelfHandle>").toLatin1().data()));
    RTCOM_EL_EVENT_SET_FIELD(ev, remote_uid, number.toLatin1().data());
    RTCOM_EL_EVENT_SET_FIELD(ev, remote_name, g_strdup(QString("").toLatin1().data()));
    RTCOM_EL_EVENT_SET_FIELD(ev, group_uid, g_strdup(partNumber.toLatin1().data()));
    RTCOM_EL_EVENT_SET_FIELD(ev, free_text, g_strdup(message.toUtf8().data()));

    int id = rtcom_el_add_event(m_El, ev, NULL);
    if (id >= 0){
        QUuid uid = QUuid::createUuid();
        rtcom_el_add_header(m_El, id, QString("message-token").toLatin1().data(), uid.toString().toLatin1().data(), NULL);
        result = true;
    }

    rtcom_el_event_free(ev);

    return result;
}