Index: base/win/scoped_co_mem.h |
diff --git a/base/win/scoped_co_mem.h b/base/win/scoped_co_mem.h |
deleted file mode 100644 |
index fc85114828fdcf9ca0d3971846670f3a1da9bbc5..0000000000000000000000000000000000000000 |
--- a/base/win/scoped_co_mem.h |
+++ /dev/null |
@@ -1,68 +0,0 @@ |
-// Copyright (c) 2011 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_CO_MEM_H_ |
-#define BASE_WIN_SCOPED_CO_MEM_H_ |
- |
-#include <objbase.h> |
- |
-#include "base/basictypes.h" |
-#include "base/logging.h" |
- |
-namespace base { |
-namespace win { |
- |
-// Simple scoped memory releaser class for COM allocated memory. |
-// Example: |
-// base::win::ScopedCoMem<ITEMIDLIST> file_item; |
-// SHGetSomeInfo(&file_item, ...); |
-// ... |
-// return; <-- memory released |
-template<typename T> |
-class ScopedCoMem { |
- public: |
- ScopedCoMem() : mem_ptr_(NULL) {} |
- ~ScopedCoMem() { |
- Reset(NULL); |
- } |
- |
- T** operator&() { // NOLINT |
- DCHECK(mem_ptr_ == NULL); // To catch memory leaks. |
- return &mem_ptr_; |
- } |
- |
- operator T*() { |
- return mem_ptr_; |
- } |
- |
- T* operator->() { |
- DCHECK(mem_ptr_ != NULL); |
- return mem_ptr_; |
- } |
- |
- const T* operator->() const { |
- DCHECK(mem_ptr_ != NULL); |
- return mem_ptr_; |
- } |
- |
- void Reset(T* ptr) { |
- if (mem_ptr_) |
- CoTaskMemFree(mem_ptr_); |
- mem_ptr_ = ptr; |
- } |
- |
- T* get() const { |
- return mem_ptr_; |
- } |
- |
- private: |
- T* mem_ptr_; |
- |
- DISALLOW_COPY_AND_ASSIGN(ScopedCoMem); |
-}; |
- |
-} // namespace win |
-} // namespace base |
- |
-#endif // BASE_WIN_SCOPED_CO_MEM_H_ |