diff options
Diffstat (limited to 'chromium/base/win/enum_variant.h')
-rw-r--r-- | chromium/base/win/enum_variant.h | 29 |
1 files changed, 12 insertions, 17 deletions
diff --git a/chromium/base/win/enum_variant.h b/chromium/base/win/enum_variant.h index 47ffd070de1..1adf4aac224 100644 --- a/chromium/base/win/enum_variant.h +++ b/chromium/base/win/enum_variant.h @@ -5,12 +5,11 @@ #ifndef BASE_WIN_ENUM_VARIANT_H_ #define BASE_WIN_ENUM_VARIANT_H_ -#include <unknwn.h> +#include <wrl/implements.h> #include <memory> #include <vector> -#include "base/win/iunknown_impl.h" #include "base/win/scoped_variant.h" namespace base { @@ -18,29 +17,25 @@ namespace win { // A simple implementation of IEnumVARIANT. class BASE_EXPORT EnumVariant - : public IEnumVARIANT, - public IUnknownImpl { + : public Microsoft::WRL::RuntimeClass< + Microsoft::WRL::RuntimeClassFlags<Microsoft::WRL::ClassicCom>, + IEnumVARIANT> { public: // The constructor allocates a vector of empty ScopedVariants of size |count|. // Use ItemAt to set the value of each item in the array. explicit EnumVariant(ULONG count); + // IEnumVARIANT: + IFACEMETHODIMP Next(ULONG requested_count, + VARIANT* out_elements, + ULONG* out_elements_received) override; + IFACEMETHODIMP Skip(ULONG skip_count) override; + IFACEMETHODIMP Reset() override; + IFACEMETHODIMP Clone(IEnumVARIANT** out_cloned_object) override; + // Returns a mutable pointer to the item at position |index|. VARIANT* ItemAt(ULONG index); - // IUnknown. - ULONG STDMETHODCALLTYPE AddRef() override; - ULONG STDMETHODCALLTYPE Release() override; - STDMETHODIMP QueryInterface(REFIID riid, void** ppv) override; - - // IEnumVARIANT. - STDMETHODIMP Next(ULONG requested_count, - VARIANT* out_elements, - ULONG* out_elements_received) override; - STDMETHODIMP Skip(ULONG skip_count) override; - STDMETHODIMP Reset() override; - STDMETHODIMP Clone(IEnumVARIANT** out_cloned_object) override; - private: ~EnumVariant() override; |