diff options
author | David Ostrovsky <david@ostrovsky.org> | 2013-11-02 20:40:47 +0100 |
---|---|---|
committer | David Ostrovsky <david@ostrovsky.org> | 2013-11-02 22:38:33 +0100 |
commit | 903ab3e93ecded38b4ff0e0a85db16226545b750 (patch) | |
tree | 21b0b8e2af228ede58e87f31dca1e8f1087044c3 | |
parent | 253b6d5b504813db3432367a8e8a71e072329c3e (diff) |
Gbuildify winaccessibility service
feature/ia2
Change-Id: Ia66872bee7c70c840c1bd5caa626bf63eac9ef7c
18 files changed, 149 insertions, 47 deletions
diff --git a/Repository.mk b/Repository.mk index d032943c7b9d..90840bfb5880 100755 --- a/Repository.mk +++ b/Repository.mk @@ -564,7 +564,10 @@ $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo, \ $(if $(DISABLE_ATL),,\ inprocserv \ ) \ - UAccCOM \ + $(if $(ENABLE_IA2), \ + UAccCOM \ + winaccessibility \ + ) \ ) \ )) $(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \ diff --git a/include/vcl/svapp.hxx b/include/vcl/svapp.hxx index 3f613edb200e..7d1a98c9a225 100644..100755 --- a/include/vcl/svapp.hxx +++ b/include/vcl/svapp.hxx @@ -400,6 +400,8 @@ public: createFolderPicker( const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& rServiceManager ); + static bool IsEnableAccessInterface() {return true;} + private: DECL_STATIC_LINK( Application, PostEventHandler, void* ); diff --git a/postprocess/Rdb_services.mk b/postprocess/Rdb_services.mk index 06d90e3ec7f9..3f2b87408423 100644..100755 --- a/postprocess/Rdb_services.mk +++ b/postprocess/Rdb_services.mk @@ -138,8 +138,11 @@ $(eval $(call gb_Rdb_add_components,services,\ shell/source/win32/simplemail/smplmail \ shell/source/win32/syssh \ vcl/vcl.windows \ - $(if $(ENABLE_JAVA), \ - accessibility/bridge/org/openoffice/accessibility/java_uno_accessbridge \ + $(if $(ENABLE_IA2), \ + winaccessibility/source/service/winaccessibility, \ + $(if $(ENABLE_JAVA), \ + accessibility/bridge/org/openoffice/accessibility/java_uno_accessbridge \ + ) \ ) \ ) \ $(if $(ENABLE_HEADLESS), \ diff --git a/winaccessibility/Library_uacccom.mk b/winaccessibility/Library_uacccom.mk index 749be7c23597..b3b91ce3c76c 100755 --- a/winaccessibility/Library_uacccom.mk +++ b/winaccessibility/Library_uacccom.mk @@ -37,21 +37,20 @@ $(eval $(call gb_Library_add_exception_objects,UAccCOM,\ winaccessibility/source/UAccCOM/AccHypertext \ winaccessibility/source/UAccCOM/AccImage \ winaccessibility/source/UAccCOM/AccRelation \ + winaccessibility/source/UAccCOM/AccTable \ winaccessibility/source/UAccCOM/AccText \ + winaccessibility/source/UAccCOM/AccTextBase \ winaccessibility/source/UAccCOM/AccValue \ + winaccessibility/source/UAccCOM/CheckEnableAccessible \ winaccessibility/source/UAccCOM/EnumVariant \ + winaccessibility/source/UAccCOM/MAccessible \ winaccessibility/source/UAccCOM/StdAfx \ winaccessibility/source/UAccCOM/UAccCOM \ winaccessibility/source/UAccCOM/UNOXWrapper \ )) -# winaccessibility/source/UAccCOM/AccTextBase \ -# winaccessibility/source/UAccCOM/AccTable \ -# winaccessibility/source/UAccCOM/MAccessible \ - -# /DEF:$(SRCDIR)/winaccessibility/source/UAccCOM/UAccCOM.def \ - $(eval $(call gb_Library_add_ldflags,UAccCOM,\ + /DEF:$(SRCDIR)/winaccessibility/source/UAccCOM/UAccCOM.def \ -LIBPATH:$(ATL_LIB) \ -delayload:$(call gb_Library_get_filename,cppu) \ -delayload:$(call gb_Library_get_filename,sal) \ @@ -64,6 +63,7 @@ $(eval $(call gb_Library_use_libraries,UAccCOM,\ )) $(eval $(call gb_Library_use_externals,UAccCOM,\ + boost_headers \ icuuc \ icui18n \ )) diff --git a/winaccessibility/Library_winaccessibility.mk b/winaccessibility/Library_winaccessibility.mk new file mode 100755 index 000000000000..0f1558c1f6f9 --- /dev/null +++ b/winaccessibility/Library_winaccessibility.mk @@ -0,0 +1,81 @@ +# -*- Mode: makefile; tab-width: 4; indent-tabs-mode: t -*- +# +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# + +$(eval $(call gb_Library_Library,winaccessibility)) + +$(eval $(call gb_Library_use_custom_headers,winaccessibility,winaccessibility/ia2/idl)) + +$(eval $(call gb_Library_set_include,winaccessibility,\ + $$(INCLUDE) \ + -I$(SRCDIR)/winaccessibility/inc \ + $(foreach i,$(ATL_INCLUDE), -I$(i)) \ +)) + +$(eval $(call gb_Library_use_sdk_api,winaccessibility)) + +$(eval $(call gb_Library_set_componentfile,winaccessibility,winaccessibility/source/service/winaccessibility)) + +$(eval $(call gb_Library_add_exception_objects,winaccessibility,\ + winaccessibility/source/service/AccObject \ + winaccessibility/source/service/ResIDGenerator \ + winaccessibility/source/service/AccObjectWinManager \ + winaccessibility/source/service/AccObjectManagerAgent \ + winaccessibility/source/service/AccEventListener \ + winaccessibility/source/service/AccComponentEventListener \ + winaccessibility/source/service/AccContainerEventListener \ + winaccessibility/source/service/AccDialogEventListener \ + winaccessibility/source/service/AccFrameEventListener \ + winaccessibility/source/service/AccWindowEventListener \ + winaccessibility/source/service/AccMenuEventListener \ + winaccessibility/source/service/AccTextComponentEventListener \ + winaccessibility/source/service/AccObjectContainerEventListener \ + winaccessibility/source/service/AccParagraphEventListener \ + winaccessibility/source/service/AccDescendantManagerEventListener \ + winaccessibility/source/service/AccListEventListener \ + winaccessibility/source/service/AccTableEventListener \ + winaccessibility/source/service/AccTreeEventListener \ + winaccessibility/source/service/AccTopWindowListener \ + winaccessibility/source/service/msaaservice_impl \ + winaccessibility/source/service/AccResource \ + winaccessibility/source/service/checkmt \ +)) + +$(eval $(call gb_Library_use_externals,winaccessibility,\ + boost_headers \ +)) + +$(eval $(call gb_Library_use_libraries,winaccessibility,\ + cppu \ + cppuhelper \ + vcl \ + sal \ + tk \ + uwinapi \ + tl \ +)) + +$(eval $(call gb_Library_use_system_win32_libs,winaccessibility,\ + oleacc \ + advapi32 \ + delayimp \ + kernel32 \ + ole32 \ + oleaut32 \ + shlwapi \ + user32 \ + uuid \ + gdi32 \ + shell32 \ + imm32 \ + winspool \ +)) + +# vim:set noet sw=4 ts=4: diff --git a/winaccessibility/Module_winaccessibility.mk b/winaccessibility/Module_winaccessibility.mk index e96f9884d1e7..b4945cfa93fa 100755 --- a/winaccessibility/Module_winaccessibility.mk +++ b/winaccessibility/Module_winaccessibility.mk @@ -16,6 +16,7 @@ $(eval $(call gb_Module_add_targets,winaccessibility,\ WinResTarget_uacccom \ CustomTarget_ia2_idl \ Library_uacccom \ + Library_winaccessibility \ )) endif # ENABLE_IA2 endif # COM=MSC diff --git a/winaccessibility/inc/AccEventListener.hxx b/winaccessibility/inc/AccEventListener.hxx index 1f824ca8e7f9..585c84629d5f 100644..100755 --- a/winaccessibility/inc/AccEventListener.hxx +++ b/winaccessibility/inc/AccEventListener.hxx @@ -25,7 +25,7 @@ #include <com/sun/star/accessibility/XAccessibleEventListener.hpp> #include <com/sun/star/accessibility/XAccessible.hpp> #include <cppuhelper/weak.hxx> -#include <vos/mutex.hxx> +#include <osl/mutex.hxx> class AccObjectManagerAgent; using namespace ::com::sun::star::uno; @@ -47,7 +47,7 @@ protected: AccObjectManagerAgent* pAgent; //disposed state indicator bool m_isDisposed; - mutable ::vos::OMutex aRemoveMutex; + mutable ::osl::Mutex aRemoveMutex; public: AccEventListener( com::sun::star::accessibility::XAccessible* pAcc, AccObjectManagerAgent* Agent); virtual ~AccEventListener(); diff --git a/winaccessibility/inc/AccObjectWinManager.hxx b/winaccessibility/inc/AccObjectWinManager.hxx index 89771cd9dce0..a7677dcc22fb 100644..100755 --- a/winaccessibility/inc/AccObjectWinManager.hxx +++ b/winaccessibility/inc/AccObjectWinManager.hxx @@ -27,7 +27,7 @@ #endif #include <map> #include <windows.h> -#include <vos/mutex.hxx> +#include <osl/mutex.hxx> #include <vcl/dllapi.h> #include "ResIDGenerator.hxx" #include "UAccCOM2.h" @@ -95,9 +95,9 @@ private: AccObjectManagerAgent* pAgent; static AccObjectWinManager* me; ResIDGenerator ResIdGen; - mutable ::vos::OMutex aDeleteMutex; - mutable ::vos::OMutex aNotifyMutex; - mutable ::vos::OMutex maATInterfaceMutex; + mutable ::osl::Mutex aDeleteMutex; + mutable ::osl::Mutex aNotifyMutex; + mutable ::osl::Mutex maATInterfaceMutex; AccObjectWinManager(AccObjectManagerAgent* Agent=NULL); bool m_bBridgeRegistered; diff --git a/winaccessibility/source/UAccCOM/MAccessible.cxx b/winaccessibility/source/UAccCOM/MAccessible.cxx index 7a9119f1cf43..6216ac393d41 100755 --- a/winaccessibility/source/UAccCOM/MAccessible.cxx +++ b/winaccessibility/source/UAccCOM/MAccessible.cxx @@ -38,9 +38,9 @@ #include <com/sun/star/accessibility/XAccessibleRelationSet.hpp> #include <com/sun/star/accessibility/AccessibleStateType.hpp> #include <com/sun/star/accessibility/AccessibleRole.hpp> -//#include <com/sun/star/accessibility/XAccessibleGroupPosition.hpp> +#include <com/sun/star/accessibility/XAccessibleGroupPosition.hpp> #include <com/sun/star/accessibility/XAccessibleValue.hpp> -//#include <com/sun/star/accessibility/XAccessibleExtendedAttributes.hpp> +#include <com/sun/star/accessibility/XAccessibleExtendedAttributes.hpp> #include <com/sun/star/style/LineSpacing.hpp> #include <com/sun/star/style/TabStop.hpp> #include <com/sun/star/container/XIndexReplace.hpp> diff --git a/winaccessibility/source/UAccCOM/UAccCOM.cxx b/winaccessibility/source/UAccCOM/UAccCOM.cxx index 17b9f68df789..17b9f68df789 100644..100755 --- a/winaccessibility/source/UAccCOM/UAccCOM.cxx +++ b/winaccessibility/source/UAccCOM/UAccCOM.cxx diff --git a/winaccessibility/source/UAccCOM/UAccCOM.def b/winaccessibility/source/UAccCOM/UAccCOM.def new file mode 100755 index 000000000000..575a28143316 --- /dev/null +++ b/winaccessibility/source/UAccCOM/UAccCOM.def @@ -0,0 +1,7 @@ +LIBRARY "UAccCOM.DLL" + +EXPORTS + DllCanUnloadNow PRIVATE + DllGetClassObject PRIVATE + DllRegisterServer PRIVATE + DllUnregisterServer PRIVATE diff --git a/winaccessibility/source/service/AccEventListener.cxx b/winaccessibility/source/service/AccEventListener.cxx index 1925b8746cd0..863e38feb138 100644..100755 --- a/winaccessibility/source/service/AccEventListener.cxx +++ b/winaccessibility/source/service/AccEventListener.cxx @@ -190,7 +190,7 @@ void AccEventListener::fireStateFocusdChange(bool enable) * @param state the state id * @param set true if state is set, false if state is unset */ -void AccEventListener::fireStatePropertyChange(short state, bool set ) +void AccEventListener::fireStatePropertyChange(short /*state*/, bool set ) { if( set ) { @@ -233,7 +233,7 @@ void AccEventListener::removeMeFromBroadcaster() { try { - vos::OGuard aGuard(aRemoveMutex); + osl::MutexGuard aGuard(aRemoveMutex); if(m_isDisposed) return; //get accessible context @@ -261,7 +261,7 @@ void AccEventListener::removeMeFromBroadcaster() if (pBroadcaster != NULL) { //remove the lister from accessible object - pBroadcaster->removeEventListener(this); + pBroadcaster->removeAccessibleEventListener(this); m_isDisposed = true; pAgent->NotifyDestroy(pAccessible); } @@ -276,7 +276,7 @@ void AccEventListener::removeMeFromBroadcaster() /** * this method is invoked before listener is disposed */ -void AccEventListener::disposing( const ::com::sun::star::lang::EventObject& Source ) +void AccEventListener::disposing( const ::com::sun::star::lang::EventObject& /*Source*/ ) throw (::com::sun::star::uno::RuntimeException) { removeMeFromBroadcaster(); diff --git a/winaccessibility/source/service/AccFrameEventListener.cxx b/winaccessibility/source/service/AccFrameEventListener.cxx index bec7cac44005..e775251956f6 100644..100755 --- a/winaccessibility/source/service/AccFrameEventListener.cxx +++ b/winaccessibility/source/service/AccFrameEventListener.cxx @@ -35,7 +35,8 @@ using namespace com::sun::star::accessibility; #include <vcl/window.hxx> #include <toolkit/awt/Vclxwindow.hxx> -#ifndef _SV_SYSDATA_HXX +//#ifndef _SV_SYSDATA_HXX +#if 0 #if defined( WIN ) || defined( WNT ) || defined( OS2 ) typedef sal_Int32 HWND; typedef sal_Int32 HMENU; @@ -44,9 +45,9 @@ typedef void *PVOID; typedef PVOID HANDLE; typedef HANDLE HFONT; #endif -#include <vcl/sysdata.hxx> #endif - +#include <vcl/sysdata.hxx> +//#endif AccFrameEventListener::AccFrameEventListener(com::sun::star::accessibility::XAccessible* pAcc, AccObjectManagerAgent* Agent) :AccEventListener(pAcc, Agent) @@ -117,7 +118,8 @@ void AccFrameEventListener::handleChildChangedEvent(Any oldValue, Any newValue) const SystemEnvData* systemdata=window->GetSystemData(); //add this child - pAgent->InsertAccObj( pAcc,pAccessible,(HWND)systemdata->hWnd); + //TODO(davido): FixMe + pAgent->InsertAccObj( pAcc,pAccessible,(long)(HWND)systemdata->hWnd); //add all oldValue's existing children pAgent->InsertChildrenAccObj(pAcc); pAgent->NotifyAccEvent(UM_EVENT_CHILD_ADDED, pAcc); diff --git a/winaccessibility/source/service/AccObjectWinManager.cxx b/winaccessibility/source/service/AccObjectWinManager.cxx index 8761813b24c5..cedd6d8f2a50 100644..100755 --- a/winaccessibility/source/service/AccObjectWinManager.cxx +++ b/winaccessibility/source/service/AccObjectWinManager.cxx @@ -139,7 +139,7 @@ AccObjectWinManager::~AccObjectWinManager() long AccObjectWinManager::Get_ToATInterface( HWND hWnd, long lParam, long wParam) { - vos::OGuard localGuard(maATInterfaceMutex);// + osl::MutexGuard localGuard(maATInterfaceMutex);// IMAccessible* pRetIMAcc = NULL; @@ -221,7 +221,7 @@ AccObject* AccObjectWinManager::GetTopWindowAccObj(HWND hWnd) */ sal_Bool AccObjectWinManager::NotifyAccEvent(XAccessible* pXAcc,short state) { - vos::OGuard aGuard(aNotifyMutex); + osl::MutexGuard aGuard(aNotifyMutex); if (!m_bBridgeRegistered) { @@ -573,7 +573,7 @@ void AccObjectWinManager::DeleteFromHwndXAcc(XAccessible* pXAcc ) */ void AccObjectWinManager::DeleteChildrenAccObj(XAccessible* pXAcc) { - vos::OGuard aGuard( aDeleteMutex ); + osl::MutexGuard aGuard( aDeleteMutex ); AccObject* currentObj=NULL; AccObject* childObj=NULL; XAccessible* pTmpXAcc=NULL; @@ -602,7 +602,7 @@ void AccObjectWinManager::DeleteChildrenAccObj(XAccessible* pXAcc) */ void AccObjectWinManager::DeleteAccObj( XAccessible* pXAcc ) { - vos::OGuard aGuard( aDeleteMutex ); + osl::MutexGuard aGuard( aDeleteMutex ); if( pXAcc == NULL ) return; XIdToAccObjHash::iterator temp = XIdAccList.find(pXAcc); @@ -806,7 +806,7 @@ sal_Bool AccObjectWinManager::InsertAccObj( XAccessible* pXAcc,XAccessible* pPar static_cast< XAccessibleEventListener* >(listener),UNO_QUERY ); if(pp.is()) { - broadcaster->addEventListener(pp); + broadcaster->addAccessibleEventListener(pp); } else { @@ -1330,4 +1330,4 @@ bool AccObjectWinManager::IsTopWinAcc( com::sun::star::accessibility::XAccessibl bRet = ( pAccObj->GetParentObj() == NULL ); } return bRet; -}
\ No newline at end of file +} diff --git a/winaccessibility/source/service/AccTopWindowListener.cxx b/winaccessibility/source/service/AccTopWindowListener.cxx index c853977a39ce..9f0ca3a11ed2 100644..100755 --- a/winaccessibility/source/service/AccTopWindowListener.cxx +++ b/winaccessibility/source/service/AccTopWindowListener.cxx @@ -25,7 +25,8 @@ #include <vcl/window.hxx> #include <toolkit/awt/Vclxwindow.hxx> -#ifndef _SV_SYSDATA_HXX +//#ifndef _SV_SYSDATA_HXX +#if 0 #if defined( WIN ) || defined( WNT ) || defined( OS2 ) typedef sal_Int32 HWND; typedef sal_Int32 HMENU; @@ -34,8 +35,8 @@ typedef void *PVOID; typedef PVOID HANDLE; typedef HANDLE HFONT; #endif -#include <vcl/sysdata.hxx> #endif +#include <vcl/sysdata.hxx> #include "AccTopWindowListener.hxx" #include "unomsaaevent.hxx" @@ -108,7 +109,7 @@ void AccTopWindowListener::handleWindowOpened( com::sun::star::accessibility::XA //Only AccessibleContext exist, add all listeners if(pAccessibleContext != NULL && systemdata != NULL) { - accManagerAgent.SaveTopWindowHandle((HWND)systemdata->hWnd, pAccessible); + accManagerAgent.SaveTopWindowHandle((long)(HWND)systemdata->hWnd, pAccessible); AddAllListeners(pAccessible,NULL,(HWND)systemdata->hWnd); @@ -184,7 +185,7 @@ void AccTopWindowListener::AddAllListeners(com::sun::star::accessibility::XAcces return; } - accManagerAgent.InsertAccObj( pAccessible, pParentXAcc,pWND ); + accManagerAgent.InsertAccObj( pAccessible, pParentXAcc,(long)(HWND)pWND ); if (!accManagerAgent.IsContainer(pAccessible)) { @@ -249,7 +250,7 @@ void AccTopWindowListener::AddAllListeners(com::sun::star::accessibility::XAcces } } -void AccTopWindowListener::windowClosing( const ::com::sun::star::lang::EventObject& e ) throw (::com::sun::star::uno::RuntimeException) +void AccTopWindowListener::windowClosing( const ::com::sun::star::lang::EventObject& ) throw (::com::sun::star::uno::RuntimeException) { } diff --git a/winaccessibility/source/service/checkmt.cxx b/winaccessibility/source/service/checkmt.cxx index 788f613c3789..be3acc5e3b8b 100644..100755 --- a/winaccessibility/source/service/checkmt.cxx +++ b/winaccessibility/source/service/checkmt.cxx @@ -24,16 +24,17 @@ bool IsInMainThread() { - if( Application::GetMainThreadIdentifier() == ::vos::OThread::getCurrentIdentifier()) + if( Application::GetMainThreadIdentifier() == osl::Thread::getCurrentIdentifier()) return true; else return false; } -vos::IMutex& GetSolarMutex() +comphelper::SolarMutex& GetSolarMutex() { return Application::GetSolarMutex(); } + bool IsBridgeRegisteredAcc() { return IsBridgeRegistered(); diff --git a/winaccessibility/source/service/checkmt.hxx b/winaccessibility/source/service/checkmt.hxx index 7eaaebf43713..c52b6d239925 100644..100755 --- a/winaccessibility/source/service/checkmt.hxx +++ b/winaccessibility/source/service/checkmt.hxx @@ -21,9 +21,10 @@ #pragma once -#include <vos/mutex.hxx> +#include "comphelper/solarmutex.hxx" bool IsInMainThread(); -vos::IMutex& GetSolarMutex(); +comphelper::SolarMutex& GetSolarMutex(); + bool IsBridgeRegisteredAcc(); diff --git a/winaccessibility/source/service/msaaservice_impl.cxx b/winaccessibility/source/service/msaaservice_impl.cxx index 3148c9713914..ff0bebc5dae6 100644..100755 --- a/winaccessibility/source/service/msaaservice_impl.cxx +++ b/winaccessibility/source/service/msaaservice_impl.cxx @@ -51,11 +51,11 @@ extern void handleWindowOpened_impl( long pAcc); namespace my_sc_impl { -extern Sequence< OUString > SAL_CALL getSupportedServiceNames_MSAAServiceImpl(); -extern OUString SAL_CALL getImplementationName_MSAAServiceImpl(); -extern Reference< XInterface > SAL_CALL create_MSAAServiceImpl( - Reference< XComponentContext > const & xContext ) - SAL_THROW( () ); + //extern Sequence< OUString > SAL_CALL getSupportedServiceNames_MSAAServiceImpl(); + //static OUString SAL_CALL getImplementationName_MSAAServiceImpl(); + //static Reference< XInterface > SAL_CALL create_MSAAServiceImpl( + // Reference< XComponentContext > const & xContext ) + // SAL_THROW( () ); /** * Method that returns the service name. * @param @@ -274,12 +274,12 @@ static struct ::cppu::ImplementationEntry s_component_entries [] = extern "C" { - void SAL_CALL component_getImplementationEnvironment( + SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment( sal_Char const ** ppEnvTypeName, uno_Environment ** /*ppEnv*/ ) { *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; } - void * SAL_CALL component_getFactory( + SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory( sal_Char const * implName, lang::XMultiServiceFactory * xMgr, registry::XRegistryKey * xRegistry ) { |