--- /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 <centralrepository.h>
+#include <e32svr.h>
+#include <aknnotewrappers.h> // 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<CFSEmailCRHandler*>( 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<KFsEmailFileTypesStringLenght> 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
+