/** Function : doTestStepL Description : Checks the provisioned SNAP information for the POP account settings of a test case. @return : TVerdict - Test step result */ TVerdict CT_MsgCheckPopSNAPSetting::doTestStepL() { INFO_PRINTF1(_L("Test Step : CheckPopSNAPSetting")); if(ReadIni()) { CEmailAccounts* accounts = CEmailAccounts::NewL(); CleanupStack::PushL(accounts); CImIAPPreferences* popIapPrefs = CImIAPPreferences::NewLC(); TPopAccount popAccountId; CT_MsgUtilsCentralRepository::GetPopAccountL((TDes&)iPopAccountName,popAccountId); accounts->LoadPopIapSettingsL(popAccountId, *popIapPrefs); TBool actualSNAPDefintion = popIapPrefs->SNAPDefined(); if (actualSNAPDefintion == iExpectedSNAPDefinition) { if (actualSNAPDefintion) { TInt expectedSNAPPreference = 0; if(!GetIntFromConfig(ConfigSection(), KSNAPPreference, expectedSNAPPreference)) { ERR_PRINTF1(_L("An expected SNAP ID value is not specified")); SetTestStepResult(EFail); CleanupStack::PopAndDestroy(2,accounts); // popIapPrefs, accounts return TestStepResult(); } TInt actualSNAPPreference = popIapPrefs->SNAPPreference(); if (actualSNAPPreference != expectedSNAPPreference) { ERR_PRINTF3(_L("Actual SNAP ID [%d] does not equal Expected SNAP ID [%d]"),actualSNAPPreference,expectedSNAPPreference); SetTestStepResult(EFail); } else { INFO_PRINTF3(_L("Actual SNAP ID [%d] equals Expected SNAP ID [%d]"),actualSNAPPreference,expectedSNAPPreference); } } } else { ERR_PRINTF3(_L("Actual SNAP Defintion [%d] does not equal Expected SNAP Defintion [%d]"),actualSNAPDefintion,iExpectedSNAPDefinition); SetTestStepResult(EFail); } CleanupStack::PopAndDestroy(2,accounts); // popIapPrefs, accounts } return TestStepResult(); }
/** CompareIapPrefs() Compares the IAP preference objects. @param aPrefs1 CImIAPPreferences object. @param aPrefs2 CImIAPPreferences object. @return If the objects are same returns ETrue */ EXPORT_C TBool CT_MsgUtilsReadEmailSettingsFromConfigFile::CompareIapPrefs(CImIAPPreferences& aPrefs1, CImIAPPreferences& aPrefs2) { // Compare version if (aPrefs1.Version() != aPrefs2.Version()) { return EFalse; } // Compare number of IAPs stored TInt numIAPs1 = aPrefs1.NumberOfIAPs(); if (numIAPs1 != aPrefs2.NumberOfIAPs()) { return EFalse; } // Compare individual IAPs for (TInt i = 0; i < numIAPs1; i++) { if (aPrefs1.IAPPreference(i).iIAP != aPrefs2.IAPPreference(i).iIAP || aPrefs1.IAPPreference(i).iDialogPref != aPrefs2.IAPPreference(i).iDialogPref) { return EFalse; } } return ETrue; }
/** ReadImapIAPAndAddField() Modifies the CImIAPPreferences object. @param aScriptFileParser CT_MsgUtilsConfigFileParserUtility object. @param aFieldName @param aImapIapPref CImIAPPreferences object. */ EXPORT_C void CT_MsgUtilsReadEmailSettingsFromConfigFile::ReadImapIAPAndAddFieldL( CT_MsgUtilsConfigFileParserUtility* aScriptFileParser, const TDesC& aFieldName, CImIAPPreferences& aImapIapPref) { TPtrC stringPtr; TInt intTmp; TImIAPChoice iapChoice; iapChoice.iIAP = 0; iapChoice.iDialogPref = ECommDbDialogPrefUnknown; TInt index = 0; TBool modified = EFalse; HBufC* buf = HBufC::NewLC(100); buf->Des() = aFieldName; buf->Des().Append(KImapIAPSuffix); if(aScriptFileParser->GetFieldAsInteger(buf->Des(), intTmp) == KErrNone) { iapChoice.iIAP = intTmp; modified = ETrue; } buf->Des() = aFieldName; buf->Des().Append(KImapCommDbDialogPref); if(aScriptFileParser->GetFieldAsString(buf->Des(), stringPtr) == KErrNone) { TCommDbDialogPref setCommDbDialogPref = CT_MsgUtilsEnumConverter::ConvertDesToTCommDbDialogPref(stringPtr); iapChoice.iDialogPref = setCommDbDialogPref; modified = ETrue; } buf->Des() = aFieldName; buf->Des().Append(KImapIAPIndex); if(aScriptFileParser->GetFieldAsInteger(buf->Des(), intTmp) == KErrNone) { index = intTmp; modified = ETrue; } if (modified) { aImapIapPref.AddIAPL(iapChoice ,index ); } CleanupStack::PopAndDestroy(buf); }
/** Function : doTestStepL Description : Removes the provisioned SNAP information from the SMTP account settings of a test case. @return : TVerdict - Test step result */ TVerdict CT_MsgRemoveSmtpSNAPSetting::doTestStepL() { INFO_PRINTF1(_L("Test Step : RemoveSmtpSNAPSetting")); if(ReadIni()) { CEmailAccounts* accounts = CEmailAccounts::NewL(); CleanupStack::PushL(accounts); CImIAPPreferences* smtpIapPrefs = CImIAPPreferences::NewLC(); TSmtpAccount smtpAccountId; CT_MsgUtilsCentralRepository::GetSmtpAccountL((TDes&)iSmtpAccountName, smtpAccountId); accounts->LoadSmtpIapSettingsL(smtpAccountId, *smtpIapPrefs); smtpIapPrefs->RemoveSNAP(); accounts->SaveSmtpIapSettingsL(smtpAccountId, *smtpIapPrefs); CleanupStack::PopAndDestroy(2,accounts); // smtpIapPrefs, accounts } return TestStepResult(); }
/** ReadSmtpSettingsFromConfigurationFileL() Modifies the POP related default setting and IAP objects. @param aSettingsFile Configuration/setting file path. @param aSmtpSet @param aSmtpIapPref */ EXPORT_C void CT_MsgUtilsReadEmailSettingsFromConfigFile::ReadSmtpSettingsFromConfigurationFileL(TDesC& aSettingsFile, CImSmtpSettings& aSmtpSet, CImIAPPreferences& aSmtpIapPref,const TDesC&/* aPtrEmailAdd*/) { // Parses the setting file CT_MsgUtilsConfigFileParserUtility* scriptFileParser = CT_MsgUtilsConfigFileParserUtility::NewL(aSettingsFile); CleanupStack::PushL(scriptFileParser); TPtrC8 string8Ptr; TPtrC stringPtr = KNone(); TInt intValue; if(scriptFileParser->GetFieldAsString(KCfgSmtpServerAddress, stringPtr) == KErrNone) { aSmtpSet.SetServerAddressL(stringPtr); } CT_MsgUtilsConfigFileMachineName* machineNameFile = CT_MsgUtilsConfigFileMachineName::NewLC(stringPtr); TPtrC emailAddr(machineNameFile->MachineNameEmail()); TPtrC8 machineName(machineNameFile->MachineName()); if(scriptFileParser->GetFieldAsString(KCfgSmtpEmailAddress, stringPtr) == KErrNone) { aSmtpSet.SetEmailAddressL(stringPtr); } else { aSmtpSet.SetEmailAddressL(emailAddr); } if(scriptFileParser->GetFieldAsString(KCfgSmtpBodyEncoding, stringPtr) == KErrNone) { TMsgOutboxBodyEncoding setBodyEncoding = CT_MsgUtilsEnumConverter::ConvertDesToTMsgOutboxBodyEncoding(stringPtr); aSmtpSet.SetBodyEncoding(setBodyEncoding); } if(scriptFileParser->GetFieldAsString(KCfgSmtpReceiptAddress, stringPtr) == KErrNone) { aSmtpSet.SetReceiptAddressL(stringPtr); } else { aSmtpSet.SetReceiptAddressL(emailAddr); } if(scriptFileParser->GetFieldAsInteger(KCfgSmtpRequestReceipts, intValue) == KErrNone) { aSmtpSet.SetRequestReceipts((TBool) intValue); } if(scriptFileParser->GetFieldAsString(KCfgSmtpSendMessageOption, stringPtr) == KErrNone) { TImSMTPSendMessageOption setSendMessageOption = CT_MsgUtilsEnumConverter::ConvertDesToTImSMTPSendMessageOption(stringPtr); aSmtpSet.SetSendMessageOption(setSendMessageOption); } if(scriptFileParser->GetFieldAsInteger(KCfgSmtpSetPort, intValue) == KErrNone) { aSmtpSet.SetPort(intValue); } if(scriptFileParser->GetFieldAsString(KCfgSmtpEmailAlias, stringPtr) == KErrNone) { aSmtpSet.SetEmailAliasL(stringPtr); } if(scriptFileParser->GetFieldAsInteger(KCfgSmtpDefaultMsgCharSet, intValue) == KErrNone) { TUid tmp = { intValue }; aSmtpSet.SetDefaultMsgCharSet(tmp); } if(scriptFileParser->GetFieldAsString(KCfgSmtpSetReplyToAddress, stringPtr) == KErrNone) { aSmtpSet.SetReplyToAddressL(stringPtr); } else { aSmtpSet.SetReplyToAddressL(emailAddr); } if(scriptFileParser->GetFieldAsInteger(KCfgSmtpSetAddVCardToEmail, intValue) == KErrNone) { aSmtpSet.SetAddVCardToEmail((TBool) intValue); } if(scriptFileParser->GetFieldAsInteger(KCfgSmtpSetAddSignatureToEmail, intValue) == KErrNone) { aSmtpSet.SetAddSignatureToEmail((TBool) intValue); } if(scriptFileParser->GetFieldAsString(KCfgSmtpSetSendCopyToSelf, stringPtr) == KErrNone) { TImSMTPSendCopyToSelf setSMTPSendCopyToSelf = CT_MsgUtilsEnumConverter::ConvertDesToTImSMTPSendCopyToSelf(stringPtr); aSmtpSet.SetSendCopyToSelf(setSMTPSendCopyToSelf); } if(scriptFileParser->GetFieldAsString8(KCfgSmtpSetLoginName, string8Ptr) == KErrNone) { aSmtpSet.SetLoginNameL(string8Ptr); } else { aSmtpSet.SetLoginNameL(machineName); } if(scriptFileParser->GetFieldAsString8(KCfgSmtpSetPassword, string8Ptr) == KErrNone) { aSmtpSet.SetPasswordL(string8Ptr); } else { aSmtpSet.SetPasswordL(machineName); } if(scriptFileParser->GetFieldAsInteger(KCfgSmtpSetSMTPAuth, intValue) == KErrNone) { aSmtpSet.SetSMTPAuth((TBool) intValue); } if(scriptFileParser->GetFieldAsInteger(KCfgSmtpSetInboxLoginDetails, intValue) == KErrNone) { aSmtpSet.SetInboxLoginDetails((TBool) intValue); } if(scriptFileParser->GetFieldAsInteger(KCfgSmtpSecureSockets, intValue) == KErrNone) { aSmtpSet.SetSecureSockets((TBool) intValue); } if(scriptFileParser->GetFieldAsInteger(KCfgSmtpSSLWrapper, intValue) == KErrNone) { aSmtpSet.SetSSLWrapper((TBool) intValue); } if(scriptFileParser->GetFieldAsString(KCfgSmtpIapList, stringPtr) == KErrNone) { ReadSmtpIAPAndAddL(scriptFileParser, KCfgSmtpIapList, aSmtpIapPref); } if(scriptFileParser->GetFieldAsInteger(KCfgSmtpSNAPId, intValue) == KErrNone) { aSmtpIapPref.SetSNAPL(intValue); } if(scriptFileParser->GetFieldAsInteger(KCfgSmtpBearerMobility, intValue) == KErrNone) { aSmtpSet.SetBearerMobility((TBool) intValue); } CleanupStack::PopAndDestroy(2,scriptFileParser); }
/** ReadPopSettingsFromConfigurationFileL() Modifies the POP related default setting and IAP objects. @param aSettingsFile Configuration/setting file path. @param aPopSet CImPop3Settings object. @param aPopIapPref */ EXPORT_C void CT_MsgUtilsReadEmailSettingsFromConfigFile::ReadPopSettingsFromConfigurationFileL(TDesC& aSettingsFile, CImPop3Settings& aPopSet, CImIAPPreferences& aPopIapPref, const TDesC& /*aPtrEmailAdd*/) { // Parses the setting file CT_MsgUtilsConfigFileParserUtility* scriptFileParser = CT_MsgUtilsConfigFileParserUtility::NewL(aSettingsFile); CleanupStack::PushL(scriptFileParser); TPtrC8 string8Ptr; TPtrC stringPtr = KNone(); TInt intValue; if(scriptFileParser->GetFieldAsString(KCfgPopServerAddress, stringPtr) == KErrNone) { aPopSet.SetServerAddressL(stringPtr); } CT_MsgUtilsConfigFileMachineName* machineNameFile = CT_MsgUtilsConfigFileMachineName::NewLC(stringPtr); TPtrC8 machineName(machineNameFile->MachineName()); if(scriptFileParser->GetFieldAsString8(KCfgPopLoginName, string8Ptr) == KErrNone) { aPopSet.SetLoginNameL(string8Ptr); } else { aPopSet.SetLoginNameL(machineName); } if(scriptFileParser->GetFieldAsString8(KCfgPopPassword, string8Ptr) == KErrNone) { aPopSet.SetPasswordL(string8Ptr); } else { aPopSet.SetPasswordL(machineName); } if(scriptFileParser->GetFieldAsInteger(KCfgPopMaxEmailSize, intValue) == KErrNone) { aPopSet.SetMaxEmailSize(intValue); } if(scriptFileParser->GetFieldAsInteger(KCfgPopPort, intValue) == KErrNone) { aPopSet.SetPort(intValue); } if(scriptFileParser->GetFieldAsInteger(KCfgPopInboxSynchronisationLimit, intValue) == KErrNone) { aPopSet.SetInboxSynchronisationLimit(intValue); } if(scriptFileParser->GetFieldAsInteger(KCfgPopSecureSockets, intValue) == KErrNone) { aPopSet.SetSecureSockets((TBool)intValue); } if(scriptFileParser->GetFieldAsInteger(KCfgPopSSLWrapper, intValue) == KErrNone) { aPopSet.SetSSLWrapper((TBool)intValue); } if(scriptFileParser->GetFieldAsString(KCfgPopGetMailOptions, stringPtr) == KErrNone) { TPop3GetMailOptions options = CT_MsgUtilsEnumConverter::ConvertDesToTPop3GetMailOptions(stringPtr); aPopSet.SetGetMailOptions(options); } if(scriptFileParser->GetFieldAsInteger(KCfgPopPopulationLimit, intValue) == KErrNone) { aPopSet.SetPopulationLimitL(intValue); } if(scriptFileParser->GetFieldAsInteger(KCfgPopAutoSendOnConnect, intValue) == KErrNone) { aPopSet.SetAutoSendOnConnect((TBool) intValue); } if(scriptFileParser->GetFieldAsInteger(KCfgPopDeleteEmailsWhenDisconnecting, intValue) == KErrNone) { aPopSet.SetDeleteEmailsWhenDisconnecting((TBool) intValue); } if(scriptFileParser->GetFieldAsInteger(KCfgPopAcknowledgeReceipts, intValue) == KErrNone) { aPopSet.SetAcknowledgeReceipts((TBool) intValue); } if(scriptFileParser->GetFieldAsInteger(KCfgPopDisconnectedUserMode, intValue) == KErrNone) { aPopSet.SetDisconnectedUserMode((TBool) intValue); } if(scriptFileParser->GetFieldAsInteger(KCfgPopAPOPEncryption, intValue) == KErrNone) { aPopSet.SetApop((TBool) intValue); } if(scriptFileParser->GetFieldAsString(KCfgPopIapList, stringPtr) == KErrNone) { ReadPopIAPAndAddL(scriptFileParser, (TDesC&) KCfgPopIapList, aPopIapPref); } if(scriptFileParser->GetFieldAsInteger(KCfgPopSNAPId, intValue) == KErrNone) { aPopIapPref.SetSNAPL(intValue); } if(scriptFileParser->GetFieldAsInteger(KCfgPopBearerMobility, intValue) == KErrNone) { aPopSet.SetBearerMobility((TBool) intValue); } CleanupStack::PopAndDestroy(2,scriptFileParser); }
/** ReadImapSettingsFromConfigurationFileL() Modifies the IMAP related default setting and IAP objects. @param aSettingsFile Configuration/setting file path. @param aImapSet CImImap4Settings object. @param aImapIapPref CImIAPPreferences object. */ EXPORT_C void CT_MsgUtilsReadEmailSettingsFromConfigFile::ReadImapSettingsFromConfigurationFileL( TDesC& aSettingsFile, CImImap4Settings& aImapSet, CImIAPPreferences& aImapIapPref,const TDesC& /* aPtrEmailAdd */) { // Parses the setting file CT_MsgUtilsConfigFileParserUtility* scriptFileParser = CT_MsgUtilsConfigFileParserUtility::NewL(aSettingsFile); CleanupStack::PushL(scriptFileParser); TPtrC8 string8Ptr; TPtrC stringPtr = KNone(); TInt intTmp; if(scriptFileParser->GetFieldAsString(KCfgImapServerAddress, stringPtr) == KErrNone) { aImapSet.SetServerAddressL(stringPtr); } CT_MsgUtilsConfigFileMachineName* machineNameFile = CT_MsgUtilsConfigFileMachineName::NewLC(stringPtr); TPtrC8 machineName(machineNameFile->MachineName()); if(scriptFileParser->GetFieldAsString8(KCfgImapLoginName, string8Ptr) == KErrNone) { aImapSet.SetLoginNameL(string8Ptr); } else { aImapSet.SetLoginNameL(machineName); } if(scriptFileParser->GetFieldAsString8(KCfgImapPassword, string8Ptr) == KErrNone) { aImapSet.SetPasswordL(string8Ptr); } else { aImapSet.SetPasswordL(machineName); } if(scriptFileParser->GetFieldAsInteger(KCfgImapPort, intTmp) == KErrNone) { aImapSet.SetPort(intTmp); } if(scriptFileParser->GetFieldAsInteger(KCfgImapSecureSockets, intTmp) == KErrNone) { aImapSet.SetSecureSockets( (TBool) intTmp ); } if(scriptFileParser->GetFieldAsInteger(KCfgImapSSLWrapper, intTmp ) == KErrNone) { aImapSet.SetSSLWrapper( (TBool) intTmp ); } if(scriptFileParser->GetFieldAsString8(KCfgImapFolderPath, string8Ptr) == KErrNone) { aImapSet.SetFolderPathL(string8Ptr); } if(scriptFileParser->GetFieldAsString8(KCfgImapPathSeperator, string8Ptr) == KErrNone) { if ( string8Ptr.Length() == 1 ) { aImapSet.SetPathSeparator( string8Ptr[0] ); } } if(scriptFileParser->GetFieldAsInteger(KCfgImapMaxEmailSize, intTmp) == KErrNone) { aImapSet.SetMaxEmailSize(intTmp); } if(scriptFileParser->GetFieldAsString(KCfgImapGetMailOptions, stringPtr) == KErrNone) { TImap4GetMailOptions setGetMailOptions = CT_MsgUtilsEnumConverter::ConvertDesToTImap4GetMailOptions(stringPtr); aImapSet.SetGetMailOptions(setGetMailOptions); } if(scriptFileParser->GetFieldAsInteger(KCfgImapInboxSynchronisationLimit, intTmp) == KErrNone) { aImapSet.SetInboxSynchronisationLimit(intTmp); } if(scriptFileParser->GetFieldAsInteger(KCfgImapMailboxSynchronisationLimit, intTmp) == KErrNone) { aImapSet.SetMailboxSynchronisationLimit(intTmp); } if(scriptFileParser->GetFieldAsInteger(KCfgImapAutoSendOnConnect, intTmp) == KErrNone) { aImapSet.SetAutoSendOnConnect((TBool) intTmp); } if(scriptFileParser->GetFieldAsInteger(KCfgImapDeleteEmailsWhenDisconnecting, intTmp) == KErrNone) { aImapSet.SetDeleteEmailsWhenDisconnecting((TBool) intTmp); } if(scriptFileParser->GetFieldAsInteger(KCfgImapAcknowledgeReceipts, intTmp) == KErrNone) { aImapSet.SetAcknowledgeReceipts((TBool) intTmp); } if(scriptFileParser->GetFieldAsInteger(KCfgImapDisconnectedUserMode, intTmp) == KErrNone) { aImapSet.SetDisconnectedUserMode((TBool) intTmp); } if(scriptFileParser->GetFieldAsString(KCfgImapSynchronise, stringPtr) == KErrNone) { TFolderSyncType setFolderSyncType = CT_MsgUtilsEnumConverter::ConvertDesToTFolderSyncType(stringPtr); aImapSet.SetSynchronise(setFolderSyncType); } if(scriptFileParser->GetFieldAsString(KCfgImapSubscribe, stringPtr) == KErrNone) { TFolderSubscribeType setFolderSubscribeType = CT_MsgUtilsEnumConverter::ConvertDesToTFolderSubscribeType(stringPtr); aImapSet.SetSubscribe(setFolderSubscribeType); } if(scriptFileParser->GetFieldAsInteger(KCfgImapUpdatingSeenFlags, intTmp) == KErrNone) { aImapSet.SetUpdatingSeenFlags((TBool) intTmp); } if(scriptFileParser->GetFieldAsInteger(KCfgImapSyncRate, intTmp) == KErrNone) { aImapSet.SetSyncRateL(intTmp); } if(scriptFileParser->GetFieldAsInteger(KCfgImapFetchSize, intTmp) == KErrNone) { aImapSet.SetFetchSizeL(intTmp); } if(scriptFileParser->GetFieldAsInteger(KCfgImapIdle, intTmp) == KErrNone) { aImapSet.SetImapIdle( (TBool) intTmp ); } if(scriptFileParser->GetFieldAsInteger(KCfgImapIdleTimeout, intTmp) == KErrNone) { aImapSet.SetImapIdleTimeoutL(intTmp); } if(scriptFileParser->GetFieldAsString(KCfgImapPartialMailOptions, stringPtr) == KErrNone) { TImImap4PartialMailOptions setImap4PartialMailOptions = CT_MsgUtilsEnumConverter::ConvertDesToTImImap4PartialMailOptions(stringPtr); aImapSet.SetPartialMailOptionsL(setImap4PartialMailOptions); } if(scriptFileParser->GetFieldAsInteger(KCfgImapBodyTextSizeLimit, intTmp) == KErrNone) { aImapSet.SetBodyTextSizeLimitL(intTmp); } if(scriptFileParser->GetFieldAsInteger(KCfgImapAttachmentSizeLimit, intTmp) == KErrNone) { aImapSet.SetAttachmentSizeLimitL(intTmp); } if(scriptFileParser->GetFieldAsString(KCfgImapIapList, stringPtr) == KErrNone) { ReadImapIAPAndAddL(scriptFileParser, (TDesC&)KCfgImapIapList, aImapIapPref); } if(scriptFileParser->GetFieldAsInteger(KUseExpunge, intTmp) == KErrNone) { aImapSet.SetUseExpunge( (TBool) intTmp); } if(scriptFileParser->GetFieldAsInteger(KCfgImapSNAPId, intTmp) == KErrNone) { aImapIapPref.SetSNAPL(intTmp); } if(scriptFileParser->GetFieldAsInteger(KCfgImapBearerMobility, intTmp) == KErrNone) { aImapSet.SetBearerMobility((TBool) intTmp); } if(scriptFileParser->GetFieldAsInteger(KCfgImapDownloadRules, intTmp) == KErrNone) { aImapSet.SetUseSyncDownloadRules((TBool) intTmp); } CleanupStack::PopAndDestroy(2,scriptFileParser); }
void CPopsTestHarness::SetUpPopServiceL() { // Handle command line arguments CCommandLineArguments* cmdLineArg=CCommandLineArguments::NewLC(); TInt count = cmdLineArg->Count(); TBool isCmdLine=FALSE; if (count>2) // Command line arguments? { if ((!(cmdLineArg->Arg(EArgTestParams).Compare(KTestParams))) && count==EArgEnd) isCmdLine=TRUE; } // Create the POP3 service and set the settings for this test. iPop3Service = iTestUtils.CreatePopServiceL(); CImPop3Settings* settings = new(ELeave) CImPop3Settings(); CleanupStack::PushL(settings); settings->Reset(); TBuf<100> buf; if (isCmdLine) { TLex lex(cmdLineArg->Arg(EArgServerAddress)); buf=lex.NextToken(); test.Printf(_L("Server address: %S\n"),&buf); } else { readConsoleLineBuf(_L("Server address: "),buf); } settings->SetServerAddressL(buf); buf.Zero(); if (isCmdLine) { TLex lex(cmdLineArg->Arg(EArgLogin)); buf=lex.NextToken(); test.Printf(_L("Login: %S\n"),&buf); } else { readConsoleLineBuf(_L("login: "******"Password: %S\n"),&buf); } else { readConsoleLineBuf(_L("password: "******"Use APOP: %c\n"),choice); if (choice=='y' || choice=='Y') settings->SetApop(ETrue); else settings->SetApop(EFalse); } else { test.Printf(_L("\n Use APOP? Enter (Y/N): ")); settings->SetApop(GetTrueOrFalse()); } if (isCmdLine) { TLex lex(cmdLineArg->Arg(EArgUseSecureSockets)); choice=lex.Get(); test.Printf(_L("Use secure sockets: %c\n"),choice); if (choice=='y' || choice=='Y') settings->SetSecureSockets(ETrue); else settings->SetSecureSockets(EFalse); } else { test.Printf(_L("\n Use secure sockets? Enter (Y/N): ")); settings->SetSecureSockets(GetTrueOrFalse()); } // Add IAP's to iIAPPreferences TImIAPChoice iap; CImIAPPreferences* prefs = CImIAPPreferences::NewLC(); TInt iapId = 0; CMDBSession* iDBSession = CMDBSession::NewL(CMDBSession::LatestVersion()); CCDConnectionPrefsRecord *connPrefRecord = static_cast<CCDConnectionPrefsRecord*>(CCDRecordBase::RecordFactoryL(KCDTIdConnectionPrefsRecord)); CleanupStack::PushL(connPrefRecord); connPrefRecord->iDirection = ECommDbConnectionDirectionOutgoing; if(!connPrefRecord->FindL(*iDBSession)) { User::Leave(KErrNotFound); } iapId = iap.iIAP = connPrefRecord->iDefaultIAP; CleanupStack::PopAndDestroy(connPrefRecord); delete iDBSession; iDBSession= NULL; iap.iDialogPref = ECommDbDialogPrefDoNotPrompt; prefs->AddIAPL(iap); iap.iIAP = iapId; iap.iDialogPref = ECommDbDialogPrefPrompt; prefs->AddIAPL(iap, 1); CEmailAccounts* accounts = CEmailAccounts::NewLC(); TPopAccount popAccount; accounts->GetPopAccountL(iPop3Service, popAccount); accounts->SavePopSettingsL(popAccount, *settings); accounts->SavePopIapSettingsL(popAccount, *prefs); CleanupStack::PopAndDestroy(4, cmdLineArg); // (accounts,) prefs, settings, (store,) cmdLineArg test.Printf(_L("\nPerforming Tests\n")); }