Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(96)

Side by Side Diff: base/win/enum_variant.h

Issue 8588036: Improve support for multiselect list box accessibility on Windows. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef BASE_WIN_ENUM_VARIANT_H_
6 #define BASE_WIN_ENUM_VARIANT_H_
7 #pragma once
8
9 #include <unknwn.h>
10
11 #include "base/memory/scoped_ptr.h"
12
13 namespace base {
14 namespace win {
15
16 // A simple implementation of IEnumVARIANT.
17 class BASE_EXPORT EnumVariant : public IEnumVARIANT {
darin (slow to review) 2011/11/22 01:16:52 I know you are naming this based on the interface
dmazzoni 2011/11/22 08:08:14 In this case, I favor something closer to the inte
18 public:
19 // The constructor allocates an array of size |count|. Then use
20 // itemAt to set the value of each item in the array to initialize it.
darin (slow to review) 2011/11/22 01:16:52 This comment refers to a function named "itemAt" t
dmazzoni 2011/11/22 08:08:14 Renamed get() -> ItemAt() as per your suggestion b
21 EnumVariant(unsigned long count);
22 virtual ~EnumVariant();
darin (slow to review) 2011/11/22 01:16:52 The destructor should not be public as deleting a
dmazzoni 2011/11/22 08:08:14 Done.
23
24 VARIANT* get(unsigned long index);
darin (slow to review) 2011/11/22 01:16:52 nit: non-inline functions should be given CamelCas
dmazzoni 2011/11/22 08:08:14 Changed back to ItemAt (as you can see from the co
25
26 // IUnknown.
27 ULONG STDMETHODCALLTYPE AddRef();
28
darin (slow to review) 2011/11/22 01:16:52 nit: nuke the extra new lines between method decla
dmazzoni 2011/11/22 08:08:14 Done.
29 ULONG STDMETHODCALLTYPE Release();
30
31 STDMETHODIMP QueryInterface(REFIID riid, void** ppv);
32
33 // IEnumVARIANT.
34 STDMETHODIMP Next(ULONG requested_count,
35 VARIANT* out_elements,
36 ULONG* out_elements_received);
37
38 STDMETHODIMP Skip(ULONG skip_count);
39
40 STDMETHODIMP Reset();
41
42 STDMETHODIMP Clone(IEnumVARIANT** out_cloned_object);
43
44 private:
45 scoped_array<VARIANT> items_;
46 ULONG count_;
47 ULONG current_index_;
48
49 // IUnknown ref count.
50 ULONG iunknown_ref_count_;
darin (slow to review) 2011/11/22 01:16:52 nit: why bother with the iunknown_ prefix here? i
dmazzoni 2011/11/22 08:08:14 Unfortunately RefCountedThreadSafe has its own Add
51 };
52
53 } // namespace win
54 } // namespace base
55
56 #endif // BASE_WIN_ENUM_VARIANT_H_
OLDNEW
« no previous file with comments | « base/base.gypi ('k') | base/win/enum_variant.cc » ('j') | base/win/enum_variant.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698