1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim:expandtab:shiftwidth=2:tabstop=2:
3  */
4 /* This Source Code Form is subject to the terms of the Mozilla Public
5  * License, v. 2.0. If a copy of the MPL was not distributed with this
6  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 
8 #ifndef IA2_ACCESSIBLE_APPLICATION_H_
9 #define IA2_ACCESSIBLE_APPLICATION_H_
10 
11 #include "AccessibleApplication.h"
12 #include "IUnknownImpl.h"
13 #include "MsaaAccessible.h"
14 
15 namespace mozilla {
16 namespace a11y {
17 class ApplicationAccessible;
18 
19 class ia2AccessibleApplication : public IAccessibleApplication,
20                                  public MsaaAccessible {
21  public:
22   // IUnknown
23   DECL_IUNKNOWN_INHERITED
24   IMPL_IUNKNOWN_REFCOUNTING_INHERITED(MsaaAccessible)
25 
26   // IAccessibleApplication
27   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appName(
28       /* [retval][out] */ BSTR* name);
29 
30   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appVersion(
31       /* [retval][out] */ BSTR* version);
32 
33   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_toolkitName(
34       /* [retval][out] */ BSTR* name);
35 
36   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_toolkitVersion(
37       /* [retval][out] */ BSTR* version);
38 
39  protected:
40   using MsaaAccessible::MsaaAccessible;
41 
42  private:
43   ApplicationAccessible* AppAcc();
44 };
45 
46 }  // namespace a11y
47 }  // namespace mozilla
48 
49 #endif
50