[Libreoffice-commits] core.git: extensions/source solenv/bin
Noel Grandin (via logerrit)
logerrit at kemper.freedesktop.org
Thu Jul 16 09:37:54 UTC 2020
extensions/source/bibliography/bib.component | 5 +-
extensions/source/bibliography/bibload.cxx | 56 ++-------------------------
solenv/bin/native-code.py | 3 -
3 files changed, 11 insertions(+), 53 deletions(-)
New commits:
commit e2e66c4a37350155a4dbb6ec5e2811b9f87a6883
Author: Noel Grandin <noel.grandin at collabora.co.uk>
AuthorDate: Thu Jul 16 10:16:52 2020 +0200
Commit: Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Thu Jul 16 11:37:14 2020 +0200
extensions/bib: create instances with uno constructors
See tdf#74608 for motivation.
Change-Id: I022d29f4c39f79ed8e0fafe0687e95088279e046
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98875
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
diff --git a/extensions/source/bibliography/bib.component b/extensions/source/bibliography/bib.component
index 37963bb90497..19841cc9e970 100644
--- a/extensions/source/bibliography/bib.component
+++ b/extensions/source/bibliography/bib.component
@@ -18,8 +18,9 @@
-->
<component loader="com.sun.star.loader.SharedLibrary" environment="@CPPU_ENV@"
- prefix="bib" xmlns="http://openoffice.org/2010/uno-components">
- <implementation name="com.sun.star.extensions.Bibliography">
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.extensions.Bibliography"
+ constructor="extensions_BibliographyLoader_get_implementation">
<service name="com.sun.star.frame.Bibliography"/>
<service name="com.sun.star.frame.FrameLoader"/>
</implementation>
diff --git a/extensions/source/bibliography/bibload.cxx b/extensions/source/bibliography/bibload.cxx
index 10067f17b23c..b8a7dafa7a3e 100644
--- a/extensions/source/bibliography/bibload.cxx
+++ b/extensions/source/bibliography/bibload.cxx
@@ -66,8 +66,6 @@ using namespace ::com::sun::star::form;
using namespace ::com::sun::star::container;
using namespace ::com::sun::star::frame;
-static Reference< XInterface > BibliographyLoader_CreateInstance( const Reference< XMultiServiceFactory > & rSMgr );
-
namespace {
class BibliographyLoader : public cppu::WeakImplHelper
@@ -94,15 +92,8 @@ public:
// XServiceInfo
OUString SAL_CALL getImplementationName() override;
- sal_Bool SAL_CALL supportsService(const OUString& ServiceName) override;
+ sal_Bool SAL_CALL supportsService(const OUString& ServiceName) override;
Sequence< OUString > SAL_CALL getSupportedServiceNames() override;
- static OUString getImplementationName_Static() throw( )
-
- {
- //!
- return "com.sun.star.extensions.Bibliography";
- //!
- }
//XNameAccess
virtual Any SAL_CALL getByName(const OUString& aName) override;
@@ -122,11 +113,6 @@ public:
virtual void SAL_CALL addVetoableChangeListener(const OUString& PropertyName, const Reference< XVetoableChangeListener > & aListener) override;
virtual void SAL_CALL removeVetoableChangeListener(const OUString& PropertyName, const Reference< XVetoableChangeListener > & aListener) override;
- static Sequence<OUString> getSupportedServiceNames_Static() throw( );
-
- /// @throws Exception
- friend Reference< XInterface > (::BibliographyLoader_CreateInstance)( const Reference< XMultiServiceFactory > & rSMgr );
-
// XLoader
virtual void SAL_CALL load(const Reference< XFrame > & aFrame, const OUString& aURL,
const Sequence< PropertyValue >& aArgs,
@@ -151,17 +137,10 @@ BibliographyLoader::~BibliographyLoader()
}
-Reference< XInterface > BibliographyLoader_CreateInstance( const Reference< XMultiServiceFactory > & /*rSMgr*/ )
-{
- return *(new BibliographyLoader);
-}
-
-
// XServiceInfo
OUString BibliographyLoader::getImplementationName()
-
{
- return getImplementationName_Static();
+ return "com.sun.star.extensions.Bibliography";
}
// XServiceInfo
@@ -172,38 +151,15 @@ sal_Bool BibliographyLoader::supportsService(const OUString& ServiceName)
// XServiceInfo
Sequence< OUString > BibliographyLoader::getSupportedServiceNames()
-{
- return getSupportedServiceNames_Static();
-}
-
-// ORegistryServiceManager_Static
-Sequence< OUString > BibliographyLoader::getSupportedServiceNames_Static() throw( )
{
return { "com.sun.star.frame.FrameLoader", "com.sun.star.frame.Bibliography" };
}
-extern "C"
+extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface*
+extensions_BibliographyLoader_get_implementation(
+ css::uno::XComponentContext* , css::uno::Sequence<css::uno::Any> const&)
{
- SAL_DLLPUBLIC_EXPORT void * bib_component_getFactory(
- const char * pImplName, void * pServiceManager, void * /*pRegistryKey*/ )
- {
- void * pRet = nullptr;
- if (BibliographyLoader::getImplementationName_Static().equalsAscii( pImplName ) )
- {
- // create the factory
- Reference< XSingleServiceFactory > xFactory =
- cppu::createSingleFactory(
- static_cast<css::lang::XMultiServiceFactory *>(pServiceManager),
- BibliographyLoader::getImplementationName_Static(),
- BibliographyLoader_CreateInstance,
- BibliographyLoader::getSupportedServiceNames_Static() );
- // acquire, because we return an interface pointer instead of a reference
- xFactory->acquire();
- pRet = xFactory.get();
- }
- return pRet;
- }
-
+ return cppu::acquire(new BibliographyLoader());
}
void BibliographyLoader::cancel()
diff --git a/solenv/bin/native-code.py b/solenv/bin/native-code.py
index 11952f14333d..931435367b5d 100755
--- a/solenv/bin/native-code.py
+++ b/solenv/bin/native-code.py
@@ -35,7 +35,6 @@ core_factory_list = [
("libvcllo.a", "vcl_component_getFactory"),
("libsvtlo.a", "svt_component_getFactory"),
("libMacOSXSpelllo.a", "MacOSXSpell_component_getFactory", "#ifdef IOS"),
- ("libbiblo.a", "bib_component_getFactory"),
]
core_constructor_list = [
@@ -143,6 +142,8 @@ core_constructor_list = [
("com_sun_star_comp_extensions_LoggerPool", "#ifdef ANDROID"),
("com_sun_star_comp_extensions_PlainTextFormatter", "#ifdef ANDROID"),
("com_sun_star_comp_extensions_SimpleTextFormatter", "#ifdef ANDROID"),
+# extensions/source/bibliography/bib.component
+ "extensions_BibliographyLoader_get_implementation",
# filter/source/config/cache/filterconfig1.component
"filter_TypeDetection_get_implementation",
"filter_FrameLoaderFactory_get_implementation",
More information about the Libreoffice-commits
mailing list