| OLD | NEW | 
|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #ifndef BASE_WIN_IUNKNOWN_IMPL_H_ | 5 #ifndef BASE_WIN_IUNKNOWN_IMPL_H_ | 
| 6 #define BASE_WIN_IUNKNOWN_IMPL_H_ | 6 #define BASE_WIN_IUNKNOWN_IMPL_H_ | 
| 7 | 7 | 
| 8 #include <unknwn.h> | 8 #include <unknwn.h> | 
| 9 | 9 | 
| 10 #include "base/atomic_ref_count.h" | 10 #include "base/atomic_ref_count.h" | 
| 11 #include "base/base_export.h" | 11 #include "base/base_export.h" | 
| 12 #include "base/compiler_specific.h" | 12 #include "base/compiler_specific.h" | 
| 13 | 13 | 
| 14 namespace base { | 14 namespace base { | 
| 15 namespace win { | 15 namespace win { | 
| 16 | 16 | 
| 17 // IUnknown implementation for other classes to derive from. | 17 // IUnknown implementation for other classes to derive from. | 
| 18 class BASE_EXPORT IUnknownImpl : public IUnknown { | 18 class BASE_EXPORT IUnknownImpl : public IUnknown { | 
| 19  public: | 19  public: | 
| 20   IUnknownImpl(); | 20   IUnknownImpl(); | 
| 21 | 21 | 
| 22   virtual ULONG STDMETHODCALLTYPE AddRef() OVERRIDE; | 22   virtual ULONG STDMETHODCALLTYPE AddRef() override; | 
| 23   virtual ULONG STDMETHODCALLTYPE Release() OVERRIDE; | 23   virtual ULONG STDMETHODCALLTYPE Release() override; | 
| 24 | 24 | 
| 25   // Subclasses should extend this to return any interfaces they provide. | 25   // Subclasses should extend this to return any interfaces they provide. | 
| 26   virtual STDMETHODIMP QueryInterface(REFIID riid, void** ppv) OVERRIDE; | 26   virtual STDMETHODIMP QueryInterface(REFIID riid, void** ppv) override; | 
| 27 | 27 | 
| 28  protected: | 28  protected: | 
| 29   virtual ~IUnknownImpl(); | 29   virtual ~IUnknownImpl(); | 
| 30 | 30 | 
| 31  private: | 31  private: | 
| 32   AtomicRefCount ref_count_; | 32   AtomicRefCount ref_count_; | 
| 33 }; | 33 }; | 
| 34 | 34 | 
| 35 }  // namespace win | 35 }  // namespace win | 
| 36 }  // namespace base | 36 }  // namespace base | 
| 37 | 37 | 
| 38 #endif  // BASE_WIN_IUNKNOWN_IMPL_H_ | 38 #endif  // BASE_WIN_IUNKNOWN_IMPL_H_ | 
| OLD | NEW | 
|---|