From 903ab3e93ecded38b4ff0e0a85db16226545b750 Mon Sep 17 00:00:00 2001 From: David Ostrovsky Date: Sat, 2 Nov 2013 20:40:47 +0100 Subject: Gbuildify winaccessibility service Change-Id: Ia66872bee7c70c840c1bd5caa626bf63eac9ef7c --- Repository.mk | 5 +- include/vcl/svapp.hxx | 2 + postprocess/Rdb_services.mk | 7 +- winaccessibility/Library_uacccom.mk | 12 ++-- winaccessibility/Library_winaccessibility.mk | 81 ++++++++++++++++++++++ winaccessibility/Module_winaccessibility.mk | 1 + winaccessibility/inc/AccEventListener.hxx | 4 +- winaccessibility/inc/AccObjectWinManager.hxx | 8 +-- winaccessibility/source/UAccCOM/MAccessible.cxx | 4 +- winaccessibility/source/UAccCOM/UAccCOM.cxx | 0 winaccessibility/source/UAccCOM/UAccCOM.def | 7 ++ .../source/service/AccEventListener.cxx | 8 +-- .../source/service/AccFrameEventListener.cxx | 10 +-- .../source/service/AccObjectWinManager.cxx | 12 ++-- .../source/service/AccTopWindowListener.cxx | 11 +-- winaccessibility/source/service/checkmt.cxx | 5 +- winaccessibility/source/service/checkmt.hxx | 5 +- .../source/service/msaaservice_impl.cxx | 14 ++-- 18 files changed, 149 insertions(+), 47 deletions(-) mode change 100644 => 100755 include/vcl/svapp.hxx mode change 100644 => 100755 postprocess/Rdb_services.mk create mode 100755 winaccessibility/Library_winaccessibility.mk mode change 100644 => 100755 winaccessibility/inc/AccEventListener.hxx mode change 100644 => 100755 winaccessibility/inc/AccObjectWinManager.hxx mode change 100644 => 100755 winaccessibility/source/UAccCOM/UAccCOM.cxx create mode 100755 winaccessibility/source/UAccCOM/UAccCOM.def mode change 100644 => 100755 winaccessibility/source/service/AccEventListener.cxx mode change 100644 => 100755 winaccessibility/source/service/AccFrameEventListener.cxx mode change 100644 => 100755 winaccessibility/source/service/AccObjectWinManager.cxx mode change 100644 => 100755 winaccessibility/source/service/AccTopWindowListener.cxx mode change 100644 => 100755 winaccessibility/source/service/checkmt.cxx mode change 100644 => 100755 winaccessibility/source/service/checkmt.hxx mode change 100644 => 100755 winaccessibility/source/service/msaaservice_impl.cxx 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 old mode 100644 new mode 100755 index 3f613edb200e..7d1a98c9a225 --- 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 old mode 100644 new mode 100755 index 06d90e3ec7f9..3f2b87408423 --- 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 old mode 100644 new mode 100755 index 1f824ca8e7f9..585c84629d5f --- a/winaccessibility/inc/AccEventListener.hxx +++ b/winaccessibility/inc/AccEventListener.hxx @@ -25,7 +25,7 @@ #include #include #include -#include +#include 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 old mode 100644 new mode 100755 index 89771cd9dce0..a7677dcc22fb --- a/winaccessibility/inc/AccObjectWinManager.hxx +++ b/winaccessibility/inc/AccObjectWinManager.hxx @@ -27,7 +27,7 @@ #endif #include #include -#include +#include #include #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 #include #include -//#include +#include #include -//#include +#include #include #include #include diff --git a/winaccessibility/source/UAccCOM/UAccCOM.cxx b/winaccessibility/source/UAccCOM/UAccCOM.cxx old mode 100644 new mode 100755 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 old mode 100644 new mode 100755 index 1925b8746cd0..863e38feb138 --- 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 old mode 100644 new mode 100755 index bec7cac44005..e775251956f6 --- a/winaccessibility/source/service/AccFrameEventListener.cxx +++ b/winaccessibility/source/service/AccFrameEventListener.cxx @@ -35,7 +35,8 @@ using namespace com::sun::star::accessibility; #include #include -#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 #endif - +#include +//#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 old mode 100644 new mode 100755 index 8761813b24c5..cedd6d8f2a50 --- 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 old mode 100644 new mode 100755 index c853977a39ce..9f0ca3a11ed2 --- a/winaccessibility/source/service/AccTopWindowListener.cxx +++ b/winaccessibility/source/service/AccTopWindowListener.cxx @@ -25,7 +25,8 @@ #include #include -#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 #endif +#include #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 old mode 100644 new mode 100755 index 788f613c3789..be3acc5e3b8b --- 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 old mode 100644 new mode 100755 index 7eaaebf43713..c52b6d239925 --- a/winaccessibility/source/service/checkmt.hxx +++ b/winaccessibility/source/service/checkmt.hxx @@ -21,9 +21,10 @@ #pragma once -#include +#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 old mode 100644 new mode 100755 index 3148c9713914..ff0bebc5dae6 --- 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 ) { -- cgit