File indexing completed on 2024-04-14 05:43:23

0001 /*
0002     SPDX-FileCopyrightText: 2008-2022 Rolf Eike Beer <kde@opensource.sf-tec.de>
0003 
0004     SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0005 */
0006 
0007 #ifndef KGPGGROUPMEMBERNODE_H
0008 #define KGPGGROUPMEMBERNODE_H
0009 
0010 #include "KGpgRefNode.h"
0011 
0012 #include "kgpgkey.h"
0013 
0014 using namespace KgpgCore;
0015 
0016 class KGpgKeyNode;
0017 class KGpgGroupNode;
0018 
0019 /**
0020  * @brief A member of a GnuPG group
0021  */
0022 class KGpgGroupMemberNode : public KGpgRefNode
0023 {
0024 public:
0025     explicit KGpgGroupMemberNode(KGpgGroupNode *parent, const QString &k);
0026     explicit KGpgGroupMemberNode(KGpgGroupNode *parent, KGpgKeyNode *k);
0027     ~KGpgGroupMemberNode() override = default;
0028 
0029     KgpgCore::KgpgKeyTrust getTrust() const override;
0030     KgpgCore::KgpgItemType getType() const override;
0031     QString getSize() const override;
0032     QDateTime getExpiration() const override;
0033     QDateTime getCreation() const override;
0034     virtual KGpgGroupNode *getParentKeyNode() const;
0035 
0036     /**
0037      * Returns the size of the signing key.
0038      * @return signing key size in bits
0039      */
0040     virtual unsigned int getSignKeySize() const;
0041     /**
0042      * Returns the size of the first encryption subkey.
0043      * @return encryption key size in bits
0044      */
0045     virtual unsigned int getEncryptionKeySize() const;
0046 };
0047 
0048 #endif /* KGPGGROUPMEMBERNODE_H */