1 // Copyright 2020 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 UI_ACCESSIBILITY_PLATFORM_UIA_REGISTRAR_WIN_H_
6 #define UI_ACCESSIBILITY_PLATFORM_UIA_REGISTRAR_WIN_H_
7 
8 #include <objbase.h>
9 #include <uiautomation.h>
10 #include "base/macros.h"
11 #include "base/no_destructor.h"
12 #include "ui/accessibility/ax_export.h"
13 
14 namespace ui {
15 // {3761326A-34B2-465A-835D-7A3D8F4EFB92}
16 static const GUID kUiaEventTestCompleteSentinelGuid = {
17     0x3761326a,
18     0x34b2,
19     0x465a,
20     {0x83, 0x5d, 0x7a, 0x3d, 0x8f, 0x4e, 0xfb, 0x92}};
21 
22 // {cc7eeb32-4b62-4f4c-aff6-1c2e5752ad8e}
23 static const GUID kUiaPropertyUniqueIdGuid = {
24     0xcc7eeb32,
25     0x4b62,
26     0x4f4c,
27     {0xaf, 0xf6, 0x1c, 0x2e, 0x57, 0x52, 0xad, 0x8e}};
28 
29 class AX_EXPORT UiaRegistrarWin {
30  public:
31   UiaRegistrarWin();
32   ~UiaRegistrarWin();
33   PROPERTYID GetUiaUniqueIdPropertyId() const;
34   EVENTID GetUiaTestCompleteEventId() const;
35 
36   static const UiaRegistrarWin& GetInstance();
37 
38  private:
39   PROPERTYID uia_unique_id_property_id_ = 0;
40   EVENTID uia_test_complete_event_id_ = 0;
41 };
42 
43 }  // namespace ui
44 
45 #endif  // UI_ACCESSIBILITY_PLATFORM_UIA_REGISTRAR_WIN_H_
46