/***************************************************************************
- * Copyright (C) 2005-2019 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 *
#pragma once
+#include "core-export.h"
+
#include "identity.h"
-#ifdef HAVE_SSL
-# include <QSslCertificate>
-# include <QSslKey>
-#endif // HAVE_SSL
+#include <QSslCertificate>
+#include <QSslKey>
class SignalProxy;
// ========================================
// CoreCertManager
// ========================================
-#ifdef HAVE_SSL
class CoreIdentity;
-class CoreCertManager : public CertManager
+class CORE_EXPORT CoreCertManager : public CertManager
{
Q_OBJECT
public:
- CoreCertManager(CoreIdentity& identity);
+ CoreCertManager(CoreIdentity* identity);
-# ifdef HAVE_SSL
const QSslKey& sslKey() const override;
const QSslCertificate& sslCert() const override;
public slots:
void setSslKey(const QByteArray& encoded) override;
void setSslCert(const QByteArray& encoded) override;
-# endif
void setId(IdentityId id);
private:
- CoreIdentity& identity;
+ CoreIdentity* _identity{nullptr};
};
-#endif // HAVE_SSL
-
// =========================================
// CoreIdentity
// =========================================
-class CoreIdentity : public Identity
+class CORE_EXPORT CoreIdentity : public Identity
{
Q_OBJECT
void synchronize(SignalProxy* proxy);
-#ifdef HAVE_SSL
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);
-#endif /* HAVE_SSL */
private:
-#ifdef HAVE_SSL
QSslKey _sslKey;
QSslCertificate _sslCert;
CoreCertManager _certManager;
-#endif
};
-#ifdef HAVE_SSL
inline const QSslKey& CoreCertManager::sslKey() const
{
- return identity.sslKey();
+ return _identity->sslKey();
}
inline const QSslCertificate& CoreCertManager::sslCert() const
{
- return identity.sslCert();
+ return _identity->sslCert();
}
-
-#endif