Index: src/libchcore/TAutoHandles.h =================================================================== diff -u -N -ra4635addad389b9e117679437a3e1b64a739ea96 -rb26ced3298e3e7e51d91f3ac70b56746786da83b --- src/libchcore/TAutoHandles.h (.../TAutoHandles.h) (revision a4635addad389b9e117679437a3e1b64a739ea96) +++ src/libchcore/TAutoHandles.h (.../TAutoHandles.h) (revision b26ced3298e3e7e51d91f3ac70b56746786da83b) @@ -29,48 +29,25 @@ class TAutoFileHandle { public: - // ============================================================================ - /// TAutoFileHandle::TAutoFileHandle - /// @date 2010/08/26 - /// - /// @brief Constructs the TAutoFileHandle object. - // ============================================================================ TAutoFileHandle() : m_hHandle(INVALID_HANDLE_VALUE) { } - // ============================================================================ - /// TAutoFileHandle::TAutoFileHandle - /// @date 2010/08/26 - /// - /// @brief Constructs the TAutoFileHandle object with specified handle. - /// @param[in] hHandle - System handle to be managed by this class. - // ============================================================================ + TAutoFileHandle(const TAutoFileHandle&) = delete; + explicit TAutoFileHandle(HANDLE hHandle) : m_hHandle(hHandle) { } - // ============================================================================ - /// TAutoFileHandle::~TAutoFileHandle - /// @date 2010/08/26 - /// - /// @brief Destructs the TAutoFileHandle object and closes handle if not closed already. - // ============================================================================ ~TAutoFileHandle() { Close(); } - // ============================================================================ - /// TAutoFileHandle::operator= - /// @date 2010/08/26 - /// - /// @brief Assignment operator. - /// @param[in] hHandle - Handle to be assigned. - /// @return Reference to this object, - // ============================================================================ + TAutoFileHandle& operator=(const TAutoFileHandle&) = delete; + TAutoFileHandle& operator=(HANDLE hHandle) { if (m_hHandle != hHandle) @@ -81,25 +58,16 @@ return *this; } - // ============================================================================ - /// TAutoFileHandle::operator HANDLE - /// @date 2010/08/26 - /// - /// @brief Retrieves the system handle. - /// @return HANDLE value. - // ============================================================================ - operator HANDLE() + explicit operator HANDLE() const { return m_hHandle; } - // ============================================================================ - /// TAutoFileHandle::Close - /// @date 2010/08/26 - /// - /// @brief Closes the internal handle if needed. - /// @return Result of the CloseHandle() function. - // ============================================================================ + bool HasValidHandle() const + { + return m_hHandle != INVALID_HANDLE_VALUE; + } + BOOL Close() { BOOL bResult = TRUE; @@ -112,13 +80,6 @@ return bResult; } - // ============================================================================ - /// TAutoFileHandle::Detach - /// @date 2010/09/12 - /// - /// @brief Detaches the handle, so it won't be closed in destructor. - /// @return Returns current handle. - // ============================================================================ HANDLE Detach() { HANDLE hHandle = m_hHandle;