--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/emailservices/emailcommon/src/nmconverter.cpp Fri Apr 16 14:51:52 2010 +0300
@@ -0,0 +1,227 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "nmconverter.h"
+
+/*!
+ \brief It convert FSMailSortCriteria to NmMailSortCriteria
+ */
+EXPORT_C NmMailSortCriteria NmConverter::FSMailSortCriteria2NM(TFSMailSortCriteria criteria)
+{
+ NmMailSortCriteria toReturn;
+
+ // setting defaults
+ toReturn.mField = NmMailDontCare;
+ toReturn.mOrder = NmMailDescending;
+
+ switch (criteria.iField) {
+ case EFSMailDontCare:
+ toReturn.mField = NmMailDontCare;
+ break;
+ case EFSMailSortByDate:
+ toReturn.mField = NmMailSortByDate;
+ break;
+ case EFSMailSortBySender:
+ toReturn.mField = NmMailSortBySender;
+ break;
+ case EFSMailSortByRecipient:
+ toReturn.mField = NmMailSortByRecipient;
+ break;
+ case EFSMailSortBySubject:
+ toReturn.mField = NmMailSortBySubject;
+ break;
+ case EFSMailSortByPriority:
+ toReturn.mField = NmMailSortByPriority;
+ break;
+ case EFSMailSortByFlagStatus:
+ toReturn.mField = NmMailSortByFlagStatus;
+ break;
+ case EFSMailSortByUnread:
+ toReturn.mField = NmMailSortByUnread;
+ break;
+ case EFSMailSortBySize:
+ toReturn.mField = NmMailSortBySize;
+ break;
+ case EFSMailSortByAttachment:
+ toReturn.mField = NmMailSortByAttachment;
+ break;
+ }
+
+ switch (criteria.iOrder) {
+ case EFSMailDescending:
+ toReturn.mOrder = NmMailDescending;
+ break;
+ case EFSMailAscending:
+ toReturn.mOrder = NmMailAscending;
+ break;
+ }
+
+ return toReturn;
+}
+
+/*!
+ \brief It convert TDesC to QString
+ */
+EXPORT_C QString NmConverter::toQString(const TDesC& aText)
+{
+ return QString::fromUtf16(aText.Ptr(), aText.Length());
+}
+
+/*!
+ \brief It convert TTime to QDateTime
+ */
+EXPORT_C QDateTime NmConverter::toQDateTime(const TTime& aTime)
+{
+ QDateTime toReturn;
+ TDateTime sTime = aTime.DateTime();
+
+ QDate qDate;
+ qDate.setDate(sTime.Year(), static_cast<TInt> (sTime.Month()) + 1, sTime.Day() + 1);
+
+ QTime qTime;
+ qTime.setHMS(sTime.Hour(), sTime.Minute(), sTime.Second());
+
+ toReturn.setDate(qDate);
+ toReturn.setTime(qTime);
+
+ return toReturn;
+}
+
+/*!
+ \brief It convert QDateTime to TTime
+ */
+EXPORT_C TTime NmConverter::toTTime(const QDateTime &aTime)
+{
+ QDate qDate = aTime.date();
+ QTime qTime = aTime.time();
+
+ TDateTime sDateTime(qDate.year(), static_cast<TMonth> (qDate.month() - 1), qDate.day() - 1,
+ qTime.hour(), qTime.minute(), qTime.second(), 0);
+
+ return TTime(sDateTime);
+}
+
+/*!
+ \brief It convert NmMailSortCriteria to TFSMailSortCriteria
+ */
+EXPORT_C TFSMailSortCriteria NmConverter::NMMailSortCriteria2FS(NmMailSortCriteria criteria)
+{
+ TFSMailSortCriteria toReturn;
+
+ // setting defaults
+ toReturn.iField = EFSMailDontCare;
+ toReturn.iOrder = EFSMailDescending;
+
+ switch (criteria.mField) {
+ case NmMailDontCare:
+ toReturn.iField = EFSMailDontCare;
+ break;
+ case NmMailSortByDate:
+ toReturn.iField = EFSMailSortByDate;
+ break;
+ case NmMailSortBySender:
+ toReturn.iField = EFSMailSortBySender;
+ break;
+ case NmMailSortByRecipient:
+ toReturn.iField = EFSMailSortByRecipient;
+ break;
+ case NmMailSortBySubject:
+ toReturn.iField = EFSMailSortBySubject;
+ break;
+ case NmMailSortByPriority:
+ toReturn.iField = EFSMailSortByPriority;
+ break;
+ case NmMailSortByFlagStatus:
+ toReturn.iField = EFSMailSortByFlagStatus;
+ break;
+ case NmMailSortByUnread:
+ toReturn.iField = EFSMailSortByUnread;
+ break;
+ case NmMailSortBySize:
+ toReturn.iField = EFSMailSortBySize;
+ break;
+ case NmMailSortByAttachment:
+ toReturn.iField = EFSMailSortByAttachment;
+ break;
+ }
+
+ switch (criteria.mOrder) {
+ case NmMailDescending:
+ toReturn.iOrder = EFSMailDescending;
+ break;
+ case NmMailAscending:
+ toReturn.iOrder = EFSMailAscending;
+ break;
+ }
+
+ return toReturn;
+}
+
+/*!
+ converts TFSMailMsgId to NmId
+ */
+EXPORT_C NmId NmConverter::mailMsgIdToNmId(const TFSMailMsgId aId)
+{
+ NmId id;
+ id.setId32( aId.Id() );
+ id.setPluginId32( aId.PluginId().iUid );
+
+ return id;
+}
+
+/*!
+ converts NmId to TFSMailMsgId
+ */
+EXPORT_C TFSMailMsgId NmConverter::nmIdToMailMsgId(const NmId aId)
+{
+ TFSMailMsgId id( aId.pluginId32(), aId.id32() );
+ return id;
+}
+
+/*!
+ converts QString to HBufC
+ */
+EXPORT_C HBufC* NmConverter::qstringToHBufCLC( const QString &string )
+{
+ HBufC* buf = HBufC::NewLC(string.length());
+ buf->Des().Copy( string.utf16() );
+ return buf;
+}
+
+/*!
+ Convert Qt NmAddress list into corresponding Symbian pointer array
+ */
+EXPORT_C RPointerArray<CFSMailAddress> NmConverter::toRPointerArray(
+ const QList<NmAddress> &list)
+{
+ RPointerArray<CFSMailAddress> ret;
+
+ for (QList<NmAddress>::const_iterator it = list.constBegin();
+ it != list.constEnd();
+ ++it) {
+
+ CFSMailAddress *item = NULL;
+
+ TRAP_IGNORE(item = CFSMailAddress::NewL(*it));
+
+ if (item) {
+ ret.Append(item);
+ }
+ }
+
+ return ret;
+}