3 #ifndef MAILTRANSPORT_TRANSPORTBASE_H
4 #define MAILTRANSPORT_TRANSPORTBASE_H
6 #include <mailtransport/mailtransport_export.h>
8 #include <kconfigskeleton.h>
11 namespace MailTransport {
13 class MAILTRANSPORT_EXPORT TransportBase :
public KConfigSkeleton
19 enum type { SMTP, Sendmail, Akonadi, COUNT };
24 enum type { None, SSL, TLS, COUNT };
26 class EnumAuthenticationType
29 enum type { LOGIN, PLAIN, CRAM_MD5, DIGEST_MD5, GSSAPI, NTLM, APOP, CLEAR, ANONYMOUS, COUNT };
32 TransportBase(
const QString & transportId );
40 if (!isImmutable( QString::fromLatin1(
"id" ) ))
63 void setName(
const QString & v )
65 if (!isImmutable( QString::fromLatin1(
"name" ) ))
80 ItemString *nameItem()
90 if (!isImmutable( QString::fromLatin1(
"type" ) ))
113 void setHost(
const QString & v )
115 if (!isImmutable( QString::fromLatin1(
"host" ) ))
130 ItemString *hostItem()
138 void setPort( uint v )
140 if (!isImmutable( QString::fromLatin1(
"port" ) ))
163 void setUserName(
const QString & v )
165 if (!isImmutable( QString::fromLatin1(
"userName" ) ))
172 QString userName()
const
180 ItemString *userNameItem()
182 return mUserNameItem;
188 void setPrecommand(
const QString & v )
190 if (!isImmutable( QString::fromLatin1(
"precommand" ) ))
197 QString precommand()
const
205 ItemString *precommandItem()
207 return mPrecommandItem;
213 void setRequiresAuthentication(
bool v )
215 if (!isImmutable( QString::fromLatin1(
"requiresAuthentication" ) ))
216 mRequiresAuthentication = v;
222 bool requiresAuthentication()
const
224 return mRequiresAuthentication;
230 ItemBool *requiresAuthenticationItem()
232 return mRequiresAuthenticationItem;
238 void setStorePassword(
bool v )
240 if (!isImmutable( QString::fromLatin1(
"storePassword" ) ))
247 bool storePassword()
const
249 return mStorePassword;
255 ItemBool *storePasswordItem()
257 return mStorePasswordItem;
263 void setEncryption(
int v )
265 if (!isImmutable( QString::fromLatin1(
"encryption" ) ))
272 int encryption()
const
280 ItemEnum *encryptionItem()
282 return mEncryptionItem;
288 void setAuthenticationType(
int v )
290 if (!isImmutable( QString::fromLatin1(
"authenticationType" ) ))
291 mAuthenticationType = v;
297 int authenticationType()
const
299 return mAuthenticationType;
305 ItemEnum *authenticationTypeItem()
307 return mAuthenticationTypeItem;
313 void setSpecifyHostname(
bool v )
315 if (!isImmutable( QString::fromLatin1(
"specifyHostname" ) ))
316 mSpecifyHostname = v;
322 bool specifyHostname()
const
324 return mSpecifyHostname;
330 ItemBool *specifyHostnameItem()
332 return mSpecifyHostnameItem;
338 void setLocalHostname(
const QString & v )
340 if (!isImmutable( QString::fromLatin1(
"localHostname" ) ))
347 QString localHostname()
const
349 return mLocalHostname;
355 ItemString *localHostnameItem()
357 return mLocalHostnameItem;
363 void setSpecifySenderOverwriteAddress(
bool v )
365 if (!isImmutable( QString::fromLatin1(
"specifySenderOverwriteAddress" ) ))
366 mSpecifySenderOverwriteAddress = v;
372 bool specifySenderOverwriteAddress()
const
374 return mSpecifySenderOverwriteAddress;
380 ItemBool *specifySenderOverwriteAddressItem()
382 return mSpecifySenderOverwriteAddressItem;
388 void setSenderOverwriteAddress(
const QString & v )
390 if (!isImmutable( QString::fromLatin1(
"senderOverwriteAddress" ) ))
391 mSenderOverwriteAddress = v;
397 QString senderOverwriteAddress()
const
399 return mSenderOverwriteAddress;
405 ItemString *senderOverwriteAddressItem()
407 return mSenderOverwriteAddressItem;
411 QString mParamtransportId;
421 bool mRequiresAuthentication;
424 int mAuthenticationType;
425 bool mSpecifyHostname;
426 QString mLocalHostname;
427 bool mSpecifySenderOverwriteAddress;
428 QString mSenderOverwriteAddress;
432 ItemString *mNameItem;
434 ItemString *mHostItem;
436 ItemString *mUserNameItem;
437 ItemString *mPrecommandItem;
438 ItemBool *mRequiresAuthenticationItem;
439 ItemBool *mStorePasswordItem;
440 ItemEnum *mEncryptionItem;
441 ItemEnum *mAuthenticationTypeItem;
442 ItemBool *mSpecifyHostnameItem;
443 ItemString *mLocalHostnameItem;
444 ItemBool *mSpecifySenderOverwriteAddressItem;
445 ItemString *mSenderOverwriteAddressItem;