scripting/source/basprov/basprov.component | 5 +- scripting/source/basprov/basprov.cxx | 64 ++++------------------------- 2 files changed, 13 insertions(+), 56 deletions(-)
New commits: commit e78b16632f5a3ad974574dd0354df3cef1f5c844 Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Tue Jul 14 12:48:58 2020 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Wed Jul 15 10:10:54 2020 +0200 scripting/basprov: create instances with uno constructors See tdf#74608 for motivation. Change-Id: Id4a312df7b3ed4c4c81f7f1b42b8e8697d4bb784 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98742 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/scripting/source/basprov/basprov.component b/scripting/source/basprov/basprov.component index 8a660e38b2a8..d0d6bf974925 100644 --- a/scripting/source/basprov/basprov.component +++ b/scripting/source/basprov/basprov.component @@ -18,8 +18,9 @@ --> <component loader="com.sun.star.loader.SharedLibrary" environment="@CPPU_ENV@" - prefix="basprov" xmlns="http://openoffice.org/2010/uno-components"> - <implementation name="com.sun.star.comp.scripting.ScriptProviderForBasic"> + xmlns="http://openoffice.org/2010/uno-components"> + <implementation name="com.sun.star.comp.scripting.ScriptProviderForBasic" + constructor="scripting_BasicProviderImpl_get_implementation"> <service name="com.sun.star.script.browse.BrowseNode"/> <service name="com.sun.star.script.provider.LanguageScriptProvider"/> <service name="com.sun.star.script.provider.ScriptProvider"/> diff --git a/scripting/source/basprov/basprov.cxx b/scripting/source/basprov/basprov.cxx index bd1832ba98ba..e1492af59995 100644 --- a/scripting/source/basprov/basprov.cxx +++ b/scripting/source/basprov/basprov.cxx @@ -60,28 +60,6 @@ using namespace ::sf_misc; namespace basprov { - - // component operations - - - static OUString getImplementationName_BasicProviderImpl() - { - return "com.sun.star.comp.scripting.ScriptProviderForBasic"; - } - - - static Sequence< OUString > getSupportedServiceNames_BasicProviderImpl() - { - static Sequence< OUString > s_Names{ - "com.sun.star.script.provider.ScriptProviderForBasic", - "com.sun.star.script.provider.LanguageScriptProvider", - "com.sun.star.script.provider.ScriptProvider", - "com.sun.star.script.browse.BrowseNode"}; - - return s_Names; - } - - // BasicProviderImpl @@ -170,7 +148,7 @@ namespace basprov // XServiceInfo OUString BasicProviderImpl::getImplementationName( ) { - return getImplementationName_BasicProviderImpl(); + return "com.sun.star.comp.scripting.ScriptProviderForBasic"; } sal_Bool BasicProviderImpl::supportsService( const OUString& rServiceName ) @@ -180,7 +158,11 @@ namespace basprov Sequence< OUString > BasicProviderImpl::getSupportedServiceNames( ) { - return getSupportedServiceNames_BasicProviderImpl(); + return { + "com.sun.star.script.provider.ScriptProviderForBasic", + "com.sun.star.script.provider.LanguageScriptProvider", + "com.sun.star.script.provider.ScriptProvider", + "com.sun.star.script.browse.BrowseNode"}; } @@ -484,40 +466,14 @@ namespace basprov // component operations - - static Reference< XInterface > create_BasicProviderImpl( - Reference< XComponentContext > const & xContext ) + extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface* + scripting_BasicProviderImpl_get_implementation( + css::uno::XComponentContext* context, css::uno::Sequence<css::uno::Any> const&) { - return static_cast< lang::XTypeProvider * >( new BasicProviderImpl( xContext ) ); + return cppu::acquire(new BasicProviderImpl(context)); } - struct ::cppu::ImplementationEntry const s_component_entries [] = - { - { - create_BasicProviderImpl, getImplementationName_BasicProviderImpl, - getSupportedServiceNames_BasicProviderImpl, ::cppu::createSingleComponentFactory, - nullptr, 0 - }, - { nullptr, nullptr, nullptr, nullptr, nullptr, 0 } - }; - - } // namespace basprov - -// component exports - - -extern "C" -{ - SAL_DLLPUBLIC_EXPORT void * basprov_component_getFactory( - const char * pImplName, void * pServiceManager, - void * pRegistryKey ) - { - return ::cppu::component_getFactoryHelper( - pImplName, pServiceManager, pRegistryKey, ::basprov::s_component_entries ); - } -} - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits