78 lines
1.6 KiB
C++
78 lines
1.6 KiB
C++
#ifndef _IMAGE_NTSUBSYS_HPP_
|
|
#define _IMAGE_NTSUBSYS_HPP_
|
|
#ifndef _COMMON_PUREVIEWOFFILE_HPP_
|
|
#include <common/pview.hpp>
|
|
#endif
|
|
|
|
class NTSubSystem
|
|
{
|
|
public:
|
|
enum SubSystem{Unknown=0x0000,Native=0x0001,WindowsGUI=0x0002,WindowsChar=0x0003,OS2Char=0x0005,PosixChar=0x0007};
|
|
NTSubSystem(WORD subSystem=0);
|
|
NTSubSystem(const NTSubSystem &someNTSubSystem);
|
|
~NTSubSystem();
|
|
NTSubSystem &operator=(const NTSubSystem &someNTSubSystem);
|
|
WORD operator==(const NTSubSystem &someNTSubSystem);
|
|
SubSystem subSystem(void)const;
|
|
void subSystem(SubSystem subSystem);
|
|
operator String(void)const;
|
|
private:
|
|
SubSystem mSubSystem;
|
|
};
|
|
|
|
inline
|
|
NTSubSystem::NTSubSystem(WORD subSystem)
|
|
: mSubSystem((SubSystem)subSystem)
|
|
{
|
|
}
|
|
|
|
inline
|
|
NTSubSystem::NTSubSystem(const NTSubSystem &someNTSubSystem)
|
|
{
|
|
*this=someNTSubSystem;
|
|
}
|
|
|
|
inline
|
|
NTSubSystem::~NTSubSystem()
|
|
{
|
|
}
|
|
|
|
inline
|
|
NTSubSystem &NTSubSystem::operator=(const NTSubSystem &someNTSubSystem)
|
|
{
|
|
subSystem(someNTSubSystem.subSystem());
|
|
return *this;
|
|
}
|
|
|
|
inline
|
|
WORD NTSubSystem::operator==(const NTSubSystem &someNTSubSystem)
|
|
{
|
|
return subSystem()==someNTSubSystem.subSystem();
|
|
}
|
|
|
|
inline
|
|
NTSubSystem::SubSystem NTSubSystem::subSystem(void)const
|
|
{
|
|
return mSubSystem;
|
|
}
|
|
|
|
inline
|
|
void NTSubSystem::subSystem(SubSystem subSystem)
|
|
{
|
|
mSubSystem=subSystem;
|
|
}
|
|
|
|
inline
|
|
NTSubSystem::operator String(void)const
|
|
{
|
|
if(Unknown==subSystem())return "Unknown";
|
|
else if(Native==subSystem())return "Native";
|
|
else if(WindowsGUI==subSystem())return "WindowsGUI";
|
|
else if(WindowsChar==subSystem())return "WindowsChar";
|
|
else if(OS2Char==subSystem())return "OS2Char";
|
|
else if(PosixChar==subSystem())return "PosixChar";
|
|
else return "********";
|
|
}
|
|
#endif
|
|
|