Index: include/utils/win/SkTScopedComPtr.h |
diff --git a/include/utils/win/SkTScopedComPtr.h b/include/utils/win/SkTScopedComPtr.h |
deleted file mode 100644 |
index 6fb6143adc71a74c4d74b9cc807921cfbadfa4e9..0000000000000000000000000000000000000000 |
--- a/include/utils/win/SkTScopedComPtr.h |
+++ /dev/null |
@@ -1,77 +0,0 @@ |
-/* |
- * Copyright 2011 Google Inc. |
- * |
- * Use of this source code is governed by a BSD-style license that can be |
- * found in the LICENSE file. |
- */ |
- |
-#ifndef SkTScopedComPtr_DEFINED |
-#define SkTScopedComPtr_DEFINED |
- |
-#include "../../private/SkLeanWindows.h" |
- |
-#ifdef SK_BUILD_FOR_WIN |
- |
-template<typename T> |
-class SkBlockComRef : public T { |
-private: |
- virtual ULONG STDMETHODCALLTYPE AddRef(void) = 0; |
- virtual ULONG STDMETHODCALLTYPE Release(void) = 0; |
-}; |
- |
-template<typename T> T* SkRefComPtr(T* ptr) { |
- ptr->AddRef(); |
- return ptr; |
-} |
- |
-template<typename T> T* SkSafeRefComPtr(T* ptr) { |
- if (ptr) { |
- ptr->AddRef(); |
- } |
- return ptr; |
-} |
- |
-template<typename T> |
-class SkTScopedComPtr : SkNoncopyable { |
-private: |
- T *fPtr; |
- |
-public: |
- explicit SkTScopedComPtr(T *ptr = NULL) : fPtr(ptr) { } |
- ~SkTScopedComPtr() { |
- this->reset(); |
- } |
- T &operator*() const { SkASSERT(fPtr != NULL); return *fPtr; } |
- SkBlockComRef<T> *operator->() const { |
- return static_cast<SkBlockComRef<T>*>(fPtr); |
- } |
- /** |
- * Returns the address of the underlying pointer. |
- * This is dangerous -- it breaks encapsulation and the reference escapes. |
- * Must only be used on instances currently pointing to NULL, |
- * and only to initialize the instance. |
- */ |
- T **operator&() { SkASSERT(fPtr == NULL); return &fPtr; } |
- T *get() const { return fPtr; } |
- void reset() { |
- if (this->fPtr) { |
- this->fPtr->Release(); |
- this->fPtr = NULL; |
- } |
- } |
- |
- void swap(SkTScopedComPtr<T>& that) { |
- T* temp = this->fPtr; |
- this->fPtr = that.fPtr; |
- that.fPtr = temp; |
- } |
- |
- T* release() { |
- T* temp = this->fPtr; |
- this->fPtr = NULL; |
- return temp; |
- } |
-}; |
- |
-#endif // SK_BUILD_FOR_WIN |
-#endif // SkTScopedComPtr_DEFINED |