diff -r 780f926bc26c -r f83bd4ae1fe3 emailservices/nmclientapi/src/nmapipopimapsettingsmanager.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/emailservices/nmclientapi/src/nmapipopimapsettingsmanager.cpp Thu Jun 24 14:32:18 2010 +0300 @@ -0,0 +1,130 @@ +/* +* Copyright (c) 2010 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 "nmapipopimapsettingsmanager.h" + +#include +#include +#include +#include +#include + + +static const int DefaultPopPort = 110; +static const int DefaultImapPort = 993; + +using namespace EmailClientApi; + +NmApiPopImapSettingsManager::NmApiPopImapSettingsManager() +{ +} + +NmApiPopImapSettingsManager::~NmApiPopImapSettingsManager() +{ +} + +bool NmApiPopImapSettingsManager::populateDefaults(const QString &mailboxType, NmApiMailboxSettingsData &data) +{ + bool ret = false; + + QT_TRY { + if (mailboxType==NmApiMailboxTypePop) { + populatePopDefs(data); + ret = true; + } + else if (mailboxType==NmApiMailboxTypeImap) { + populateImapDefs(data); + ret = true; + } + else { + ret = false; + } + } + QT_CATCH(...){ + ret = false; + } + + return ret; +} + +void NmApiPopImapSettingsManager::populateImapDefs(NmApiMailboxSettingsData &data) +{ + QScopedPointer imapSettings(new CImImap4Settings()); + + QScopedPointer iapPref; + QT_TRAP_THROWING(iapPref.reset(CImIAPPreferences::NewLC()); + CleanupStack::Pop(iapPref.data())); + + QScopedPointer mailAccounts; + QT_TRAP_THROWING(mailAccounts.reset(CEmailAccounts::NewL())); + + QT_TRAP_THROWING( mailAccounts->PopulateDefaultImapSettingsL(*imapSettings,*iapPref)); + + data.setValue(IncomingLoginName, + XQConversions::s60Desc8ToQString(imapSettings->LoginName())); + + data.setValue(IncomingPassword, + XQConversions::s60Desc8ToQString(imapSettings->Password())); + + data.setValue(IncomingMailServer, + XQConversions::s60DescToQString(imapSettings->ServerAddress())); + + if (imapSettings->Port()) { + data.setValue(IncomingPort, imapSettings->Port()); + } + else { + data.setValue(IncomingPort, DefaultImapPort); + } + + data.setValue(OutgoingSecureSockets, imapSettings->SecureSockets()); + data.setValue(OutgoingSSLWrapper, imapSettings->SSLWrapper()); +} + +void NmApiPopImapSettingsManager::populatePopDefs(NmApiMailboxSettingsData &data) +{ + QScopedPointer popSettings(new CImPop3Settings()); + + QScopedPointer iapPref; + QT_TRAP_THROWING(iapPref.reset(CImIAPPreferences::NewLC()); + CleanupStack::Pop(iapPref.data())); + + QScopedPointer mailAccounts; + QT_TRAP_THROWING(mailAccounts.reset(CEmailAccounts::NewL())); + + QT_TRAP_THROWING( mailAccounts->PopulateDefaultPopSettingsL(*popSettings,*iapPref)); + + data.setValue(IncomingLoginName, + XQConversions::s60Desc8ToQString(popSettings->LoginName())); + + data.setValue(IncomingPassword, + XQConversions::s60Desc8ToQString(popSettings->Password())); + + data.setValue(IncomingMailServer, + XQConversions::s60DescToQString(popSettings->ServerAddress())); + + if (popSettings->Port()) { + data.setValue(IncomingPort, popSettings->Port()); + } + else { + data.setValue(IncomingPort, DefaultPopPort); + } + + data.setValue(OutgoingSecureSockets, popSettings->SecureSockets()); + data.setValue(OutgoingSSLWrapper, popSettings->SSLWrapper()); +} + +