blob: f336cd2ee14b3a5070bcb3417b57efca5af403ad (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
// Copyright (C) 2019 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QOPCUAX509EXTENSIONKEYUSAGE_H
#define QOPCUAX509EXTENSIONKEYUSAGE_H
#include "QtOpcUa/qopcuax509extension.h"
#include <QtOpcUa/qopcuaglobal.h>
QT_BEGIN_NAMESPACE
class Q_OPCUA_EXPORT QOpcUaX509ExtensionKeyUsage : public QOpcUaX509Extension
{
public:
enum class KeyUsage : uint {
DigitalSignature,
NonRepudiation,
KeyEncipherment,
DataEncipherment,
KeyAgreement,
CertificateSigning,
CrlSigning,
EnciptherOnly,
DecipherOnly
};
QOpcUaX509ExtensionKeyUsage();
QOpcUaX509ExtensionKeyUsage(const QOpcUaX509ExtensionKeyUsage &);
QOpcUaX509ExtensionKeyUsage &operator=(const QOpcUaX509ExtensionKeyUsage &);
bool operator==(const QOpcUaX509ExtensionKeyUsage &rhs) const;
~QOpcUaX509ExtensionKeyUsage();
void setKeyUsage(KeyUsage keyUsage, bool enable = true);
bool keyUsage(KeyUsage) const;
};
#if QT_VERSION >= 0x060000
inline size_t qHash(const QOpcUaX509ExtensionKeyUsage::KeyUsage &key)
#else
inline uint qHash(const QOpcUaX509ExtensionKeyUsage::KeyUsage &key)
#endif
{
return ::qHash(static_cast<uint>(key));
}
QT_END_NAMESPACE
#endif // QOPCUAX509EXTENSIONKEYUSAGE_H
|