File indexing completed on 2024-05-12 05:28:18
0001 // SPDX-FileCopyrightText: 2015 Sandro Knauß <knauss@kolabsys.com> 0002 // SPDX-FileCopyrightText: 2001,2002 the KPGP authors 0003 // SPDX-License-Identifier: GPL-2.0-or-later 0004 0005 #pragma once 0006 0007 #include <QByteArray> 0008 #include <QList> 0009 0010 namespace MimeTreeParser 0011 { 0012 0013 enum PGPBlockType { 0014 UnknownBlock = -1, // BEGIN PGP ??? 0015 NoPgpBlock = 0, 0016 PgpMessageBlock = 1, // BEGIN PGP MESSAGE 0017 MultiPgpMessageBlock = 2, // BEGIN PGP MESSAGE, PART X[/Y] 0018 SignatureBlock = 3, // BEGIN PGP SIGNATURE 0019 ClearsignedBlock = 4, // BEGIN PGP SIGNED MESSAGE 0020 PublicKeyBlock = 5, // BEGIN PGP PUBLIC KEY BLOCK 0021 PrivateKeyBlock = 6 // BEGIN PGP PRIVATE KEY BLOCK (PGP 2.x: ...SECRET...) 0022 }; 0023 0024 class Block 0025 { 0026 public: 0027 Block(const QByteArray &m); 0028 0029 Block(const QByteArray &m, PGPBlockType t); 0030 0031 QByteArray text() const; 0032 PGPBlockType type() const; 0033 PGPBlockType determineType() const; 0034 0035 QByteArray msg; 0036 PGPBlockType mType; 0037 }; 0038 0039 /** Parses the given message and splits it into OpenPGP blocks and 0040 Non-OpenPGP blocks. 0041 */ 0042 QList<Block> prepareMessageForDecryption(const QByteArray &msg); 0043 0044 } // namespace MimeTreeParser 0045 0046 Q_DECLARE_TYPEINFO(MimeTreeParser::Block, Q_MOVABLE_TYPE);