summaryrefslogtreecommitdiffstats
path: root/winaccessibility
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2020-07-14 13:00:19 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2020-07-14 18:31:39 +0200
commitdede9ec2890f8fe014a2d0fdd84fffd414ce23b6 (patch)
treeeee7910db94a9e28e3a00b60d958308096fb9c1c /winaccessibility
parentsvl/passwordcontainer: create instances with uno constructors (diff)
downloadcore-dede9ec2890f8fe014a2d0fdd84fffd414ce23b6.tar.gz
core-dede9ec2890f8fe014a2d0fdd84fffd414ce23b6.zip
winaccessibility: create instances with uno constructors
See tdf#74608 for motivation. Change-Id: I8b3465ddec68b99c78cb6cc8193f4944ed5ba190 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98727 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'winaccessibility')
-rw-r--r--winaccessibility/source/service/msaaservice_impl.cxx65
-rw-r--r--winaccessibility/source/service/winaccessibility.component5
2 files changed, 16 insertions, 54 deletions
diff --git a/winaccessibility/source/service/msaaservice_impl.cxx b/winaccessibility/source/service/msaaservice_impl.cxx
index 02ac891f5d4b..be9fd22ba58e 100644
--- a/winaccessibility/source/service/msaaservice_impl.cxx
+++ b/winaccessibility/source/service/msaaservice_impl.cxx
@@ -46,17 +46,6 @@ using namespace ::com::sun::star::awt;
namespace my_sc_impl
{
-static Sequence< OUString > getSupportedServiceNames_MSAAServiceImpl()
-{
- Sequence< OUString > seqNames { "com.sun.star.accessibility.MSAAService" };
- return seqNames;
-}
-
-static OUString getImplementationName_MSAAServiceImpl()
-{
- return "com.sun.star.accessibility.my_sc_implementation.MSAAService";
-}
-
namespace {
class MSAAServiceImpl : public ::cppu::WeakImplHelper<
@@ -127,7 +116,7 @@ void MSAAServiceImpl::handleWindowOpened(sal_Int64 nAcc)
OUString MSAAServiceImpl::getImplementationName()
{
- return getImplementationName_MSAAServiceImpl();
+ return "com.sun.star.accessibility.my_sc_implementation.MSAAService";
}
/**
@@ -147,7 +136,7 @@ sal_Bool MSAAServiceImpl::supportsService( OUString const & serviceName )
*/
Sequence< OUString > MSAAServiceImpl::getSupportedServiceNames()
{
- return getSupportedServiceNames_MSAAServiceImpl();
+ return { "com.sun.star.accessibility.MSAAService" };
}
static void AccessBridgeHandleExistingWindow(const Reference< XMSAAService > &xAccMgr,
@@ -239,22 +228,6 @@ static void AccessBridgeUpdateOldTopWindows( const Reference< XMSAAService > &xA
}
}
-/**
- * Static method that can create an entity of our MSAA Service
- * @param xContext No use here.
- * @return The object interface.
- */
-static Reference< XInterface > create_MSAAServiceImpl( Reference< XComponentContext > const & /*xContext*/ )
-{
- Reference< XMSAAService > xAccMgr( new MSAAServiceImpl() );
-
- AccessBridgeUpdateOldTopWindows( xAccMgr );
-
- SAL_INFO("iacc2", "Created new IAccessible2 service impl.");
-
- return xAccMgr;
-}
-
MSAAServiceImpl::MSAAServiceImpl()
{
Reference< XExtendedToolkit > xToolkit(Application::GetVCLToolkit(), UNO_QUERY);
@@ -283,32 +256,20 @@ void MSAAServiceImpl::dispose()
m_pTopWindowListener.clear();
}
-}
-
-/* shared lib exports implemented without helpers in service_impl1.cxx */
-namespace my_sc_impl
+extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface*
+winaccessibility_MSAAServiceImpl_get_implementation(
+ css::uno::XComponentContext* , css::uno::Sequence<css::uno::Any> const&)
{
-static struct ::cppu::ImplementationEntry s_component_entries [] =
- {
- {
- create_MSAAServiceImpl, getImplementationName_MSAAServiceImpl,
- getSupportedServiceNames_MSAAServiceImpl,
- ::cppu::createSingleComponentFactory,
- nullptr, 0
- },
- { nullptr, nullptr, nullptr, nullptr, nullptr, 0 }
- };
+ Reference< XMSAAService > xAccMgr( new MSAAServiceImpl() );
+
+ AccessBridgeUpdateOldTopWindows( xAccMgr );
+
+ SAL_INFO("iacc2", "Created new IAccessible2 service impl.");
+
+ xAccMgr->acquire();
+ return xAccMgr.get();
}
-extern "C"
-{
- SAL_DLLPUBLIC_EXPORT void * iacc2_component_getFactory(
- sal_Char const * implName, lang::XMultiServiceFactory * xMgr,
- registry::XRegistryKey * xRegistry )
- {
- return ::cppu::component_getFactoryHelper(
- implName, xMgr, xRegistry, ::my_sc_impl::s_component_entries );
- }
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/winaccessibility/source/service/winaccessibility.component b/winaccessibility/source/service/winaccessibility.component
index 8c61403e0066..fe26e40e20d8 100644
--- a/winaccessibility/source/service/winaccessibility.component
+++ b/winaccessibility/source/service/winaccessibility.component
@@ -17,8 +17,9 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
-->
<component loader="com.sun.star.loader.SharedLibrary" environment="@CPPU_ENV@"
- prefix="iacc2" xmlns="http://openoffice.org/2010/uno-components">
- <implementation name="com.sun.star.accessibility.my_sc_implementation.MSAAService">
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.accessibility.my_sc_implementation.MSAAService"
+ constructor="winaccessibility_MSAAServiceImpl_get_implementation">
<service name="com.sun.star.accessibility.MSAAService"/>
</implementation>
</component>