Source code

Revision control

Copy as Markdown

Other Tools

// Windows/Handle.h↩
#ifndef __WINDOWS_HANDLE_H↩
#define __WINDOWS_HANDLE_H↩
namespace NWindows {↩
class CHandle↩
{↩
protected:↩
HANDLE _handle;↩
public:↩
operator HANDLE() { return _handle; }↩
CHandle(): _handle(NULL) {}↩
~CHandle() { Close(); }↩
bool IsCreated() const { return (_handle != NULL); }↩
bool Close()↩
{↩
if (_handle == NULL)↩
return true;↩
if (!::CloseHandle(_handle))↩
return false;↩
_handle = NULL;↩
return true;↩
}↩
void Attach(HANDLE handle) { _handle = handle; }↩
HANDLE Detach()↩
{↩
HANDLE handle = _handle;↩
_handle = NULL;↩
return handle;↩
}↩
};↩
}↩
#endif