Files
Work/psapint/modinfo.hpp
2024-08-07 09:16:27 -04:00

111 lines
2.4 KiB
C++

#ifndef _PSAPINT_MODULEINFO_HPP_
#define _PSAPINT_MODULEINFO_HPP_
#ifndef _COMMON_WINDOWS_HPP_
#include <common/windows.hpp>
#endif
#ifndef _COMMON_ARRAY_HPP_
#include <common/array.hpp>
#endif
class ModuleInfo;
typedef Array<ModuleInfo> ModuleInfoList;
class ModuleInfo
{
public:
ModuleInfo(void);
ModuleInfo(const ModuleInfo &someModuleInfo);
ModuleInfo(HMODULE hModule,const String &strModuleBaseName=String(),const String &strModuleFileName=String());
virtual ~ModuleInfo();
ModuleInfo &operator=(const ModuleInfo &someModuleInfo);
bool operator==(const ModuleInfo &someModuleInfo)const;
HMODULE module(void)const;
void module(HMODULE hModule);
const String &moduleBaseName(void)const;
void moduleBaseName(const String &strModuleBaseName);
const String &moduleFileName(void)const;
void moduleFileName(const String &strModuleFileName);
private:
HMODULE mhModule;
String mModuleBaseName;
String mModuleFileName;
};
inline
ModuleInfo::ModuleInfo(void)
: mhModule(0)
{
}
inline
ModuleInfo::ModuleInfo(const ModuleInfo &someModuleInfo)
: mhModule(someModuleInfo.mhModule), mModuleBaseName(someModuleInfo.mModuleBaseName),
mModuleFileName(someModuleInfo.mModuleFileName)
{
}
inline
ModuleInfo::ModuleInfo(HMODULE hModule,const String &strModuleBaseName,const String &strModuleFileName)
: mhModule(hModule), mModuleBaseName(strModuleBaseName), mModuleFileName(strModuleFileName)
{
}
inline
ModuleInfo::~ModuleInfo()
{
}
inline
ModuleInfo &ModuleInfo::operator=(const ModuleInfo &someModuleInfo)
{
module(someModuleInfo.module());
moduleBaseName(someModuleInfo.moduleBaseName());
moduleFileName(someModuleInfo.moduleFileName());
return *this;
}
inline
bool ModuleInfo::operator==(const ModuleInfo &someModuleInfo)const
{
return (module()==someModuleInfo.module()&&
moduleBaseName()==someModuleInfo.moduleBaseName()&&
moduleFileName()==someModuleInfo.moduleFileName());
}
inline
HMODULE ModuleInfo::module(void)const
{
return mhModule;
}
inline
void ModuleInfo::module(HMODULE hModule)
{
mhModule=hModule;
}
inline
const String &ModuleInfo::moduleBaseName(void)const
{
return mModuleBaseName;
}
inline
void ModuleInfo::moduleBaseName(const String &strModuleBaseName)
{
mModuleBaseName=strModuleBaseName;
}
inline
const String &ModuleInfo::moduleFileName(void)const
{
return mModuleFileName;
}
inline
void ModuleInfo::moduleFileName(const String &strModuleFileName)
{
mModuleFileName=strModuleFileName;
}
#endif