1 /***************************************************************************
2 * Copyright (C) 2005-2016 by the Quassel Project *
3 * devel@quassel-irc.org *
5 * This program is free software; you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation; either version 2 of the License, or *
8 * (at your option) version 3. *
10 * This program is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
15 * You should have received a copy of the GNU General Public License *
16 * along with this program; if not, write to the *
17 * Free Software Foundation, Inc., *
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
19 ***************************************************************************/
21 #ifndef COREIDENTITY_H
22 #define COREIDENTITY_H
28 #include <QSslCertificate>
33 // ========================================
35 // ========================================
38 class CoreCertManager : public CertManager
44 CoreCertManager(CoreIdentity &identity);
47 virtual const QSslKey &sslKey() const;
48 virtual const QSslCertificate &sslCert() const;
51 virtual void setSslKey(const QByteArray &encoded);
52 virtual void setSslCert(const QByteArray &encoded);
55 void setId(IdentityId id);
58 CoreIdentity &identity;
64 // =========================================
66 // =========================================
67 class CoreIdentity : public Identity
73 CoreIdentity(IdentityId id, QObject *parent = 0);
74 CoreIdentity(const Identity &other, QObject *parent = 0);
75 CoreIdentity(const CoreIdentity &other, QObject *parent = 0);
77 void synchronize(SignalProxy *proxy);
80 inline const QSslKey &sslKey() const { return _sslKey; }
81 inline void setSslKey(const QSslKey &key) { _sslKey = key; }
82 void setSslKey(const QByteArray &encoded);
83 inline const QSslCertificate &sslCert() const { return _sslCert; }
84 inline void setSslCert(const QSslCertificate &cert) { _sslCert = cert; }
85 void setSslCert(const QByteArray &encoded);
88 CoreIdentity &operator=(const CoreIdentity &identity);
93 QSslCertificate _sslCert;
95 CoreCertManager _certManager;
101 inline const QSslKey &CoreCertManager::sslKey() const
103 return identity.sslKey();
107 inline const QSslCertificate &CoreCertManager::sslCert() const
109 return identity.sslCert();
115 #endif //COREIDENTITY_H