ssl: Use QSslSocket directly to avoid redundant qobject_casts
[quassel.git] / src / core / coreidentity.h
index bb11ff5..b2ba09f 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   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
 
@@ -72,33 +67,26 @@ public:
 
     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