diff -r 000000000000 -r 8466d47a6819 emailservices/emailframework/commonlib/src/CFSMailFolderBase.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/emailservices/emailframework/commonlib/src/CFSMailFolderBase.cpp Thu Dec 17 08:39:21 2009 +0200 @@ -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