#ifndef _PSAPINT_MODULEINFO_HPP_ #define _PSAPINT_MODULEINFO_HPP_ #ifndef _COMMON_WINDOWS_HPP_ #include #endif #ifndef _COMMON_ARRAY_HPP_ #include #endif class ModuleInfo; typedef Array 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