other-licenses/7zstub/src/Windows/Handle.h

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 // Windows/Handle.h
     3 #ifndef __WINDOWS_HANDLE_H
     4 #define __WINDOWS_HANDLE_H
     6 namespace NWindows {
     8 class CHandle
     9 {
    10 protected:
    11   HANDLE _handle;
    12 public:
    13   operator HANDLE() { return _handle; }
    14   CHandle(): _handle(NULL) {}
    15   ~CHandle() { Close(); }
    16   bool Close()
    17   {
    18     if (_handle == NULL)
    19       return true;
    20     if (!::CloseHandle(_handle))
    21       return false;
    22     _handle = NULL;
    23     return true;
    24   }
    25   void Attach(HANDLE handle) 
    26     { _handle = handle; }
    27   HANDLE Detach() 
    28   { 
    29     HANDLE handle = _handle;
    30     _handle = NULL; 
    31     return handle;
    32   }
    33 };
    35 }
    37 #endif

mercurial