summaryrefslogtreecommitdiff
path: root/i18npool
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2020-07-14 09:52:39 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2020-07-14 12:03:46 +0200
commitc6642e6c2366741eba893f2e91a6bc2761df7c35 (patch)
tree1b5a15c09fe720423deeb06d53410311f7e408b4 /i18npool
parent1cd5448059e71d745f4cb52e601d61505346f713 (diff)
i18npool/i18nsearch: create instances with uno constructors
See tdf#74608 for motivation. Change-Id: I5f8113393120fdad192f7347109a2186db141acb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98708 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'i18npool')
-rw-r--r--i18npool/source/search/i18nsearch.component5
-rw-r--r--i18npool/source/search/textsearch.cxx66
2 files changed, 9 insertions, 62 deletions
diff --git a/i18npool/source/search/i18nsearch.component b/i18npool/source/search/i18nsearch.component
index ddb591f98b5f..fe7f48c26587 100644
--- a/i18npool/source/search/i18nsearch.component
+++ b/i18npool/source/search/i18nsearch.component
@@ -18,8 +18,9 @@
-->
<component loader="com.sun.star.loader.SharedLibrary" environment="@CPPU_ENV@"
- prefix="i18nsearch" xmlns="http://openoffice.org/2010/uno-components">
- <implementation name="com.sun.star.util.TextSearch_i18n">
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.util.TextSearch_i18n"
+ constructor="i18npool_TextSearch_get_implementation">
<service name="com.sun.star.util.TextSearch"/>
<service name="com.sun.star.util.TextSearch2"/>
</implementation>
diff --git a/i18npool/source/search/textsearch.cxx b/i18npool/source/search/textsearch.cxx
index 2bbd11ac0acb..abeceb993b06 100644
--- a/i18npool/source/search/textsearch.cxx
+++ b/i18npool/source/search/textsearch.cxx
@@ -1540,25 +1540,10 @@ SearchResult TextSearch::WildcardSrchBkwrd( const OUString& searchStr, sal_Int32
}
-const char cSearchImpl[] = "com.sun.star.util.TextSearch_i18n";
-
-static uno::Sequence< OUString > getServiceName_Static()
-{
- uno::Sequence< OUString > aRet(2);
- aRet[0] = "com.sun.star.util.TextSearch";
- aRet[1] = "com.sun.star.util.TextSearch2";
- return aRet;
-}
-
-static OUString getImplementationName_Static()
-{
- return cSearchImpl;
-}
-
OUString SAL_CALL
TextSearch::getImplementationName()
{
- return getImplementationName_Static();
+ return "com.sun.star.util.TextSearch_i18n";
}
sal_Bool SAL_CALL TextSearch::supportsService(const OUString& rServiceName)
@@ -1569,53 +1554,14 @@ sal_Bool SAL_CALL TextSearch::supportsService(const OUString& rServiceName)
Sequence< OUString > SAL_CALL
TextSearch::getSupportedServiceNames()
{
- Sequence< OUString > aRet { getServiceName_Static() };
- return aRet;
-}
-
-static css::uno::Reference< css::uno::XInterface >
-TextSearch_CreateInstance(
- const css::uno::Reference<
- css::lang::XMultiServiceFactory >& rxMSF )
-{
- return css::uno::Reference<
- css::uno::XInterface >(
- static_cast<cppu::OWeakObject*>(new TextSearch(
- comphelper::getComponentContext( rxMSF ) )) );
+ return { "com.sun.star.util.TextSearch", "com.sun.star.util.TextSearch2" };
}
-extern "C"
-{
-SAL_DLLPUBLIC_EXPORT void*
-i18nsearch_component_getFactory( const char* sImplementationName,
- void* _pServiceManager,
- SAL_UNUSED_PARAMETER void* )
+extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface*
+i18npool_TextSearch_get_implementation(
+ css::uno::XComponentContext* context , css::uno::Sequence<css::uno::Any> const&)
{
- void* pRet = nullptr;
-
- css::lang::XMultiServiceFactory* pServiceManager =
- static_cast< css::lang::XMultiServiceFactory* >
- ( _pServiceManager );
- css::uno::Reference<
- css::lang::XSingleServiceFactory > xFactory;
-
- if ( 0 == rtl_str_compare( sImplementationName, cSearchImpl) )
- {
- css::uno::Sequence< OUString > aServiceNames { getServiceName_Static() };
- xFactory = ::cppu::createSingleFactory(
- pServiceManager, getImplementationName_Static(),
- &TextSearch_CreateInstance, aServiceNames );
- }
-
- if ( xFactory.is() )
- {
- xFactory->acquire();
- pRet = xFactory.get();
- }
-
- return pRet;
+ return cppu::acquire(new TextSearch(context));
}
-} // extern "C"
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */