mailtransport
transport.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef MAILTRANSPORT_TRANSPORT_H
00021 #define MAILTRANSPORT_TRANSPORT_H
00022
00023 #include <mailtransport/mailtransport_export.h>
00024 #include <mailtransport/transportbase.h>
00025 #include <mailtransport/transporttype.h>
00026
00027 class TransportPrivate;
00028
00029 namespace MailTransport {
00030
00031 class TransportType;
00032
00044
00045
00046
00047
00048
00049
00050 class MAILTRANSPORT_EXPORT Transport : public TransportBase
00051 {
00052 Q_OBJECT
00053 friend class TransportManager;
00054 friend class TransportManagerPrivate;
00055
00056 public:
00060 virtual ~Transport();
00061
00062 typedef QList<Transport*> List;
00063
00067 bool isValid() const;
00068
00072 QString password();
00073
00078 void setPassword( const QString &passwd );
00079
00085 void forceUniqueName();
00086
00097 void updatePasswordState();
00098
00104 bool isComplete() const;
00105
00109 QString authenticationTypeString() const;
00110
00119 Transport *clone() const;
00120
00126 TransportType transportType() const;
00127
00133 void setTransportType( const TransportType &type );
00134
00135 protected:
00140 Transport( const QString &cfgGroup );
00141
00142 virtual void usrReadConfig();
00143 virtual void usrWriteConfig();
00144
00148 bool needsWalletMigration() const;
00149
00153 void migrateToWallet();
00154
00155 private Q_SLOTS:
00156
00157
00158 void readPassword();
00159
00160 private:
00161 TransportPrivate *const d;
00162 };
00163
00164 }
00165
00166 #endif // MAILTRANSPORT_TRANSPORT_H