Files
Work/common/CFLAGS.HPP
2024-08-07 09:09:36 -04:00

80 lines
1.8 KiB
C++

#if defined(__FLAT__)
#ifndef _COMMON_CREATIONFLAGS_HPP_
#define _COMMON_CREATIONFLAGS_HPP_
class CreationFlags
{
public:
enum Flags{DefaultErrorMode=CREATE_DEFAULT_ERROR_MODE,
NewConsole=CREATE_NEW_CONSOLE,
NewProcessGroup=CREATE_NEW_PROCESS_GROUP,
SeperateWOWVDM=CREATE_SEPARATE_WOW_VDM,
Suspended=CREATE_SUSPENDED,
UnicodeEnvironment=CREATE_UNICODE_ENVIRONMENT,
DebugProcess=DEBUG_PROCESS,
DebugOnlyThisProcess=DEBUG_ONLY_THIS_PROCESS,
DetachedProcess=DETACHED_PROCESS,
NormalPriorityClass=NORMAL_PRIORITY_CLASS,
IdlePriorityClass=IDLE_PRIORITY_CLASS,
HighPriorityClass=HIGH_PRIORITY_CLASS,
RealtimePriorityClass=REALTIME_PRIORITY_CLASS};
CreationFlags(Flags creationFlags=NormalPriorityClass);
CreationFlags(const CreationFlags &someCreationFlags);
virtual ~CreationFlags();
CreationFlags &operator=(const CreationFlags &someCreationFlags);
WORD operator==(const CreationFlags &someCreationFlags);
CreationFlags &operator+=(Flags creationFlags);
operator DWORD(void)const;
private:
DWORD mCreationFlags;
};
inline
CreationFlags::CreationFlags(Flags creationFlags)
: mCreationFlags(creationFlags)
{
}
inline
CreationFlags::CreationFlags(const CreationFlags &someCreationFlags)
{
*this=someCreationFlags;
}
inline
CreationFlags::~CreationFlags()
{
}
inline
CreationFlags &CreationFlags::operator=(const CreationFlags &someCreationFlags)
{
mCreationFlags=someCreationFlags.mCreationFlags;
return *this;
}
inline
WORD CreationFlags::operator==(const CreationFlags &someCreationFlags)
{
return mCreationFlags==someCreationFlags.mCreationFlags;
}
inline
CreationFlags &CreationFlags::operator+=(Flags creationFlags)
{
mCreationFlags|=(DWORD)creationFlags;
return *this;
}
inline
CreationFlags::operator DWORD(void)const
{
return mCreationFlags;
}
#endif
#endif