--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/emailservices/nmclientapi/src/nmapipopimapsettingsmanager.cpp Tue Jul 06 14:04:34 2010 +0300
@@ -0,0 +1,126 @@
+/*
+* 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 "nmapiheaders.h"
+
+
+
+
+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<CImImap4Settings> imapSettings(new CImImap4Settings());
+
+ QScopedPointer<CImIAPPreferences> iapPref;
+ QT_TRAP_THROWING(iapPref.reset(CImIAPPreferences::NewLC());
+ CleanupStack::Pop(iapPref.data()));
+
+ QScopedPointer<CEmailAccounts> 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<CImPop3Settings> popSettings(new CImPop3Settings());
+
+ QScopedPointer<CImIAPPreferences> iapPref;
+ QT_TRAP_THROWING(iapPref.reset(CImIAPPreferences::NewLC());
+ CleanupStack::Pop(iapPref.data()));
+
+ QScopedPointer<CEmailAccounts> 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());
+}
+
+