diff options
Diffstat (limited to 'base/win/scoped_propvariant.h')
-rw-r--r-- | base/win/scoped_propvariant.h | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/base/win/scoped_propvariant.h b/base/win/scoped_propvariant.h deleted file mode 100644 index aa9afec1c1..0000000000 --- a/base/win/scoped_propvariant.h +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright (c) 2013 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef BASE_WIN_SCOPED_PROPVARIANT_H_ -#define BASE_WIN_SCOPED_PROPVARIANT_H_ - -#include <propidl.h> - -#include "base/logging.h" -#include "base/macros.h" - -namespace base { -namespace win { - -// A PROPVARIANT that is automatically initialized and cleared upon respective -// construction and destruction of this class. -class ScopedPropVariant { - public: - ScopedPropVariant() { - PropVariantInit(&pv_); - } - - ~ScopedPropVariant() { - Reset(); - } - - // Returns a pointer to the underlying PROPVARIANT for use as an out param in - // a function call. - PROPVARIANT* Receive() { - DCHECK_EQ(pv_.vt, VT_EMPTY); - return &pv_; - } - - // Clears the instance to prepare it for re-use (e.g., via Receive). - void Reset() { - if (pv_.vt != VT_EMPTY) { - HRESULT result = PropVariantClear(&pv_); - DCHECK_EQ(result, S_OK); - } - } - - const PROPVARIANT& get() const { return pv_; } - const PROPVARIANT* ptr() const { return &pv_; } - - private: - PROPVARIANT pv_; - - // Comparison operators for ScopedPropVariant are not supported at this point. - bool operator==(const ScopedPropVariant&) const; - bool operator!=(const ScopedPropVariant&) const; - DISALLOW_COPY_AND_ASSIGN(ScopedPropVariant); -}; - -} // namespace win -} // namespace base - -#endif // BASE_WIN_SCOPED_PROPVARIANT_H_ |