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

107 lines
1.8 KiB
C++

#ifndef _COMMON_OVERLAPPED_HPP_
#define _COMMON_OVERLAPPED_HPP_
#ifndef _COMMON_WINDOWS_HPP_
#include <common/windows.hpp>
#endif
class Overlapped : private _OVERLAPPED
{
public:
Overlapped(void);
virtual ~Overlapped();
DWORD offsetLow(void)const;
void offsetLow(DWORD offsetLow);
DWORD offsetHigh(void)const;
void offsetHigh(DWORD offsetHigh);
HANDLE event(void)const;
void event(HANDLE event);
_OVERLAPPED &getOverlapped(void);
private:
Overlapped(const Overlapped &someOverlapped);
Overlapped &operator=(const Overlapped &someOverlapped);
BOOL operator==(const Overlapped &someOverlapped)const;
void zeroInit(void);
};
inline
Overlapped::Overlapped(void)
{
zeroInit();
}
inline
Overlapped::Overlapped(const Overlapped &someOverlapped)
{ // private implementation
*this=someOverlapped;
}
inline
Overlapped::~Overlapped()
{
}
inline
Overlapped &Overlapped::operator=(const Overlapped &/*someOverlapped*/)
{ // private implementation
return *this;
}
inline
BOOL Overlapped::operator==(const Overlapped &/*someOverlapped*/)const
{
return FALSE;
}
inline
DWORD Overlapped::offsetLow(void)const
{
return _OVERLAPPED::Offset;
}
inline
void Overlapped::offsetLow(DWORD offsetLow)
{
_OVERLAPPED::Offset=offsetLow;
}
inline
DWORD Overlapped::offsetHigh(void)const
{
return _OVERLAPPED::OffsetHigh;
}
inline
void Overlapped::offsetHigh(DWORD offsetHigh)
{
_OVERLAPPED::OffsetHigh=offsetHigh;
}
inline
HANDLE Overlapped::event(void)const
{
return _OVERLAPPED::hEvent;
}
inline
void Overlapped::event(HANDLE hEvent)
{
_OVERLAPPED::hEvent=hEvent;
}
inline
_OVERLAPPED &Overlapped::getOverlapped(void)
{
return *this;
}
inline
void Overlapped::zeroInit(void)
{
_OVERLAPPED::Internal=0;
_OVERLAPPED::InternalHigh=0;
_OVERLAPPED::Offset=0;
_OVERLAPPED::OffsetHigh=0;
_OVERLAPPED::hEvent=0;
}
#endif