00001
00025
#ifndef __KMAIL_NETWORKACCOUNT_H__
00026
#define __KMAIL_NETWORKACCOUNT_H__
00027
00028
#include "kmaccount.h"
00029
00030
#include "sieveconfig.h"
00031
00032
#include <qstring.h>
00033
00034
class KMAcctMgr;
00035
class KConfig;
00036
class KURL;
00037
namespace KIO {
00038
class Slave;
00039
class MetaData;
00040 }
00041
00042
namespace KMail {
00043
00044
class NetworkAccount :
public KMAccount {
00045 Q_OBJECT
00046
protected:
00047 NetworkAccount( KMAcctMgr * parent,
const QString & name, uint
id );
00048
public:
00049
virtual ~NetworkAccount();
00050
00052
virtual void init();
00053
00055
virtual void pseudoAssign(
const KMAccount * a );
00056
00058
QString login()
const {
return mLogin; }
00059
virtual void setLogin(
const QString & login );
00060
00062
QString passwd() const;
00063 virtual
void setPasswd( const
QString & passwd,
bool storeInConfig=false );
00064
00068 virtual
void clearPasswd();
00069
00071
QString auth()
const {
return mAuth; }
00072
virtual void setAuth(
const QString & auth );
00073
00075
bool storePasswd()
const {
return mStorePasswd; }
00076
virtual void setStorePasswd(
bool store );
00077
00079
QString host()
const {
return mHost; }
00080
virtual void setHost(
const QString & host );
00081
00083
unsigned short int port()
const {
return mPort; }
00084
virtual void setPort(
unsigned short int port );
00085
00087
bool useSSL()
const {
return mUseSSL; }
00088
virtual void setUseSSL(
bool use );
00089
00091
bool useTLS()
const {
return mUseTLS; }
00092
virtual void setUseTLS(
bool use );
00093
00095 KMail::SieveConfig sieveConfig()
const {
return mSieveConfig; }
00096
virtual void setSieveConfig(
const KMail::SieveConfig & config );
00097
00099
virtual KIO::MetaData slaveConfig() const;
00100
00101 virtual
void readConfig( KConfig & config );
00102 virtual
void writeConfig( KConfig & config ) ;
00103
00105 virtual KURL getUrl() const;
00106
00108 KIO::Slave * slave()
const {
return mSlave; }
00109
00111
virtual void killAllJobs(
bool disconnectSlave =
false ) = 0;
00112
00113
protected:
00114
virtual QString protocol() const = 0;
00115 virtual
unsigned short int defaultPort() const = 0;
00116
00117 protected:
00118 KMail::SieveConfig mSieveConfig;
00119 KIO::Slave * mSlave;
00120
QString mLogin, mPasswd, mAuth, mHost;
00121
unsigned short int mPort;
00122
bool mStorePasswd : 1;
00123
bool mUseSSL : 1;
00124
bool mUseTLS : 1;
00125
bool mAskAgain : 1;
00126
00127 };
00128
00129 }
00130
00131 #endif