diff -r d189ee25cf9d -r 3533d4323edc emailservices/emailframework/commonlib/src/CFSMailFolderBase.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/emailservices/emailframework/commonlib/src/CFSMailFolderBase.cpp Wed Sep 01 12:28:57 2010 +0100
@@ -0,0 +1,310 @@
+/*
+* Copyright (c) 2007-2008 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: common email folder base object
+*
+*/
+
+
+//
+#include "emailtrace.h"
+#include "cfsmailfolderbase.h"
+//
+
+// ================= MEMBER FUNCTIONS ==========================================
+// -----------------------------------------------------------------------------
+// CFSMailFolderBase::CFSMailFolderBase
+// -----------------------------------------------------------------------------
+CFSMailFolderBase::CFSMailFolderBase()
+{
+ FUNC_LOG;
+ iFolderName = HBufC::New(1);
+ iFolderName->Des().Copy(KNullDesC());
+ iMoveOfflineBlocked.Reset();
+ iMoveOnlineBlocked.Reset();
+ iCopyOfflineBlocked.Reset();
+ iCopyOnlineBlocked.Reset();
+}
+
+// -----------------------------------------------------------------------------
+// CFSMailFolderBase::~CFSMailFolderBase
+// -----------------------------------------------------------------------------
+EXPORT_C CFSMailFolderBase::~CFSMailFolderBase()
+{
+ FUNC_LOG;
+ if(iFolderName)
+ {
+ delete iFolderName;
+ iFolderName = NULL;
+ }
+ iMoveOfflineBlocked.Reset();
+ iMoveOnlineBlocked.Reset();
+ iCopyOfflineBlocked.Reset();
+ iCopyOnlineBlocked.Reset();
+}
+
+// -----------------------------------------------------------------------------
+// CFSMailFolderBase::ConstructL
+// -----------------------------------------------------------------------------
+EXPORT_C void CFSMailFolderBase::ConstructL( TFSMailMsgId aFolderId )
+{
+ FUNC_LOG;
+ iFolderId.SetPluginId(aFolderId.PluginId());
+ iFolderId.SetId(aFolderId.Id());
+}
+
+// -----------------------------------------------------------------------------
+// CFSMailFolderBase::NewLC
+// -----------------------------------------------------------------------------
+EXPORT_C CFSMailFolderBase* CFSMailFolderBase::NewLC( TFSMailMsgId aFolderId )
+{
+ FUNC_LOG;
+ CFSMailFolderBase* folder = new (ELeave) CFSMailFolderBase();
+ CleanupStack:: PushL(folder);
+ folder->ConstructL(aFolderId);
+ return folder;
+}
+
+// -----------------------------------------------------------------------------
+// CFSMailFolderBase::NewL
+// -----------------------------------------------------------------------------
+EXPORT_C CFSMailFolderBase* CFSMailFolderBase::NewL(const TFSMailMsgId aFolderId)
+{
+ FUNC_LOG;
+ CFSMailFolderBase* folder = CFSMailFolderBase::NewLC(aFolderId);
+ CleanupStack:: Pop(folder);
+ return folder;
+}
+
+// -----------------------------------------------------------------------------
+// CFSMailFolderBase::GetFolderId
+// -----------------------------------------------------------------------------
+EXPORT_C TFSMailMsgId CFSMailFolderBase::GetFolderId() const
+{
+ FUNC_LOG;
+ return iFolderId;
+}
+
+
+// -----------------------------------------------------------------------------
+// CFSMailFolderBase::GetParentFolderId
+// -----------------------------------------------------------------------------
+EXPORT_C TFSMailMsgId CFSMailFolderBase::GetParentFolderId() const
+{
+ FUNC_LOG;
+ return iParentFolderId;
+}
+
+// -----------------------------------------------------------------------------
+// CFSMailFolderBase::SetParentFolderId
+// -----------------------------------------------------------------------------
+EXPORT_C void CFSMailFolderBase::SetParentFolderId(TFSMailMsgId aFolderId)
+{
+ FUNC_LOG;
+ iParentFolderId.SetPluginId(aFolderId.PluginId());
+ iParentFolderId.SetId(aFolderId.Id());
+}
+
+// -----------------------------------------------------------------------------
+// CFSMailFolderBase::GetMailBoxId
+// -----------------------------------------------------------------------------
+EXPORT_C TFSMailMsgId CFSMailFolderBase::GetMailBoxId() const
+{
+ FUNC_LOG;
+ return iMailBoxId;
+}
+
+// -----------------------------------------------------------------------------
+// CFSMailFolderBase::SetMailBoxId
+// -----------------------------------------------------------------------------
+EXPORT_C void CFSMailFolderBase::SetMailBoxId(TFSMailMsgId aMailBoxId)
+{
+ FUNC_LOG;
+ iMailBoxId.SetPluginId(aMailBoxId.PluginId());
+ iMailBoxId.SetId(aMailBoxId.Id());
+}
+
+
+// -----------------------------------------------------------------------------
+// CFSMailFolderBase::GetFolderType
+// -----------------------------------------------------------------------------
+EXPORT_C TFSFolderType CFSMailFolderBase::GetFolderType() const
+{
+ FUNC_LOG;
+ return iFolderType;
+}
+
+// -----------------------------------------------------------------------------
+// CFSMailFolderBase::SetFolderType
+// -----------------------------------------------------------------------------
+EXPORT_C void CFSMailFolderBase::SetFolderType(const TFSFolderType aFolderType)
+{
+ FUNC_LOG;
+ iFolderType = aFolderType;
+}
+
+// -----------------------------------------------------------------------------
+// CFSMailFolderBase::GetFolderName
+// -----------------------------------------------------------------------------
+EXPORT_C TDesC& CFSMailFolderBase::GetFolderName() const
+{
+ FUNC_LOG;
+ return *iFolderName;
+}
+
+// -----------------------------------------------------------------------------
+// CFSMailFolderBase::SetFolderName
+// -----------------------------------------------------------------------------
+EXPORT_C void CFSMailFolderBase::SetFolderName(const TDesC& aFolderName)
+{
+ FUNC_LOG;
+ // init mailbox name
+ HBufC* name = HBufC::New(aFolderName.Length());
+
+ // store new mailbox name
+ if(name)
+ {
+ delete iFolderName;
+ iFolderName = name;
+ iFolderName->Des().Copy(aFolderName);
+ }
+}
+
+// -----------------------------------------------------------------------------
+// CFSMailFolderBase::GetMessageCount
+// -----------------------------------------------------------------------------
+EXPORT_C TUint CFSMailFolderBase::GetMessageCount() const
+{
+ FUNC_LOG;
+ return iMessageCount;
+}
+
+// -----------------------------------------------------------------------------
+// CFSMailFolderBase::GetUnreadCount
+// -----------------------------------------------------------------------------
+EXPORT_C TUint CFSMailFolderBase::GetUnreadCount() const
+{
+ FUNC_LOG;
+ return iUnreadMessageCount;
+}
+
+// -----------------------------------------------------------------------------
+// CFSMailFolderBase::GetUnseenCount
+// -----------------------------------------------------------------------------
+EXPORT_C TUint CFSMailFolderBase::GetUnseenCount() const
+{
+ FUNC_LOG;
+ return iUnseenCount;
+}
+
+// -----------------------------------------------------------------------------
+// CFSMailFolderBase::GetSubFolderCount
+// -----------------------------------------------------------------------------
+EXPORT_C TUint CFSMailFolderBase::GetSubFolderCount() const
+{
+ FUNC_LOG;
+ return iSubFolderCount;
+}
+// -----------------------------------------------------------------------------
+// CFSMailFolderBase::SetMessageCount
+// -----------------------------------------------------------------------------
+EXPORT_C void CFSMailFolderBase::SetMessageCount( TUint aMessageCount )
+{
+ FUNC_LOG;
+ iMessageCount = aMessageCount;
+}
+
+// -----------------------------------------------------------------------------
+// CFSMailFolderBase::SetUnreadCount
+// -----------------------------------------------------------------------------
+EXPORT_C void CFSMailFolderBase::SetUnreadCount( TUint aMessageCount )
+{
+ FUNC_LOG;
+ iUnreadMessageCount = aMessageCount;
+}
+
+// -----------------------------------------------------------------------------
+// CFSMailFolderBase::SetUnseenCount
+// -----------------------------------------------------------------------------
+EXPORT_C void CFSMailFolderBase::SetUnseenCount( TUint aMessageCount )
+{
+ FUNC_LOG;
+ iUnseenCount = aMessageCount;
+}
+
+// -----------------------------------------------------------------------------
+// CFSMailFolderBase::SetSubFolderCount
+// -----------------------------------------------------------------------------
+EXPORT_C void CFSMailFolderBase::SetSubFolderCount(TUint aFolderCount)
+{
+ FUNC_LOG;
+ iSubFolderCount = aFolderCount;
+}
+
+// -----------------------------------------------------------------------------
+// CFSMailFolder::BlockCopyFromL
+// -----------------------------------------------------------------------------
+EXPORT_C void CFSMailFolderBase::BlockCopyFromL( RArray aFolderTypes,
+ TFSMailBoxStatus aMailBoxStatus )
+ {
+ FUNC_LOG;
+ switch(aMailBoxStatus)
+ {
+ case EFSMailBoxOnline:
+ for(TInt i=0;i aFolderTypes,
+ TFSMailBoxStatus aMailBoxStatus )
+ {
+ FUNC_LOG;
+ switch(aMailBoxStatus)
+ {
+ case EFSMailBoxOnline:
+ for(TInt i=0;i