mirror of
https://github.com/RGBCube/serenity
synced 2025-06-16 17:32:07 +00:00
ProcessManager: Add a new per-proces "open files" view showing open FDs
This uses the data from /proc/PID/fds with ease now that it's JSON. :^)
This commit is contained in:
parent
45c5a91afc
commit
8a703c0076
6 changed files with 153 additions and 0 deletions
29
Applications/ProcessManager/ProcessFileDescriptorMapModel.h
Normal file
29
Applications/ProcessManager/ProcessFileDescriptorMapModel.h
Normal file
|
@ -0,0 +1,29 @@
|
|||
#pragma once
|
||||
|
||||
#include <AK/JsonArray.h>
|
||||
#include <LibGUI/GModel.h>
|
||||
|
||||
class ProcessFileDescriptorMapModel final : public GModel {
|
||||
public:
|
||||
enum Column {
|
||||
FileDescriptor,
|
||||
Path,
|
||||
__Count
|
||||
};
|
||||
|
||||
ProcessFileDescriptorMapModel() {}
|
||||
virtual ~ProcessFileDescriptorMapModel() override {}
|
||||
|
||||
virtual int row_count(const GModelIndex& = GModelIndex()) const override;
|
||||
virtual int column_count(const GModelIndex& = GModelIndex()) const override { return Column::__Count; }
|
||||
virtual String column_name(int) const override;
|
||||
virtual ColumnMetadata column_metadata(int) const override;
|
||||
virtual GVariant data(const GModelIndex&, Role = Role::Display) const override;
|
||||
virtual void update() override;
|
||||
|
||||
void set_pid(pid_t);
|
||||
|
||||
private:
|
||||
JsonArray m_process_fds;
|
||||
int m_pid { -1 };
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue