You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.3 KiB
55 lines
1.3 KiB
/* |
|
SPDX-FileCopyrightText: 2007-2008 Robert Knight <robertknight@gmail.com> |
|
|
|
SPDX-License-Identifier: GPL-2.0-or-later |
|
*/ |
|
|
|
#ifndef UNIXPROCESSINFO_H |
|
#define UNIXPROCESSINFO_H |
|
|
|
#include "ProcessInfo.h" |
|
|
|
namespace Konsole |
|
{ |
|
|
|
/** |
|
* Implementation of ProcessInfo for Unix platforms which uses |
|
* the /proc filesystem |
|
*/ |
|
class UnixProcessInfo : public ProcessInfo |
|
{ |
|
public: |
|
/** |
|
* Constructs a new instance of UnixProcessInfo. |
|
* See ProcessInfo::newInstance() |
|
*/ |
|
explicit UnixProcessInfo(int pid); |
|
|
|
protected: |
|
/** |
|
* Implementation of ProcessInfo::readProcessInfo(); calls the |
|
* four private methods below in turn. |
|
*/ |
|
void readProcessInfo(int pid) override; |
|
|
|
void readUserName(void) override; |
|
|
|
private: |
|
/** |
|
* Read the standard process information -- PID, parent PID, foreground PID. |
|
* @param pid process ID to use |
|
* @return true on success |
|
*/ |
|
virtual bool readProcInfo(int pid) = 0; |
|
|
|
/** |
|
* Determine what arguments were passed to the process. Sets _arguments. |
|
* @param pid process ID to use |
|
* @return true on success |
|
*/ |
|
virtual bool readArguments(int pid) = 0; |
|
}; |
|
|
|
} |
|
|
|
#endif
|
|
|