Files
Work/psapint/PROCINFO.HPP
2024-08-07 09:16:27 -04:00

82 lines
1.7 KiB
C++

#ifndef _PSAPINT_PROCINFO_HPP_
#define _PSAPINT_PROCINFO_HPP_
#ifndef _COMMON_WINDOWS_HPP_
#include <common/windows.hpp>
#endif
#ifndef _COMMON_ARRAY_HPP_
#include <common/array.hpp>
#endif
#ifndef _PSAPINT_PROCESSID_HPP_
#include <psapint/procid.hpp>
#endif
#ifndef _PSAPINT_MODULEINFO_HPP_
#include <psapint/modinfo.hpp>
#endif
class ProcessInfo;
typedef Array<ProcessInfo> ProcessInfoList;
class ProcessInfo : public ModuleInfoList
{
public:
ProcessInfo(void);
ProcessInfo(const ProcessID &processID);
ProcessInfo(const ProcessInfo &someProcessInfo);
virtual ~ProcessInfo();
ProcessInfo &operator=(const ProcessInfo &someProcessInfo);
bool operator==(const ProcessInfo &someProcessInfo)const;
const ProcessID &processID(void)const;
void processID(const ProcessID &processID);
private:
ProcessID mProcessID;
};
inline
ProcessInfo::ProcessInfo(void)
{
}
inline
ProcessInfo::ProcessInfo(const ProcessInfo &someProcessInfo)
: mProcessID(someProcessInfo.mProcessID), ModuleInfoList(someProcessInfo)
{
}
inline
ProcessInfo::ProcessInfo(const ProcessID &processID)
: mProcessID(processID)
{
}
inline
ProcessInfo::~ProcessInfo()
{
}
inline
ProcessInfo &ProcessInfo::operator=(const ProcessInfo &someProcessInfo)
{
processID(someProcessInfo.processID());
(ModuleInfoList &)*this=(ModuleInfoList &)someProcessInfo;
return *this;
}
inline
bool ProcessInfo::operator==(const ProcessInfo &someProcessInfo)const
{
return (processID()==someProcessInfo.processID()&&
(ModuleInfoList&)*this==(ModuleInfoList&)someProcessInfo);
}
inline
const ProcessID &ProcessInfo::processID(void)const
{
return mProcessID;
}
inline
void ProcessInfo::processID(const ProcessID &processID)
{
mProcessID=processID;
}
#endif