sdnAccessible.h (4056B)
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2 /* vim: set ts=2 et sw=2 tw=80: */ 3 /* This Source Code Form is subject to the terms of the Mozilla Public 4 * License, v. 2.0. If a copy of the MPL was not distributed with this 5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 6 7 #ifndef mozilla_a11y_sdnAccessible_h_ 8 #define mozilla_a11y_sdnAccessible_h_ 9 10 #include "ISimpleDOM.h" 11 #include "IUnknownImpl.h" 12 #include "MsaaAccessible.h" 13 14 #include "mozilla/NotNull.h" 15 16 namespace mozilla { 17 namespace a11y { 18 19 class sdnAccessible final : public ISimpleDOMNode { 20 public: 21 explicit sdnAccessible(NotNull<MsaaAccessible*> aMsaa) : mMsaa(aMsaa) {} 22 ~sdnAccessible(); 23 24 // IUnknown 25 DECL_IUNKNOWN 26 27 virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_nodeInfo( 28 /* [out] */ BSTR __RPC_FAR* aNodeName, 29 /* [out] */ short __RPC_FAR* aNameSpaceID, 30 /* [out] */ BSTR __RPC_FAR* aNodeValue, 31 /* [out] */ unsigned int __RPC_FAR* aNumChildren, 32 /* [out] */ unsigned int __RPC_FAR* aUniqueID, 33 /* [out][retval] */ unsigned short __RPC_FAR* aNodeType); 34 35 virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_attributes( 36 /* [in] */ unsigned short aMaxAttribs, 37 /* [length_is][size_is][out] */ BSTR __RPC_FAR* aAttribNames, 38 /* [length_is][size_is][out] */ short __RPC_FAR* aNameSpaceIDs, 39 /* [length_is][size_is][out] */ BSTR __RPC_FAR* aAttribValues, 40 /* [out][retval] */ unsigned short __RPC_FAR* aNumAttribs); 41 42 virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_attributesForNames( 43 /* [in] */ unsigned short aMaxAttribs, 44 /* [length_is][size_is][in] */ BSTR __RPC_FAR* aAttribNames, 45 /* [length_is][size_is][in] */ short __RPC_FAR* aNameSpaceID, 46 /* [length_is][size_is][retval] */ BSTR __RPC_FAR* aAttribValues); 47 48 virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_computedStyle( 49 /* [in] */ unsigned short aMaxStyleProperties, 50 /* [in] */ boolean aUseAlternateView, 51 /* [length_is][size_is][out] */ BSTR __RPC_FAR* aStyleProperties, 52 /* [length_is][size_is][out] */ BSTR __RPC_FAR* aStyleValues, 53 /* [out][retval] */ unsigned short __RPC_FAR* aNumStyleProperties); 54 55 virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE 56 get_computedStyleForProperties( 57 /* [in] */ unsigned short aNumStyleProperties, 58 /* [in] */ boolean aUseAlternateView, 59 /* [length_is][size_is][in] */ BSTR __RPC_FAR* aStyleProperties, 60 /* [length_is][size_is][out][retval] */ BSTR __RPC_FAR* aStyleValues); 61 62 virtual HRESULT STDMETHODCALLTYPE scrollTo(/* [in] */ boolean aScrollTopLeft); 63 64 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_parentNode( 65 /* [out][retval] */ ISimpleDOMNode __RPC_FAR* __RPC_FAR* aNode); 66 67 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_firstChild( 68 /* [out][retval] */ ISimpleDOMNode __RPC_FAR* __RPC_FAR* aNode); 69 70 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastChild( 71 /* [out][retval] */ ISimpleDOMNode __RPC_FAR* __RPC_FAR* aNode); 72 73 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_previousSibling( 74 /* [out][retval] */ ISimpleDOMNode __RPC_FAR* __RPC_FAR* aNode); 75 76 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextSibling( 77 /* [out][retval] */ ISimpleDOMNode __RPC_FAR* __RPC_FAR* aNode); 78 79 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_childAt( 80 /* [in] */ unsigned aChildIndex, 81 /* [out][retval] */ ISimpleDOMNode __RPC_FAR* __RPC_FAR* aNode); 82 83 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_innerHTML( 84 /* [out][retval] */ BSTR __RPC_FAR* aInnerHTML); 85 86 virtual /* [local][propget] */ HRESULT STDMETHODCALLTYPE get_localInterface( 87 /* [retval][out] */ void __RPC_FAR* __RPC_FAR* aLocalInterface); 88 89 virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_language( 90 /* [out][retval] */ BSTR __RPC_FAR* aLanguage); 91 92 private: 93 RefPtr<MsaaAccessible> mMsaa; 94 }; 95 96 } // namespace a11y 97 } // namespace mozilla 98 99 #endif // mozilla_a11y_sdnAccessible_h_