1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim:expandtab:shiftwidth=4:tabstop=4:
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 mozilla_a11y_ApplicationAccessibleWrap_h__
9 #define mozilla_a11y_ApplicationAccessibleWrap_h__
10 
11 #include "ApplicationAccessible.h"
12 
13 #include "AccessibleApplication.h"
14 
15 namespace mozilla {
16 namespace a11y {
17 
18 class ApplicationAccessibleWrap : public ApplicationAccessible,
19                                   public IAccessibleApplication {
~ApplicationAccessibleWrap()20   ~ApplicationAccessibleWrap() {}
21 
22  public:
23   // nsISupporst
24   NS_DECL_ISUPPORTS_INHERITED
25 
26   // nsAccessible
27   virtual already_AddRefed<nsIPersistentProperties> NativeAttributes() override;
28 
29   // IUnknown
30   STDMETHODIMP QueryInterface(REFIID, void**);
31 
32   // IAccessibleApplication
33   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appName(
34       /* [retval][out] */ BSTR* name);
35 
36   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appVersion(
37       /* [retval][out] */ BSTR* version);
38 
39   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_toolkitName(
40       /* [retval][out] */ BSTR* name);
41 
42   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_toolkitVersion(
43       /* [retval][out] */ BSTR* version);
44 };
45 
46 }  // namespace a11y
47 }  // namespace mozilla
48 
49 #endif
50