diff -r d189ee25cf9d -r 3533d4323edc emailuis/emailui/src/FreestyleEmailCenRepHandler.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/emailuis/emailui/src/FreestyleEmailCenRepHandler.cpp Wed Sep 01 12:28:57 2010 +0100 @@ -0,0 +1,589 @@ +/* +* Copyright (c) 2005-2007 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: Freestyle Email source file +* +*/ + + +// INCLUDE FILES +#include "emailtrace.h" +#include +#include +#include // for note + +#include "freestyleemailcenrephandler.h" +#include "freestyleemailcenrepkeys.h" + +// CONSTANTS +//_LIT( KFsCrHandlerDelimiter, "," ); +//_LIT( KFsCrHandlerEmpty, "" ); +//const TInt KFsEmailFileTypesStringLenght = 256; + + +// ============================ MEMBER FUNCTIONS =============================== + +// ---------------------------------------------------- +// CFSEmailCRHandler::CFSEmailCRHandler + +// Default class constructor. +// ---------------------------------------------------- +// +CFSEmailCRHandler::CFSEmailCRHandler() + { + FUNC_LOG; + } + +// ---------------------------------------------------- +// CFSEmailCRHandler::ConstructL +// Second phase class constructor. +// ---------------------------------------------------- +// +void CFSEmailCRHandler::ConstructL() + { + FUNC_LOG; + + TRAP_IGNORE( iCentralRepository = CRepository::NewL( KFreestyleEmailCenRep ) ); + + // has to be trapped because setup wizard is not included in S60 3.1 SDK, + // and thus the NewL() would leave with KErrNotFound. + TRAP_IGNORE( iSetupWizCentRep = CRepository::NewL( KSetupWizardCenRep ) ); + } + +// ---------------------------------------------------- +// CFSEmailCRHandler::NewL +// Two-phased class constructor. +// Singleton +// ---------------------------------------------------- +// +CFSEmailCRHandler* CFSEmailCRHandler::InstanceL() + { + FUNC_LOG; + CFSEmailCRHandler* singleton = NULL; + + // Check Thread Local Storage for instance pointer + singleton = static_cast( UserSvr::DllTls( KTlsHandleCRHandler ) ); + if ( !singleton ) + { + singleton = new ( ELeave ) CFSEmailCRHandler(); + CleanupStack::PushL( singleton ); + singleton->ConstructL(); + CleanupStack::Pop( singleton ); + + // Store a pointer of a new instance in Thread Local Storage + TInt err = UserSvr::DllSetTls( KTlsHandleCRHandler, singleton ); + if ( err ) + { + delete singleton; + singleton = NULL; + User::Leave( err ); + } + } + return singleton; + } + +// ---------------------------------------------------- +// CFSEmailCRHandler::~CFSEmailCRHandler +// Destructor of CFSEmailCRHandler class. +// ---------------------------------------------------- +// +CFSEmailCRHandler::~CFSEmailCRHandler() + { + FUNC_LOG; + if( iCentralRepository ) + { + delete iCentralRepository; + iCentralRepository = NULL; + } + if( iSetupWizCentRep ) + { + delete iSetupWizCentRep; + iSetupWizCentRep = NULL; + } + UserSvr::DllFreeTls( KTlsHandleCRHandler ); + } + + +// ---------------------------------------------------- +// CFSEmailCRHandler::WarnBeforeDelete +// Returns setting warn before delete from CR +// ---------------------------------------------------- +// + +TInt CFSEmailCRHandler::WarnBeforeDelete() + { + FUNC_LOG; + TInt buf; + TInt err=KErrNotFound; + if ( iCentralRepository ) + { + err = iCentralRepository->Get( KFreestyleEmailWarnBeforeDelete, buf ); + } + if ( err != KErrNone ) + { + buf = KFreestyleEmailWarnBeforeDeleteDefault; + } + return buf; + } + +// ---------------------------------------------------- +// CFSEmailCRHandler::SetMessageHeader +// ---------------------------------------------------- +// +void CFSEmailCRHandler::SetWarnBeforeDelete( TInt aValue ) + { + FUNC_LOG; + if ( iCentralRepository ) + { + iCentralRepository->Set( KFreestyleEmailWarnBeforeDelete, aValue ); + } + } + +/* +// ---------------------------------------------------- +// CFSEmailCRHandler::SetMessageHeader +// ---------------------------------------------------- +// +void CFSEmailCRHandler::SetMessageHeader( TInt aValue ) + { + iCentralRepository->Set( KFreestyleEmailMessageHeader, aValue ); + } + +// ---------------------------------------------------- +// CFSEmailCRHandler::MessageHeader +// ---------------------------------------------------- +// +TInt CFSEmailCRHandler::MessageHeader() + { + TInt buf; + iCentralRepository->Get( KFreestyleEmailMessageHeader, buf ); + return buf; + } +*/ +// ---------------------------------------------------- +// CFSEmailCRHandler::SetMessageListLayout +// ---------------------------------------------------- +// +void CFSEmailCRHandler::SetMessageListLayout( TInt aValue ) + { + FUNC_LOG; + if ( iCentralRepository ) + { + iCentralRepository->Set( KFreestyleEmailMessageListLayout, aValue ); + } + } + +// ---------------------------------------------------- +// CFSEmailCRHandler::MessageListLayout +// ---------------------------------------------------- +// +TInt CFSEmailCRHandler::MessageListLayout() + { + FUNC_LOG; + TInt buf; + TInt err=KErrNotFound; + + if ( iCentralRepository ) + { + err = iCentralRepository->Get( KFreestyleEmailMessageListLayout, buf ); + } + if ( err != KErrNone ) + { + buf = KFreestyleEmailMessageListLayoutDefault; + } + return buf; + } + +// ---------------------------------------------------- +// CFSEmailCRHandler::SetBodyPreview +// ---------------------------------------------------- +// +void CFSEmailCRHandler::SetBodyPreview( TInt aValue ) + { + FUNC_LOG; + if ( iCentralRepository ) + { + iCentralRepository->Set( KFreestyleEmailBodyPreview, aValue ); + } + } + +// ---------------------------------------------------- +// CFSEmailCRHandler::BodyPreview +// ---------------------------------------------------- +// +TInt CFSEmailCRHandler::BodyPreview() + { + FUNC_LOG; + TInt buf; + TInt err=KErrNotFound; + + if ( iCentralRepository ) + { + err = iCentralRepository->Get( KFreestyleEmailBodyPreview, buf ); + } + if ( err != KErrNone ) + { + buf = KFreestyleEmailBodyPreviewDefault; + } + return buf; + } + +// ---------------------------------------------------- +// CFSEmailCRHandler::SetTitleDividers +// ---------------------------------------------------- +// +void CFSEmailCRHandler::SetTitleDividers( TInt aValue ) + { + FUNC_LOG; + if ( iCentralRepository ) + { + iCentralRepository->Set( KFreestyleEmailTitleDividers, aValue ); + } + } + +// ---------------------------------------------------- +// CFSEmailCRHandler::TitleDividers +// ---------------------------------------------------- +// +TInt CFSEmailCRHandler::TitleDividers() + { + FUNC_LOG; + TInt buf; + + TInt err=KErrNotFound; + + if ( iCentralRepository ) + { + err = iCentralRepository->Get( KFreestyleEmailTitleDividers, buf ); + } + if ( err != KErrNone ) + { + buf = KFreestyleEmailTitleDividersDefault; + } + return buf; + } + + +// ---------------------------------------------------- +// CFSEmailCRHandler::SetDownloadNotifications +// ---------------------------------------------------- +// +void CFSEmailCRHandler::SetDownloadNotifications( TInt aValue ) + { + FUNC_LOG; + if ( iCentralRepository ) + { + iCentralRepository->Set( KFreestyleEmailDownloadNotification, aValue ); + } + } + +// ---------------------------------------------------- +// CFSEmailCRHandler::DownloadNotifications +// ---------------------------------------------------- +// +TInt CFSEmailCRHandler::DownloadNotifications() + { + FUNC_LOG; + TInt buf; + + TInt err=KErrNotFound; + + if ( iCentralRepository ) + { + err = iCentralRepository->Get( KFreestyleEmailDownloadNotification, buf ); + } + if ( err != KErrNone ) + { + buf = KFreestyleEmailDownloadNotificationDefault; + } + return buf; + } + +// ---------------------------------------------------- +// CFSEmailCRHandler::SetActiveIdle +// ---------------------------------------------------- +// +void CFSEmailCRHandler::SetActiveIdle( TInt aValue ) + { + FUNC_LOG; + if ( iCentralRepository ) + { + iCentralRepository->Set( KFreestyleEmailActiveIdle, aValue ); + } + } + +// ---------------------------------------------------- +// CFSEmailCRHandler::ActiveIdle +// ---------------------------------------------------- +// +TInt CFSEmailCRHandler::ActiveIdle() + { + FUNC_LOG; + TInt buf; + + TInt err=KErrNotFound; + + if ( iCentralRepository ) + { + err = iCentralRepository->Get( KFreestyleEmailActiveIdle, buf ); + } + if ( err != KErrNone ) + { + buf = KFreestyleEmailActiveIdleDefault; + } + return buf; + } + +// ---------------------------------------------------- +// CFSEmailCRHandler::SetDownloadHTMLImages +// ---------------------------------------------------- +// +void CFSEmailCRHandler::SetDownloadHTMLImages( TInt aValue ) + { + FUNC_LOG; + if ( iCentralRepository ) + { + iCentralRepository->Set( KFreestyleEmailDownloadHTMLImages, aValue ); + } + } + +// ---------------------------------------------------- +// CFSEmailCRHandler::DownloadHTMLImages +// ---------------------------------------------------- +// +TInt CFSEmailCRHandler::DownloadHTMLImages() + { + FUNC_LOG; + TInt buf; + + TInt err=KErrNotFound; + + if ( iCentralRepository ) + { + err = iCentralRepository->Get( KFreestyleEmailDownloadHTMLImages, buf ); + } + if ( err != KErrNone ) + { + buf = KFreestyleEmailDownloadHTMLImagesDefault; + } + return buf; + } + +/* +// ---------------------------------------------------- +// CFSEmailCRHandler::AttachmentFileTypes +// ---------------------------------------------------- +// +TInt CFSEmailCRHandler::AttachmentFileTypes() + { + TInt buf; + iCentralRepository->Get( KFreestyleEmailAttachmentFileTypes, buf ); + return buf; + } + +// ---------------------------------------------------- +// CFSEmailCRHandler::SetAttachmentFileTypes +// ---------------------------------------------------- +// +void CFSEmailCRHandler::SetAttachmentFileTypes( TInt aValue ) + { + iCentralRepository->Set( KFreestyleEmailAttachmentFileTypes, aValue ); + } +*/ + +// ---------------------------------------------------- +// CFSEmailCRHandler::AttachmentFileTypesArrayL +// Array of user defined file types for attachment download +// ---------------------------------------------------- +// +/* +void CFSEmailCRHandler::AttachmentFileTypesArray( CDesCArray& aArray ) + { + TInt position = 0; + TPtrC fileType; + TBuf buffer; + iCentralRepository->Get( KFreestyleEmailAttachmentFileTypesDes, buffer ); + + while ( (position = buffer.Find( KFsCrHandlerDelimiter )) != KErrNotFound ) + { + fileType.Set( buffer.Left( position ) ); + aArray.AppendL( fileType ); + buffer.Replace( 0, position+1, KFsCrHandlerEmpty ); + } + aArray.AppendL( buffer ); + } +*/ + +// ---------------------------------------------------- +// CFSEmailCRHandler::AttachmentFileTypesDes +// String of user defined file types for attachment download +// ---------------------------------------------------- +// +/* +void CFSEmailCRHandler::AttachmentFileTypesDes( TDes16& aValue ) + { + iCentralRepository->Get( KFreestyleEmailAttachmentFileTypesDes, aValue ); + } +*/ + +// ---------------------------------------------------- +// CFSEmailCRHandler::SetAttachmentFileTypesDes +// ---------------------------------------------------- +// +/* +void CFSEmailCRHandler::SetAttachmentFileTypesDes( TDesC& aValue ) + { + iCentralRepository->Set( KFreestyleEmailAttachmentFileTypesDes, aValue ); + } +*/ + +// ---------------------------------------------------- +// CFSEmailCRHandler::EditorCCVisible +// ---------------------------------------------------- +// +TInt CFSEmailCRHandler::EditorCCVisible() + { + FUNC_LOG; + TInt buf; + + TInt err=KErrNotFound; + + if ( iCentralRepository ) + { + err = iCentralRepository->Get( KFreestyleEmailEditorCCVisible, buf ); + } + if ( err != KErrNone ) + { + buf = KFreestyleEmailEditorCCVisibleDefault; + } + return buf; + } + +// ---------------------------------------------------- +// CFSEmailCRHandler::SetEditorCCVisible +// ---------------------------------------------------- +// +void CFSEmailCRHandler::SetEditorCCVisible( TInt aValue ) + { + FUNC_LOG; + if ( iCentralRepository ) + { + iCentralRepository->Set( KFreestyleEmailEditorCCVisible, aValue ); + } + } + +// ---------------------------------------------------- +// CFSEmailCRHandler::EditorBCVisible +// ---------------------------------------------------- +// +TInt CFSEmailCRHandler::EditorBCVisible() + { + FUNC_LOG; + TInt buf; + + TInt err=KErrNotFound; + + if ( iCentralRepository ) + { + err = iCentralRepository->Get( KFreestyleEmailEditorBCVisible, buf ); + } + if ( err != KErrNone ) + { + buf = KFreestyleEmailEditorBCVisibleDefault; + } + return buf; + } + +// ---------------------------------------------------- +// CFSEmailCRHandler::SetEditorBCVisible +// ---------------------------------------------------- +// +void CFSEmailCRHandler::SetEditorBCVisible( TInt aValue ) + { + FUNC_LOG; + if ( iCentralRepository ) + { + iCentralRepository->Set( KFreestyleEmailEditorBCVisible, aValue ); + } + } + +// ---------------------------------------------------- +// CFSEmailCRHandler::SetupWizAccountType +// ---------------------------------------------------- +// +TInt CFSEmailCRHandler::SetupWizAccountType( TDes16& aValue ) + { + FUNC_LOG; + if ( iSetupWizCentRep ) + { + return iSetupWizCentRep->Get( KSetupWizardAccountType, aValue ); + } + return KErrNotFound; + } + +// ---------------------------------------------------- +// CFSEmailCRHandler::SetSetupWizAccountType +// ---------------------------------------------------- +// +/*void CFSEmailCRHandler::SetSetupWizAccountType( const TDesC16& aValue ) + { + if ( iSetupWizCentRep ) + { + iSetupWizCentRep->Set( KSetupWizardAccountType, aValue ); + } + }*/ + +// ---------------------------------------------------- +// CFSEmailCRHandler::SetupWizCentrepStartKey +// ---------------------------------------------------- +// +TInt CFSEmailCRHandler::SetupWizCentrepStartKey( TDes16& aValue ) + { + FUNC_LOG; + if ( iSetupWizCentRep ) + { + return iSetupWizCentRep->Get( KSetupWizardCentrepStartKey, aValue ); + } + return KErrNotFound; + } + +// ---------------------------------------------------- +// CFSEmailCRHandler::SetSetupWizCentrepStartKey +// ---------------------------------------------------- +// +/*void CFSEmailCRHandler::SetSetupWizCentrepStartKey( const TDesC16& aValue ) + { + if ( iSetupWizCentRep ) + { + iSetupWizCentRep->Set( KSetupWizardCentrepStartKey, aValue ); + } + }*/ + +/*TUint32*/void CFSEmailCRHandler::ClearWizardParams() + { + //TUint32 errorKey = 0; + //TInt error = iSetupWizCentRep->Delete(KSetupWizardAccountType, 0xFFFFFFFF, errorKey); + if( iSetupWizCentRep ) + { + iSetupWizCentRep->Delete( KSetupWizardAccountType ); + } + //TInt error = iSetupWizCentRep->Delete(KSetupWizardCentrepStartKey, 0xFFFFFFFF, errorKey); + if( iSetupWizCentRep ) + { + iSetupWizCentRep->Delete( KSetupWizardCentrepStartKey ); + } + //return errorkey; + } + +// end of file +