File indexing completed on 2026-07-12 13:03:37

0001 /*
0002     SPDX-FileCopyrightText: 2009 Volker Krause <vkrause@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 // This code was taken from kmail-account-wizard
0008 
0009 #pragma once
0010 
0011 #include "setupobject.h"
0012 #include <MailTransport/Transport>
0013 
0014 class Transport : public SetupObject
0015 {
0016     Q_OBJECT
0017 public:
0018     explicit Transport(const QString &type, QObject *parent = nullptr);
0019     void create() override;
0020     void destroy() override;
0021     void edit();
0022 
0023     int transportId() const;
0024 
0025 public Q_SLOTS:
0026     Q_SCRIPTABLE void setName(const QString &name);
0027     Q_SCRIPTABLE void setHost(const QString &host);
0028     Q_SCRIPTABLE void setPort(int port);
0029     Q_SCRIPTABLE void setUsername(const QString &user);
0030     Q_SCRIPTABLE void setPassword(const QString &password);
0031     Q_SCRIPTABLE void setEncryption(const QString &encryption);
0032     Q_SCRIPTABLE void setAuthenticationType(const QString &authType);
0033     Q_SCRIPTABLE void setEditMode(const bool editMode);
0034 
0035 private:
0036     int m_transportId = -1;
0037     QString m_name;
0038     QString m_host;
0039     int m_port = -1;
0040     QString m_user;
0041     QString m_password;
0042     MailTransport::Transport::EnumEncryption::type m_encr;
0043     MailTransport::Transport::EnumAuthenticationType::type m_auth;
0044     QString m_encrStr;
0045     QString m_authStr;
0046 
0047     bool m_editMode = false;
0048 };
0049