File indexing completed on 2024-12-08 10:52:35

0001 /*
0002     SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0003     SPDX-FileCopyrightText: 2021 Harald Sitter <sitter@kde.org>
0004 */
0005 
0006 #pragma once
0007 
0008 #include "DumpTruckInterface.h"
0009 
0010 #include <QObject>
0011 
0012 // Plugin for coredump helper daemon. It issues KNotifications with
0013 // the option of opening konsole with gdb.
0014 // This is separated as a plugin so the core always-on daemon does not
0015 // need anything besides QtCore and lower level libraries, slightly
0016 // reducing the footprint.
0017 // It also sports no i18n because it must be opted into and is only intended
0018 // for developers.
0019 class NotifyTruck : public QObject, public DumpTruckInterface
0020 {
0021     Q_OBJECT
0022     Q_PLUGIN_METADATA(IID DumpTruckInterface_IID)
0023     Q_INTERFACES(DumpTruckInterface)
0024 public:
0025     NotifyTruck() = default;
0026     ~NotifyTruck() override = default;
0027 
0028     bool handle(const Coredump &dump) override;
0029 
0030 private:
0031     Q_DISABLE_COPY_MOVE(NotifyTruck)
0032 };