/***************************************************************************
- * Copyright (C) 2005-08 by the Quassel Project *
+ * Copyright (C) 2005-2020 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
***************************************************************************/
-#ifndef COREIDENTITY_H
-#define COREIDENTITY_H
+#pragma once
+
+#include "core-export.h"
#include "identity.h"
-#include <QSslKey>
#include <QSslCertificate>
+#include <QSslKey>
-class CoreCertManager;
-class CoreSession;
class SignalProxy;
-class CoreIdentity : public Identity {
- Q_OBJECT
+// ========================================
+// CoreCertManager
+// ========================================
+class CoreIdentity;
+class CORE_EXPORT CoreCertManager : public CertManager
+{
+ Q_OBJECT
public:
- CoreIdentity(IdentityId id, SignalProxy *proxy, CoreSession *parent);
- CoreIdentity(const Identity &other, SignalProxy *proxy, CoreSession *parent);
+ CoreCertManager(CoreIdentity* identity);
- inline const QSslKey &sslKey() const { return _sslKey; }
- inline void setSslKey(const QSslKey &key) { _sslKey = key; }
- void setSslKey(const QByteArray &encoded);
- inline const QSslCertificate &sslCert() const { return _sslCert; }
- inline void setSslCert(const QSslCertificate &cert) { _sslCert = cert; }
- void setSslCert(const QByteArray &encoded);
+ const QSslKey& sslKey() const override;
+ const QSslCertificate& sslCert() const override;
public slots:
- virtual void update(const QVariantMap &properties);
- void save();
+ void setSslKey(const QByteArray& encoded) override;
+ void setSslCert(const QByteArray& encoded) override;
-private:
- QSslKey _sslKey;
- QSslCertificate _sslCert;
+ void setId(IdentityId id);
- CoreCertManager *_certManager;
- CoreSession *_coreSession;
+private:
+ CoreIdentity* _identity{nullptr};
};
-
-// ========================================
-// CoreCertManager
-// ========================================
-class CoreCertManager : public CertManager {
- Q_OBJECT
+// =========================================
+// CoreIdentity
+// =========================================
+class CORE_EXPORT CoreIdentity : public Identity
+{
+ Q_OBJECT
public:
- CoreCertManager(CoreIdentity *identity);
+ CoreIdentity(IdentityId id, QObject* parent = nullptr);
+ CoreIdentity(const Identity& other, QObject* parent = nullptr);
+ CoreIdentity(const CoreIdentity& other, QObject* parent = nullptr);
- inline CoreIdentity *identity() const { return _identity; }
- virtual inline const QSslKey &sslKey() const { return identity()->sslKey(); }
- virtual inline const QSslCertificate &sslCert() const { return identity()->sslCert(); }
+ void synchronize(SignalProxy* proxy);
-public slots:
- virtual void setSslKey(const QByteArray &encoded);
- virtual void setSslCert(const QByteArray &encoded);
-
- void setId(IdentityId id);
+ inline const QSslKey& sslKey() const { return _sslKey; }
+ inline void setSslKey(const QSslKey& key) { _sslKey = key; }
+ void setSslKey(const QByteArray& encoded);
+ inline const QSslCertificate& sslCert() const { return _sslCert; }
+ inline void setSslCert(const QSslCertificate& cert) { _sslCert = cert; }
+ void setSslCert(const QByteArray& encoded);
private:
- CoreIdentity *_identity;
+ QSslKey _sslKey;
+ QSslCertificate _sslCert;
+
+ CoreCertManager _certManager;
};
-#endif //COREIDENTITY_H
+inline const QSslKey& CoreCertManager::sslKey() const
+{
+ return _identity->sslKey();
+}
+
+inline const QSslCertificate& CoreCertManager::sslCert() const
+{
+ return _identity->sslCert();
+}