Warning, file /plasma/drkonqi/src/coredump/coredump.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /*
0002     SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0003     SPDX-FileCopyrightText: 2019-2022 Harald Sitter <sitter@kde.org>
0004 */
0005 
0006 #pragma once
0007 
0008 #include <QByteArray>
0009 #include <QHash>
0010 #include <QJsonDocument>
0011 #include <QString>
0012 
0013 #include "memory.h"
0014 
0015 class Coredump
0016 {
0017 public:
0018     using EntriesHash = QHash<QByteArray, QByteArray>;
0019 
0020     Coredump(QByteArray cursor, EntriesHash data);
0021     explicit Coredump(const QJsonDocument &document);
0022 
0023     ~Coredump() = default;
0024 
0025     // In a function cause it is used in more than one location.
0026     static QByteArray keyFilename();
0027     static QByteArray keyPickup();
0028 
0029     // Other bits and bobs
0030     const QByteArray m_cursor;
0031     const EntriesHash m_rawData;
0032 
0033     // Journal Entry values
0034     const uid_t uid = 0;
0035     const pid_t pid = -1;
0036     const QString exe;
0037     const QString filename; // core dump file if available (may be /dev/null if the core is stored in journal directly - only in older systemds)
0038     const QString systemd_unit;
0039 
0040 private:
0041     static EntriesHash documentToHash(const QJsonDocument &document);
0042     Q_DISABLE_COPY_MOVE(Coredump)
0043 };