File indexing completed on 2024-06-02 05:24:45
0001 /* -*- mode: c++; c-basic-offset:4 -*- 0002 uiserver/assuanserverconnection.h 0003 0004 This file is part of Kleopatra, the KDE keymanager 0005 SPDX-FileCopyrightText: 2007 Klarälvdalens Datakonsult AB 0006 0007 SPDX-License-Identifier: GPL-2.0-or-later 0008 */ 0009 0010 #pragma once 0011 0012 #include <QObject> 0013 0014 #include <assuan.h> // for assuan_fd_t 0015 0016 #include <utils/pimpl_ptr.h> 0017 0018 #include <memory> 0019 #include <string> 0020 #include <vector> 0021 0022 namespace Kleo 0023 { 0024 0025 class AssuanCommandFactory; 0026 0027 class AssuanServerConnection : public QObject 0028 { 0029 Q_OBJECT 0030 public: 0031 AssuanServerConnection(assuan_fd_t fd, const std::vector<std::shared_ptr<AssuanCommandFactory>> &factories, QObject *parent = nullptr); 0032 ~AssuanServerConnection() override; 0033 0034 public Q_SLOTS: 0035 void enableCryptoCommands(bool enable = true); 0036 0037 Q_SIGNALS: 0038 void closed(Kleo::AssuanServerConnection *which); 0039 void startKeyManagerRequested(); 0040 void startConfigDialogRequested(); 0041 0042 public: 0043 class Private; 0044 0045 private: 0046 kdtools::pimpl_ptr<Private> d; 0047 }; 0048 0049 }