Serenity Operating System
at master 47 lines 1.1 kB view raw
1/* 2 * Copyright (c) 2020, Andreas Kling <kling@serenityos.org> 3 * Copyright (c) 2022, the SerenityOS developers. 4 * 5 * SPDX-License-Identifier: BSD-2-Clause 6 */ 7 8#pragma once 9 10#include <LibGUI/Model.h> 11#include <LibGfx/Bitmap.h> 12 13namespace GUI { 14 15class RunningProcessesModel final : public GUI::Model { 16public: 17 static NonnullRefPtr<RunningProcessesModel> create(); 18 virtual ~RunningProcessesModel() override = default; 19 20 enum Column { 21 Icon, 22 PID, 23 UID, 24 Name, 25 __Count, 26 }; 27 28 virtual int row_count(const GUI::ModelIndex&) const override; 29 virtual int column_count(const GUI::ModelIndex&) const override; 30 virtual DeprecatedString column_name(int column_index) const override; 31 virtual GUI::Variant data(const GUI::ModelIndex&, GUI::ModelRole) const override; 32 33 void update(); 34 35private: 36 RunningProcessesModel() = default; 37 38 struct Process { 39 pid_t pid; 40 uid_t uid; 41 RefPtr<Gfx::Bitmap const> icon; 42 DeprecatedString name; 43 }; 44 Vector<Process> m_processes; 45}; 46 47}