diff -r e52d42f9500c -r 41c0a814d878 logsui/logsengine/src/logsevent.cpp --- a/logsui/logsengine/src/logsevent.cpp Thu May 27 12:51:53 2010 +0300 +++ b/logsui/logsengine/src/logsevent.cpp Fri Jun 11 13:38:41 2010 +0300 @@ -24,6 +24,7 @@ #include #include #include +#include #include "logsevent.h" #include "logseventparser.h" #include "logseventdata.h" @@ -347,6 +348,85 @@ } // ---------------------------------------------------------------------------- +// +// ---------------------------------------------------------------------------- +// +LogsEvent::LogsEvent( QDataStream& serializedEvent ) +{ + LOGS_QDEBUG( "logs [ENG] -> LogsEvent::LogsEvent deserialize") + serializedEvent >> mLogId; + int tempEnum; + serializedEvent >> tempEnum; + mDirection = static_cast( tempEnum ); + serializedEvent >> tempEnum; + mEventType = static_cast( tempEnum ); + serializedEvent >> mUid; + + serializedEvent >> mRemoteParty; + serializedEvent >> mNumber; + serializedEvent >> mDuplicates; + serializedEvent >> mTime; + serializedEvent >> mRingDuration; + serializedEvent >> mIsRead; + serializedEvent >> mIsALS; + serializedEvent >> mDuration; + + serializedEvent >> mIndex; + serializedEvent >> mIsInView; + serializedEvent >> tempEnum; + mEventState = static_cast( tempEnum ); + serializedEvent >> mIsLocallySeen; + serializedEvent >> mIsPrivate; + serializedEvent >> mIsUnknown; + + LogsEventData* logsEventData = new LogsEventData(serializedEvent); + if ( serializedEvent.status() == QDataStream::ReadPastEnd ){ + mLogsEventData = 0; + delete logsEventData; + } else { + mLogsEventData = logsEventData; + } + LOGS_QDEBUG( "logs [ENG] <- LogsEvent::LogsEvent deserialize") + +} + +// ---------------------------------------------------------------------------- +// +// ---------------------------------------------------------------------------- +// +bool LogsEvent::serialize( QDataStream& serializeDestination ) +{ + LOGS_QDEBUG( "logs [ENG] -> LogsEvent::serialize") + serializeDestination << mLogId; + serializeDestination << mDirection; + serializeDestination << mEventType; + serializeDestination << mUid; + + serializeDestination << mRemoteParty; + serializeDestination << mNumber; + serializeDestination << mDuplicates; + serializeDestination << mTime; + serializeDestination << mRingDuration; + serializeDestination << mIsRead; + serializeDestination << mIsALS; + serializeDestination << mDuration; + + serializeDestination << mIndex; + serializeDestination << mIsInView; + serializeDestination << mEventState; + serializeDestination << mIsLocallySeen; + serializeDestination << mIsPrivate; + serializeDestination << mIsUnknown; + + if ( mLogsEventData ){ + mLogsEventData->serialize(serializeDestination); + } + + LOGS_QDEBUG( "logs [ENG] <- LogsEvent::serialize") + return true; +} + +// ---------------------------------------------------------------------------- // LogsEvent::RingDuration // // For ring duation feature @@ -560,8 +640,8 @@ // QString LogsEvent::parseContactName(const QContactName& name) { - QString firstName = name.value(QContactName::FieldFirst); - QString lastName = name.value(QContactName::FieldLast); + QString firstName = name.value(QContactName::FieldFirstName); + QString lastName = name.value(QContactName::FieldLastName); QString parsedName; if (!lastName.isEmpty()) { if (!firstName.isEmpty()) {