39 \param account CEmailAccounts created by the settings manager factory. Takes ownership. |
39 \param account CEmailAccounts created by the settings manager factory. Takes ownership. |
40 \param imapAccount TImapAccount of the mailbox. |
40 \param imapAccount TImapAccount of the mailbox. |
41 */ |
41 */ |
42 NmIpsPop3SettingsManager::NmIpsPop3SettingsManager(const NmId &mailboxId, |
42 NmIpsPop3SettingsManager::NmIpsPop3SettingsManager(const NmId &mailboxId, |
43 CEmailAccounts *account, TPopAccount popAccount) |
43 CEmailAccounts *account, TPopAccount popAccount) |
44 : NmIpsSettingsManagerBase(mailboxId, account), |
44 : NmIpsSettingsManagerBase(mailboxId, account, IpsServices::EMailPop), |
45 mPop3Account(popAccount) |
45 mPop3Account(popAccount) |
46 { |
46 { |
47 QT_TRAP_THROWING(mPop3Settings = new(ELeave) CImPop3Settings()); |
47 QT_TRAP_THROWING(mPop3Settings = new(ELeave) CImPop3Settings()); |
48 |
48 |
49 TRAP_IGNORE(mAccount->LoadPopSettingsL(mPop3Account, *mPop3Settings)); |
49 TRAP_IGNORE(mAccount->LoadPopSettingsL(mPop3Account, *mPop3Settings)); |
65 \param QVariant SettingValue of the found setting value. |
65 \param QVariant SettingValue of the found setting value. |
66 \return <true> when the setting item was found otherwise <false>. |
66 \return <true> when the setting item was found otherwise <false>. |
67 */ |
67 */ |
68 bool NmIpsPop3SettingsManager::readSetting(IpsServices::SettingItem settingItem, QVariant &value) |
68 bool NmIpsPop3SettingsManager::readSetting(IpsServices::SettingItem settingItem, QVariant &value) |
69 { |
69 { |
70 bool found(true); |
70 bool found(false); |
71 switch (settingItem) { |
71 switch (settingItem) { |
72 case IpsServices::LoginName: |
72 case IpsServices::IncomingLoginName: |
73 value = XQConversions::s60Desc8ToQString(mPop3Settings->LoginName()); |
73 value = XQConversions::s60Desc8ToQString(mPop3Settings->LoginName()); |
74 break; |
74 found = true; |
75 case IpsServices::Password: |
75 break; |
|
76 case IpsServices::IncomingPassword: |
76 value = XQConversions::s60Desc8ToQString(mPop3Settings->Password()); |
77 value = XQConversions::s60Desc8ToQString(mPop3Settings->Password()); |
|
78 found = true; |
77 break; |
79 break; |
78 case IpsServices::MailboxName: |
80 case IpsServices::MailboxName: |
79 value = XQConversions::s60DescToQString(mPop3Account.iPopAccountName); |
81 value = XQConversions::s60DescToQString(mPop3Account.iPopAccountName); |
80 break; |
82 found = true; |
|
83 break; |
|
84 case IpsServices::IncomingMailServer: |
|
85 value = XQConversions::s60DescToQString(mPop3Settings->ServerAddress()); |
|
86 found = true; |
|
87 break; |
|
88 case IpsServices::IncomingPort: |
|
89 value = mPop3Settings->Port(); |
|
90 found = true; |
|
91 break; |
|
92 case IpsServices::IncomingSecureSockets: |
|
93 value = mPop3Settings->SecureSockets(); |
|
94 found = true; |
|
95 break; |
|
96 case IpsServices::IncomingSSLWrapper: |
|
97 value = mPop3Settings->SSLWrapper(); |
|
98 found = true; |
|
99 break; |
81 default: |
100 default: |
82 found = NmIpsSettingsManagerBase::readSetting(settingItem, value); |
101 found = NmIpsSettingsManagerBase::readSetting(settingItem, value); |
83 break; |
102 break; |
84 } |
103 } |
85 return found; |
104 return found; |
97 |
116 |
98 bool ret(false); |
117 bool ret(false); |
99 TInt err(KErrNone); |
118 TInt err(KErrNone); |
100 |
119 |
101 switch (settingItem) { |
120 switch (settingItem) { |
102 case IpsServices::LoginName: |
121 case IpsServices::IncomingLoginName: |
103 tmp8 = XQConversions::qStringToS60Desc8(settingValue.toString()); |
122 tmp8 = XQConversions::qStringToS60Desc8(settingValue.toString()); |
104 TRAP(err, mPop3Settings->SetLoginNameL(*tmp8)); |
123 TRAP(err, mPop3Settings->SetLoginNameL(*tmp8)); |
105 delete tmp8; |
124 delete tmp8; |
106 if (err==KErrNone) { |
125 if (err==KErrNone) { |
107 ret = saveSettings(); |
126 ret = saveSettings(); |
108 } |
127 } |
109 break; |
128 break; |
110 case IpsServices::Password: |
129 case IpsServices::IncomingPassword: |
111 tmp8 = XQConversions::qStringToS60Desc8(settingValue.toString()); |
130 tmp8 = XQConversions::qStringToS60Desc8(settingValue.toString()); |
112 TRAP(err, mPop3Settings->SetPasswordL(*tmp8)); |
131 TRAP(err, mPop3Settings->SetPasswordL(*tmp8)); |
113 delete tmp8; |
132 delete tmp8; |
114 if (err==KErrNone) { |
133 if (err==KErrNone) { |
115 ret = saveSettings(); |
134 ret = saveSettings(); |
116 } |
135 } |
117 break; |
136 break; |
118 case IpsServices::MailboxName: |
137 case IpsServices::MailboxName: |
119 tmp = XQConversions::qStringToS60Desc(settingValue.toString()); |
138 tmp = XQConversions::qStringToS60Desc(settingValue.toString()); |
120 TRAP(err, mPop3Account.iPopAccountName.Copy(*tmp)); |
139 mPop3Account.iPopAccountName.Copy(*tmp); |
|
140 delete tmp; |
|
141 ret = saveSettings(); |
|
142 break; |
|
143 case IpsServices::IncomingMailServer: |
|
144 tmp = XQConversions::qStringToS60Desc(settingValue.toString()); |
|
145 TRAP(err, mPop3Settings->SetServerAddressL(*tmp)); |
121 delete tmp; |
146 delete tmp; |
122 if (err==KErrNone) { |
147 if (err==KErrNone) { |
123 ret = saveSettings(); |
148 ret = saveSettings(); |
124 } |
149 } |
125 break; |
150 break; |
|
151 case IpsServices::IncomingPort: |
|
152 mPop3Settings->SetPort(settingValue.toInt()); |
|
153 ret = saveSettings(); |
|
154 break; |
|
155 case IpsServices::IncomingSecureSockets: |
|
156 mPop3Settings->SetSecureSockets(settingValue.toBool()); |
|
157 ret = saveSettings(); |
|
158 break; |
|
159 case IpsServices::IncomingSSLWrapper: |
|
160 mPop3Settings->SetSSLWrapper(settingValue.toBool()); |
|
161 ret = saveSettings(); |
|
162 break; |
126 default: |
163 default: |
127 ret = NmIpsSettingsManagerBase::writeSetting(settingItem, settingValue); |
164 ret = NmIpsSettingsManagerBase::writeSetting(settingItem, settingValue); |
128 break; |
165 break; |
129 } |
166 } |
130 return ret; |
167 return ret; |
136 \return Error code <code>0</code> if mailbox deletion was successful, otherwise error |
173 \return Error code <code>0</code> if mailbox deletion was successful, otherwise error |
137 code is returned. |
174 code is returned. |
138 */ |
175 */ |
139 int NmIpsPop3SettingsManager::deleteMailbox() |
176 int NmIpsPop3SettingsManager::deleteMailbox() |
140 { |
177 { |
141 int error(NmIpsSettingsManagerBase::deleteMailbox()); |
178 TRAPD(error, mAccount->DeletePopAccountL(mPop3Account)); |
142 if (!error) { |
179 if (!error) { |
143 TRAP(error, mAccount->DeletePopAccountL(mPop3Account)); |
180 NmIpsSettingsManagerBase::deleteMailbox(); |
144 } |
181 } |
145 |
182 |
146 NMLOG(QString("NmIpsPop3SettingsManager::deleteMailbox status %1").arg(error)); |
183 NMLOG(QString("NmIpsPop3SettingsManager::deleteMailbox status %1").arg(error)); |
147 return error; |
184 return error; |
148 } |
185 } |
155 { |
192 { |
156 TRAPD(err, mAccount->SavePopSettingsL(mPop3Account, *mPop3Settings)); |
193 TRAPD(err, mAccount->SavePopSettingsL(mPop3Account, *mPop3Settings)); |
157 NMLOG(QString("NmIpsPop3SettingsManager::saveSettings rval %1").arg(err)); |
194 NMLOG(QString("NmIpsPop3SettingsManager::saveSettings rval %1").arg(err)); |
158 return (err==KErrNone); |
195 return (err==KErrNone); |
159 } |
196 } |
|
197 |
|
198 /*! |
|
199 Determine the default port for the incoming mail server based on the security settings |
|
200 |
|
201 \return int the port number to use |
|
202 */ |
|
203 int NmIpsPop3SettingsManager::determineDefaultIncomingPort() |
|
204 { |
|
205 int port = 0; |
|
206 bool sslTls = mPop3Settings->SSLWrapper(); |
|
207 if (sslTls) { |
|
208 port = IpsServices::securePop3Port; |
|
209 } else { |
|
210 port = IpsServices::standardPop3Port; |
|
211 } |
|
212 return port; |
|
213 } |