File indexing completed on 2024-04-28 16:49:53

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 namespace KSysGuard
0014 {
0015 class ProcessAttribute;
0016 
0017 class Q_DECL_EXPORT ExtendedProcesses : public KSysGuard::Processes
0018 {
0019     Q_OBJECT
0020 public:
0021     QVector<ProcessAttribute *> attributes() const;
0022     QVector<ProcessAttribute *> extendedAttributes() const;
0023 
0024     /**
0025      * Returns a single shared instance of the process list for when used in multiple views
0026      */
0027     static QSharedPointer<ExtendedProcesses> instance();
0028 
0029 private:
0030     ExtendedProcesses(QObject *parent = nullptr);
0031     ~ExtendedProcesses() override;
0032     class Private;
0033     QScopedPointer<Private> d;
0034 };
0035 }