File indexing completed on 2024-04-28 05:31:36

0001 /*
0002     SPDX-FileCopyrightText: 2019 David Edmundson <davidedmundson@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 #pragma once
0007 
0008 #include <processcore/processes.h>
0009 
0010 #include <QObject>
0011 #include <QSharedPointer>
0012 
0013 #include "processcore_export.h"
0014 
0015 namespace KSysGuard
0016 {
0017 class ProcessAttribute;
0018 
0019 class PROCESSCORE_EXPORT ExtendedProcesses : public KSysGuard::Processes
0020 {
0021     Q_OBJECT
0022 public:
0023     QList<ProcessAttribute *> attributes() const;
0024     QList<ProcessAttribute *> extendedAttributes() const;
0025 
0026     /**
0027      * Returns a single shared instance of the process list for when used in multiple views
0028      */
0029     static QSharedPointer<ExtendedProcesses> instance();
0030 
0031 private:
0032     ExtendedProcesses(QObject *parent = nullptr);
0033     ~ExtendedProcesses() override;
0034     class Private;
0035     QScopedPointer<Private> d;
0036 };
0037 }