// Copyright (C) 2018 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 // // W A R N I N G // ------------- // // This file is not part of the Qt API. It exists purely as an // implementation detail. This header file may change from version to // version without notice, or even be removed. // // We mean it. // #ifndef CLIENT_CERT_SELECT_CONTROLLER_H #define CLIENT_CERT_SELECT_CONTROLLER_H #include #include #include #include #include #include namespace content { class ClientCertificateDelegate; } namespace net { class ClientCertIdentity; class SSLCertRequestInfo; } namespace QtWebEngineCore { class Q_WEBENGINECORE_PRIVATE_EXPORT ClientCertSelectController { public: ClientCertSelectController(net::SSLCertRequestInfo *certRequestInfo, std::vector> clientCerts, std::unique_ptr delegate); ~ClientCertSelectController(); QUrl hostAndPort() const { return m_hostAndPort; } void selectNone(); void select(const QSslCertificate &certificate); void select(int index); QList certificates() const; private: QUrl m_hostAndPort; std::vector> m_clientCerts; std::unique_ptr m_delegate; mutable QList m_certificates; bool m_selected; }; } #endif // CLIENT_CERT_SELECT_CONTROLLER_H