diff -r 000000000000 -r 72b543305e3a email/pop3andsmtpmtm/clientmtms/src/cimsmtpmobilitysettings.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/email/pop3andsmtpmtm/clientmtms/src/cimsmtpmobilitysettings.cpp Thu Dec 17 08:44:11 2009 +0200 @@ -0,0 +1,367 @@ +// Copyright (c) 2007-2009 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 "cimsmtpmobilitysettings.h" +#include + +/** +Factory constructor +*/ +EXPORT_C CImSmtpMobilitySettings* CImSmtpMobilitySettings::NewL() + { + CImSmtpMobilitySettings* self = NewLC(); + CleanupStack::Pop(); + return self; + } + +/** +Factory constructor +*/ +EXPORT_C CImSmtpMobilitySettings* CImSmtpMobilitySettings::NewLC() + { + CImSmtpMobilitySettings* self = new(ELeave) CImSmtpMobilitySettings(); + CleanupStack::PushL(self); + self->ConstructL(); + return self; + } + +/** +Constructor +*/ +CImSmtpMobilitySettings::CImSmtpMobilitySettings() + { + } + +/** +Second phase constructor +*/ +void CImSmtpMobilitySettings::ConstructL() + { + iSmtpSettings = new(ELeave) CImSmtpSettings(); + } + +/** +Destructor +*/ +CImSmtpMobilitySettings::~CImSmtpMobilitySettings() + { + delete iSmtpSettings; + } + +/** +Creates copy of class instance +*/ +EXPORT_C CImSmtpMobilitySettings* CImSmtpMobilitySettings::CopyL() + { + CImSmtpMobilitySettings* dest = CopyLC(); + CleanupStack::Pop(); + return dest; + } + +/** +Creates copy of class instance +*/ +EXPORT_C CImSmtpMobilitySettings* CImSmtpMobilitySettings::CopyLC() + { + CImSmtpMobilitySettings* dest = NewLC(); + + dest->SetServerAddressL(ServerAddress()); + dest->SetPort(Port()); + dest->SetSecureSockets(SecureSockets()); + dest->SetSSLWrapper(SSLWrapper()); + dest->SetEmailAliasL(EmailAlias()); + dest->SetEmailAddressL(EmailAddress()); + dest->SetDefaultMsgCharSet(DefaultMsgCharSet()); + dest->SetLoginNameL(LoginName()); + dest->SetPasswordL(Password()); + dest->SetSMTPAuth(SMTPAuth()); + dest->SetTlsSslDomainL(TlsSslDomain()); + + return dest; + } + +/** +Reset settings to default values +*/ +EXPORT_C void CImSmtpMobilitySettings::Reset() + { + iSmtpSettings->Reset(); + } + +/** +Sets the configured IP address or host name of the outbound SMTP email server + +@param aServerAddress Outbound email server address to set +*/ +EXPORT_C void CImSmtpMobilitySettings::SetServerAddressL(const TDesC& aServerAddress) + { + iSmtpSettings->SetServerAddressL(aServerAddress); + } + +/** +Gets the configured IP address or host name of the outbound SMTP email server + +@return Outbound SMTP email server address +*/ +EXPORT_C const TPtrC CImSmtpMobilitySettings::ServerAddress() const + { + return iSmtpSettings->ServerAddress(); + } + +/** +Sets the port number of the TCP connection to the outbound SMTP email server + +Defaults to port 25 + +@param aPortNumber Port number +*/ +EXPORT_C void CImSmtpMobilitySettings::SetPort(const TUint aPortNumber) + { + iSmtpSettings->SetPort(aPortNumber); + } + +/** +Gets the port number to use for the TCP connection to the outbound SMTP email +server + +@return Port number +*/ +EXPORT_C TUint CImSmtpMobilitySettings::Port() const + { + return iSmtpSettings->Port(); + } + +/** +Sets whether a secure TLS connection will be negotiated over a non-secure +socket when a connection to the outbound SMTP email server is being +established. + +Refer to RFC 3207 - "SMTP Service Extension for Secure SMTP over Transport +Layer Security" for information on how a secure socket is established when +sending an email. + +Not all SMTP servers support this protocol + +@param aFlag ETrue if a secure socket session will be negotiated after + establishing a non-secure TCP connection with the SMTP server. +*/ +EXPORT_C void CImSmtpMobilitySettings::SetSecureSockets(TBool aFlag) + { + iSmtpSettings->SetSecureSockets(aFlag); + } + +/** +Gets whether a secure TLS connection will be negotiated over a non-secure +TCP socket connection when a connection to the outbound SMTP email server +is being established. + +Refer to RFC 3207 - "SMTP Service Extension for Secure SMTP over Transport +Layer Security" for information on how a secure socket is established when +sending an email. + +@return ETrue if a secure socket session will be negotiated after + establishing a non-secure TCP connection with the SMTP server. +*/ +EXPORT_C TBool CImSmtpMobilitySettings::SecureSockets() const + { + return iSmtpSettings->SecureSockets(); + } + +/** +Sets whether a secure TLS connection will be established directly over a +TLS/SSL socket when connecting to the outbound SMTP email server + +The port number upon which the connection is attempted is configured by +calling SetPort(). +*/ +EXPORT_C void CImSmtpMobilitySettings::SetSSLWrapper(TBool aFlag) + { + iSmtpSettings->SetSSLWrapper(aFlag); + } + +/** +Gets whether a secure TLS connection will be established directly over a +TLS/SSL socket when connecting to the outbound SMTP email server +*/ +EXPORT_C TBool CImSmtpMobilitySettings::SSLWrapper() const + { + return iSmtpSettings->SSLWrapper(); + } + +/** +Sets the email alias (display name) that will be sent with outbound email. + +@param aEmailAlias Email alias +*/ +EXPORT_C void CImSmtpMobilitySettings::SetEmailAliasL(const TDesC& aEmailAlias) + { + iSmtpSettings->SetEmailAliasL(aEmailAlias); + } + +/** +Gets the email alias (display name) that will be sent with outbound email. + +@return Email alias +*/ +EXPORT_C const TPtrC CImSmtpMobilitySettings::EmailAlias() const + { + return iSmtpSettings->EmailAlias(); + } + +/** +Sets the SMTP email address of the user + +@param aEmailAddress SMTP email address of the user. +*/ +EXPORT_C void CImSmtpMobilitySettings::SetEmailAddressL(const TDesC& aEmailAddress) + { + iSmtpSettings->SetEmailAddressL(aEmailAddress); + } + +/** +Gets the SMTP email address of the user + +@return SMTP email address of the user. +*/ +EXPORT_C const TPtrC CImSmtpMobilitySettings::EmailAddress() const + { + return iSmtpSettings->EmailAddress(); + } + +/** +Sets which character set is used to send text in MIME email messages. + +The default character set is ISO-8859-1 (Latin 1). The UIDs used to identify +all character sets are defined in the Character Conversion API. + +@param aDefaultMsgCharSet Character set identifier +*/ +EXPORT_C void CImSmtpMobilitySettings::SetDefaultMsgCharSet(TUid aDefaultMsgCharSet) + { + iSmtpSettings->SetDefaultMsgCharSet(aDefaultMsgCharSet); + } + +/** +Gets which character set is used to send text in MIME email messages. + +@return Character set identifier +*/ +EXPORT_C const TUid CImSmtpMobilitySettings::DefaultMsgCharSet() const + { + return iSmtpSettings->DefaultMsgCharSet(); + } + +/** +Sets the login user name to use for SMTP authentication + +@param aLoginName Login user name +*/ +EXPORT_C void CImSmtpMobilitySettings::SetLoginNameL(const TDesC8& aLoginName) + { + iSmtpSettings->SetLoginNameL(aLoginName); + } + +/** +Gets the login user name used for SMTP authentication + +@return Login user name +*/ +EXPORT_C const TPtrC8 CImSmtpMobilitySettings::LoginName() const + { + return iSmtpSettings->LoginName(); + } + +/** +Sets the password to use for SMTP authentication + +@param aPassword Password +*/ +EXPORT_C void CImSmtpMobilitySettings::SetPasswordL(const TDesC8& aPassword) + { + iSmtpSettings->SetPasswordL(aPassword); + } + +/** +Gets the password used for SMTP authentication + +@return Password +*/ +EXPORT_C const TPtrC8 CImSmtpMobilitySettings::Password() const + { + return iSmtpSettings->Password(); + } + +/** +Sets whether SMTP authentication is used when sending emails. + +See RFC 2554 "SMTP Service Extension for Authentication" for more details. + +@param aFlag ETrue to enable SMTP authentication, EFalse to disable it. +*/ +EXPORT_C void CImSmtpMobilitySettings::SetSMTPAuth(TBool aFlag) + { + iSmtpSettings->SetSMTPAuth(aFlag); + } + +/** +Gets whether SMTP authentication is used when sending emails. + +@return ETrue if SMTP authentication is enabled, EFalse if disabled +*/ +EXPORT_C TBool CImSmtpMobilitySettings::SMTPAuth() const + { + return iSmtpSettings->SMTPAuth(); + } + +/** +Sets the domain name to use during TLS/SSL certificate validation. + +@param aDomainName Domain name +*/ +EXPORT_C void CImSmtpMobilitySettings::SetTlsSslDomainL(const TDesC8& aDomainName) + { + iSmtpSettings->SetTlsSslDomainL(aDomainName); + } + +/** +Gets the domain name to use during TLS/SSL certificate validation. + +@return Domain name +*/ +EXPORT_C TPtrC8 CImSmtpMobilitySettings::TlsSslDomain() const + { + return iSmtpSettings->TlsSslDomain(); + } + +/** +Sets the SMTP settings to a new value + +@param aSettings New SMTP settings +*/ +void CImSmtpMobilitySettings::SetSmtpSettings(CImSmtpSettings* aSettings) + { + delete iSmtpSettings; + iSmtpSettings = aSettings; + } + +/** +Gets the SMTP settings + +@return SMTP settings +*/ +CImSmtpSettings& CImSmtpMobilitySettings::SmtpSettings() const + { + return *iSmtpSettings; + }