diff options
21 files changed, 342 insertions, 243 deletions
diff --git a/desktop/IwyuFilter_desktop.yaml b/desktop/IwyuFilter_desktop.yaml index e99d4dc0f65c..6207be5de48e 100644 --- a/desktop/IwyuFilter_desktop.yaml +++ b/desktop/IwyuFilter_desktop.yaml @@ -51,16 +51,11 @@ excludelist: desktop/source/deployment/manager/dp_properties.cxx: # Actually used - com/sun/star/ucb/XCommandEnvironment.hpp - desktop/source/deployment/manager/dp_informationprovider.cxx: - # Needed for extern functions - - dp_services.hxx desktop/source/deployment/manager/dp_extensionmanager.cxx: # Actually used - com/sun/star/deployment/XPackage.hpp - com/sun/star/deployment/XPackageManager.hpp - com/sun/star/uno/XComponentContext.hpp - # Needed for extern functions - - dp_services.hxx desktop/source/deployment/misc/lockfile.cxx: # Needed on WIN32 - memory diff --git a/desktop/Library_deployment.mk b/desktop/Library_deployment.mk index 887e9eefa4ec..fcf29882879c 100644 --- a/desktop/Library_deployment.mk +++ b/desktop/Library_deployment.mk @@ -42,7 +42,6 @@ $(eval $(call gb_Library_set_componentfile,deployment,desktop/source/deployment/ $(eval $(call gb_Library_add_exception_objects,deployment,\ desktop/source/deployment/dp_log \ desktop/source/deployment/dp_persmap \ - desktop/source/deployment/dp_services \ desktop/source/deployment/dp_xml \ desktop/source/deployment/manager/dp_activepackages \ desktop/source/deployment/manager/dp_commandenvironments \ diff --git a/desktop/inc/pch/precompiled_deployment.hxx b/desktop/inc/pch/precompiled_deployment.hxx index 6878fb1e843c..b01353b33da6 100644 --- a/desktop/inc/pch/precompiled_deployment.hxx +++ b/desktop/inc/pch/precompiled_deployment.hxx @@ -86,7 +86,6 @@ #include <dp_interact.h> #include <dp_misc_api.hxx> #include <dp_platform.hxx> -#include <dp_services.hxx> #include <dp_ucb.h> #endif // PCH_LEVEL >= 4 diff --git a/desktop/source/deployment/deployment.component b/desktop/source/deployment/deployment.component index 0016f1f9eedb..f7a481bf43c9 100644 --- a/desktop/source/deployment/deployment.component +++ b/desktop/source/deployment/deployment.component @@ -18,38 +18,48 @@ --> <component loader="com.sun.star.loader.SharedLibrary" environment="@CPPU_ENV@" - prefix="deployment" xmlns="http://openoffice.org/2010/uno-components"> - <implementation name="com.sun.star.comp.deployment.ExtensionManager"> + xmlns="http://openoffice.org/2010/uno-components"> + <implementation name="com.sun.star.comp.deployment.ExtensionManager" + constructor="com_sun_star_comp_deployment_ExtensionManager_get_implementation"> <service name="com.sun.star.comp.deployment.ExtensionManager"/> <singleton name="com.sun.star.deployment.ExtensionManager"/> </implementation> - <implementation name="com.sun.star.comp.deployment.PackageInformationProvider"> + <implementation name="com.sun.star.comp.deployment.PackageInformationProvider" + constructor="com_sun_star_comp_deployment_PackageInformationProvider_get_implementation"> <service name="com.sun.star.comp.deployment.PackageInformationProvider"/> <singleton name="com.sun.star.deployment.PackageInformationProvider"/> </implementation> - <implementation name="com.sun.star.comp.deployment.PackageManagerFactory"> + <implementation name="com.sun.star.comp.deployment.PackageManagerFactory" + constructor="com_sun_star_comp_deployment_PackageManagerFactory_get_implementation"> <service name="com.sun.star.comp.deployment.PackageManagerFactory"/> <singleton name="com.sun.star.deployment.thePackageManagerFactory"/> </implementation> - <implementation name="com.sun.star.comp.deployment.ProgressLog"> + <implementation name="com.sun.star.comp.deployment.ProgressLog" + constructor="com_sun_star_comp_deployment_ProgressLog_get_implementation"> <service name="com.sun.star.comp.deployment.ProgressLog"/> </implementation> - <implementation name="com.sun.star.comp.deployment.component.PackageRegistryBackend"> + <implementation name="com.sun.star.comp.deployment.component.PackageRegistryBackend" + constructor="com_sun_star_comp_deployment_component_PackageRegistryBackend_get_implementation"> <service name="com.sun.star.deployment.PackageRegistryBackend"/> </implementation> - <implementation name="com.sun.star.comp.deployment.configuration.PackageRegistryBackend"> + <implementation name="com.sun.star.comp.deployment.configuration.PackageRegistryBackend" + constructor="com_sun_star_comp_deployment_configuration_PackageRegistryBackend_get_implementation"> <service name="com.sun.star.deployment.PackageRegistryBackend"/> </implementation> - <implementation name="com.sun.star.comp.deployment.executable.PackageRegistryBackend"> + <implementation name="com.sun.star.comp.deployment.executable.PackageRegistryBackend" + constructor="com_sun_star_comp_deployment_executable_PackageRegistryBackend_get_implementation"> <service name="com.sun.star.deployment.PackageRegistryBackend"/> </implementation> - <implementation name="com.sun.star.comp.deployment.help.PackageRegistryBackend"> + <implementation name="com.sun.star.comp.deployment.help.PackageRegistryBackend" + constructor="com_sun_star_comp_deployment_help_PackageRegistryBackend_get_implementation"> <service name="com.sun.star.deployment.PackageRegistryBackend"/> </implementation> - <implementation name="com.sun.star.comp.deployment.script.PackageRegistryBackend"> + <implementation name="com.sun.star.comp.deployment.script.PackageRegistryBackend" + constructor="com_sun_star_comp_deployment_script_PackageRegistryBackend_get_implementation"> <service name="com.sun.star.deployment.PackageRegistryBackend"/> </implementation> - <implementation name="com.sun.star.comp.deployment.sfwk.PackageRegistryBackend"> + <implementation name="com.sun.star.comp.deployment.sfwk.PackageRegistryBackend" + constructor="com_sun_star_comp_deployment_sfwk_PackageRegistryBackend_get_implementation"> <service name="com.sun.star.deployment.PackageRegistryBackend"/> </implementation> </component> diff --git a/desktop/source/deployment/dp_log.cxx b/desktop/source/deployment/dp_log.cxx index 1d68709ba5ba..c184224747be 100644 --- a/desktop/source/deployment/dp_log.cxx +++ b/desktop/source/deployment/dp_log.cxx @@ -19,14 +19,14 @@ #include <dp_misc.h> -#include <dp_services.hxx> #include <cppuhelper/compbase.hxx> +#include <cppuhelper/supportsservice.hxx> #include <comphelper/anytostring.hxx> -#include <comphelper/servicedecl.hxx> #include <comphelper/logging.hxx> #include <rtl/ustrbuf.hxx> #include <com/sun/star/logging/LogLevel.hpp> #include <com/sun/star/ucb/XProgressHandler.hpp> +#include <com/sun/star/lang/XServiceInfo.hpp> using namespace ::com::sun::star; using namespace ::com::sun::star::uno; @@ -34,7 +34,7 @@ using namespace ::com::sun::star::logging; namespace dp_log { -typedef ::cppu::WeakComponentImplHelper<ucb::XProgressHandler> t_log_helper; +typedef ::cppu::WeakComponentImplHelper<ucb::XProgressHandler, lang::XServiceInfo> t_log_helper; namespace { @@ -50,6 +50,11 @@ public: ProgressLogImpl( Sequence<Any> const & args, Reference<XComponentContext> const & xContext ); + // XServiceInfo + virtual OUString SAL_CALL getImplementationName() override; + virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) override; + virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override; + // XProgressHandler virtual void SAL_CALL push( Any const & Status ) override; virtual void SAL_CALL update( Any const & Status ) override; @@ -77,6 +82,23 @@ ProgressLogImpl::ProgressLogImpl( m_logger.reset(new comphelper::EventLogger(xContext, "unopkg")); } +// XServiceInfo +OUString ProgressLogImpl::getImplementationName() +{ + return "com.sun.star.comp.deployment.ProgressLog"; +} + +sal_Bool ProgressLogImpl::supportsService( const OUString& ServiceName ) +{ + return cppu::supportsService(this, ServiceName); +} + +css::uno::Sequence< OUString > ProgressLogImpl::getSupportedServiceNames() +{ + // a private one + return { "com.sun.star.comp.deployment.ProgressLog" }; +} + // XProgressHandler void ProgressLogImpl::push( Any const & Status ) @@ -108,14 +130,14 @@ void ProgressLogImpl::pop() { } -namespace sdecl = comphelper::service_decl; -sdecl::class_<ProgressLogImpl, sdecl::with_args<true> > const servicePLI; -sdecl::ServiceDecl const serviceDecl( - servicePLI, - // a private one: - "com.sun.star.comp.deployment.ProgressLog", - "com.sun.star.comp.deployment.ProgressLog" ); - } // namespace dp_log +extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface* +com_sun_star_comp_deployment_ProgressLog_get_implementation( + css::uno::XComponentContext* context, css::uno::Sequence<css::uno::Any> const& args) +{ + return cppu::acquire(new dp_log::ProgressLogImpl(args, context)); +} + + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/desktop/source/deployment/dp_services.cxx b/desktop/source/deployment/dp_services.cxx deleted file mode 100644 index bfaeb801141f..000000000000 --- a/desktop/source/deployment/dp_services.cxx +++ /dev/null @@ -1,49 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * 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/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - - -#include <comphelper/servicedecl.hxx> - -#include <dp_services.hxx> - -using namespace com::sun::star; -namespace sdecl = comphelper::service_decl; - -extern "C" { - -SAL_DLLPUBLIC_EXPORT void * deployment_component_getFactory( - char const * pImplName, void *, void *) -{ - return sdecl::component_getFactoryHelper( - pImplName, - {&dp_registry::backend::configuration::serviceDecl, - &dp_registry::backend::component::serviceDecl, - &dp_registry::backend::help::serviceDecl, - &dp_registry::backend::script::serviceDecl, - &dp_registry::backend::sfwk::serviceDecl, - &dp_registry::backend::executable::serviceDecl, - &dp_manager::factory::serviceDecl, - &dp_log::serviceDecl, - &dp_info::serviceDecl, - &dp_manager::serviceDecl}); -} - -} // extern "C" - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/desktop/source/deployment/inc/dp_services.hxx b/desktop/source/deployment/inc/dp_services.hxx deleted file mode 100644 index f40f908de0cd..000000000000 --- a/desktop/source/deployment/inc/dp_services.hxx +++ /dev/null @@ -1,65 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */ -/* - * 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/. - */ - -#ifndef INCLUDED_DESKTOP_SOURCE_DEPLOYMENT_INC_DP_SERVICES_HXX -#define INCLUDED_DESKTOP_SOURCE_DEPLOYMENT_INC_DP_SERVICES_HXX - -#include <sal/config.h> - -namespace comphelper::service_decl { class ServiceDecl; } - -namespace dp_info { -extern comphelper::service_decl::ServiceDecl const serviceDecl; -} - -namespace dp_log { -extern comphelper::service_decl::ServiceDecl const serviceDecl; -} - -namespace dp_manager { - -namespace factory { -extern comphelper::service_decl::ServiceDecl const serviceDecl; -} - -extern comphelper::service_decl::ServiceDecl const serviceDecl; - -} - -namespace dp_registry::backend { - -namespace component { -extern comphelper::service_decl::ServiceDecl const serviceDecl; -} - -namespace configuration { -extern comphelper::service_decl::ServiceDecl const serviceDecl; -} - -namespace executable { -extern comphelper::service_decl::ServiceDecl const serviceDecl; -} - -namespace help { -extern comphelper::service_decl::ServiceDecl const serviceDecl; -} - -namespace script { -extern comphelper::service_decl::ServiceDecl const serviceDecl; -} - -namespace sfwk { -extern comphelper::service_decl::ServiceDecl const serviceDecl; -} - -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ diff --git a/desktop/source/deployment/manager/dp_extensionmanager.cxx b/desktop/source/deployment/manager/dp_extensionmanager.cxx index 39bdbf65cced..c9ecf7d2123c 100644 --- a/desktop/source/deployment/manager/dp_extensionmanager.cxx +++ b/desktop/source/deployment/manager/dp_extensionmanager.cxx @@ -19,8 +19,8 @@ #include <cppuhelper/compbase.hxx> +#include <cppuhelper/supportsservice.hxx> -#include <comphelper/servicedecl.hxx> #include <cppuhelper/exc_hlp.hxx> #include <rtl/bootstrap.hxx> #include <com/sun/star/deployment/DeploymentException.hpp> @@ -31,6 +31,7 @@ #include <com/sun/star/deployment/InstallException.hpp> #include <com/sun/star/deployment/VersionException.hpp> #include <com/sun/star/lang/IllegalArgumentException.hpp> +#include <com/sun/star/lang/XServiceInfo.hpp> #include <com/sun/star/beans/Optional.hpp> #include <com/sun/star/task/XInteractionApprove.hpp> #include <com/sun/star/beans/Ambiguous.hpp> @@ -43,7 +44,6 @@ #include <xmlscript/xml_helper.hxx> #include <osl/diagnose.h> #include <dp_interact.h> -#include <dp_services.hxx> #include <dp_ucb.h> #include <dp_identifier.hxx> #include <dp_descriptioninfoset.hxx> @@ -155,7 +155,7 @@ namespace dp_manager { //ToDo: bundled extension ExtensionManager::ExtensionManager( Reference< uno::XComponentContext > const& xContext) : - ::cppu::WeakComponentImplHelper< css::deployment::XExtensionManager >(getMutex()) + ::cppu::WeakComponentImplHelper< css::deployment::XExtensionManager, css::lang::XServiceInfo >(getMutex()) , m_xContext(xContext) { m_xPackageManagerFactory = css::deployment::thePackageManagerFactory::get(m_xContext); @@ -170,6 +170,23 @@ ExtensionManager::~ExtensionManager() { } +// XServiceInfo +OUString ExtensionManager::getImplementationName() +{ + return "com.sun.star.comp.deployment.ExtensionManager"; +} + +sal_Bool ExtensionManager::supportsService( const OUString& ServiceName ) +{ + return cppu::supportsService(this, ServiceName); +} + +css::uno::Sequence< OUString > ExtensionManager::getSupportedServiceNames() +{ + // a private one: + return { "com.sun.star.comp.deployment.ExtensionManager" }; +} + Reference<css::deployment::XPackageManager> ExtensionManager::getUserRepository() { return m_xPackageManagerFactory->getPackageManager("user"); @@ -1354,14 +1371,6 @@ sal_Bool ExtensionManager::isReadOnlyRepository(OUString const & repository) } -namespace sdecl = comphelper::service_decl; -sdecl::class_<ExtensionManager> const servicePIP; -sdecl::ServiceDecl const serviceDecl( - servicePIP, - // a private one: - "com.sun.star.comp.deployment.ExtensionManager", - "com.sun.star.comp.deployment.ExtensionManager"); - // XModifyBroadcaster void ExtensionManager::addModifyListener( @@ -1402,4 +1411,12 @@ void ExtensionManager::fireModified() } // namespace dp_manager + +extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface* +com_sun_star_comp_deployment_ExtensionManager_get_implementation( + css::uno::XComponentContext* context, css::uno::Sequence<css::uno::Any> const& ) +{ + return cppu::acquire(new dp_manager::ExtensionManager(context)); +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/desktop/source/deployment/manager/dp_extensionmanager.hxx b/desktop/source/deployment/manager/dp_extensionmanager.hxx index 2432279c37b4..6b82f0092e49 100644 --- a/desktop/source/deployment/manager/dp_extensionmanager.hxx +++ b/desktop/source/deployment/manager/dp_extensionmanager.hxx @@ -38,7 +38,7 @@ typedef std::unordered_map< std::vector<css::uno::Reference<css::deployment::XPackage> > > id2extensions; class ExtensionManager : private ::dp_misc::MutexHolder, - public ::cppu::WeakComponentImplHelper< css::deployment::XExtensionManager > + public ::cppu::WeakComponentImplHelper< css::deployment::XExtensionManager, css::lang::XServiceInfo > { public: explicit ExtensionManager( css::uno::Reference< css::uno::XComponentContext >const& xContext); @@ -49,6 +49,11 @@ public: public: + // XServiceInfo + virtual OUString SAL_CALL getImplementationName() override; + virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) override; + virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override; + // XModifyBroadcaster virtual void SAL_CALL addModifyListener( css::uno::Reference<css::util::XModifyListener> const & xListener ) override; diff --git a/desktop/source/deployment/manager/dp_informationprovider.cxx b/desktop/source/deployment/manager/dp_informationprovider.cxx index bde956937a3d..7825ae058041 100644 --- a/desktop/source/deployment/manager/dp_informationprovider.cxx +++ b/desktop/source/deployment/manager/dp_informationprovider.cxx @@ -18,7 +18,7 @@ */ #include <cppuhelper/implbase.hxx> -#include <comphelper/servicedecl.hxx> +#include <cppuhelper/supportsservice.hxx> #include <com/sun/star/deployment/UpdateInformationProvider.hpp> #include <com/sun/star/deployment/XPackage.hpp> @@ -26,6 +26,7 @@ #include <com/sun/star/deployment/ExtensionManager.hpp> #include <com/sun/star/deployment/XUpdateInformationProvider.hpp> #include <com/sun/star/lang/IllegalArgumentException.hpp> +#include <com/sun/star/lang/XServiceInfo.hpp> #include <com/sun/star/task/XAbortChannel.hpp> #include <com/sun/star/ucb/ContentCreationException.hpp> #include <com/sun/star/uno/XComponentContext.hpp> @@ -41,7 +42,6 @@ #include <dp_dependencies.hxx> #include <dp_descriptioninfoset.hxx> #include <dp_identifier.hxx> -#include <dp_services.hxx> #include <dp_version.hxx> #include <dp_update.hxx> @@ -59,12 +59,17 @@ namespace dp_info { namespace { class PackageInformationProvider : - public ::cppu::WeakImplHelper< deployment::XPackageInformationProvider > + public ::cppu::WeakImplHelper< deployment::XPackageInformationProvider, lang::XServiceInfo > { public: explicit PackageInformationProvider( uno::Reference< uno::XComponentContext >const& xContext); + // XServiceInfo + virtual OUString SAL_CALL getImplementationName() override; + virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) override; + virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override; + // XPackageInformationProvider virtual OUString SAL_CALL getPackageLocation( const OUString& extensionId ) override; virtual uno::Sequence< uno::Sequence< OUString > > SAL_CALL isUpdateAvailable( const OUString& extensionId ) override; @@ -88,6 +93,23 @@ PackageInformationProvider::PackageInformationProvider( uno::Reference< uno::XCo { } +// XServiceInfo +OUString PackageInformationProvider::getImplementationName() +{ + return "com.sun.star.comp.deployment.PackageInformationProvider"; +} + +sal_Bool PackageInformationProvider::supportsService( const OUString& ServiceName ) +{ + return cppu::supportsService(this, ServiceName); +} + +css::uno::Sequence< OUString > PackageInformationProvider::getSupportedServiceNames() +{ + // a private one: + return { "com.sun.star.comp.deployment.PackageInformationProvider" }; +} + OUString PackageInformationProvider::getPackageLocation( const OUString & repository, const OUString& _rExtensionId ) @@ -305,15 +327,14 @@ uno::Sequence< uno::Sequence< OUString > > SAL_CALL PackageInformationProvider:: } -namespace sdecl = comphelper::service_decl; -sdecl::class_<PackageInformationProvider> const servicePIP; -sdecl::ServiceDecl const serviceDecl( - servicePIP, - // a private one: - "com.sun.star.comp.deployment.PackageInformationProvider", - "com.sun.star.comp.deployment.PackageInformationProvider" ); - } // namespace dp_info +extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface* +com_sun_star_comp_deployment_PackageInformationProvider_get_implementation( + css::uno::XComponentContext* context, css::uno::Sequence<css::uno::Any> const& ) +{ + return cppu::acquire(new dp_info::PackageInformationProvider(context)); +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/desktop/source/deployment/manager/dp_manager.cxx b/desktop/source/deployment/manager/dp_manager.cxx index 33d8e6468159..22fd91370f11 100644 --- a/desktop/source/deployment/manager/dp_manager.cxx +++ b/desktop/source/deployment/manager/dp_manager.cxx @@ -39,7 +39,6 @@ #include <osl/security.hxx> #include <cppuhelper/exc_hlp.hxx> #include <comphelper/logging.hxx> -#include <comphelper/servicedecl.hxx> #include <comphelper/sequence.hxx> #include <xmlscript/xml_helper.hxx> #include <svl/inettype.hxx> @@ -77,9 +76,6 @@ using namespace ::com::sun::star::uno; using namespace ::com::sun::star::ucb; using namespace ::com::sun::star::logging; -namespace dp_log { -extern comphelper::service_decl::ServiceDecl const serviceDecl; -} namespace dp_manager { @@ -427,7 +423,7 @@ Reference<deployment::XPackageManager> PackageManagerImpl::create( that->m_xLogFile.set( that->m_xComponentContext->getServiceManager() ->createInstanceWithArgumentsAndContext( - dp_log::serviceDecl.getSupportedServiceNames()[0], + "com.sun.star.comp.deployment.ProgressLog", Sequence<Any>(), that->m_xComponentContext ), UNO_QUERY_THROW ); diff --git a/desktop/source/deployment/manager/dp_managerfac.cxx b/desktop/source/deployment/manager/dp_managerfac.cxx index 6263922d7997..ada9a9c3a9e5 100644 --- a/desktop/source/deployment/manager/dp_managerfac.cxx +++ b/desktop/source/deployment/manager/dp_managerfac.cxx @@ -19,10 +19,10 @@ #include "dp_manager.h" -#include <dp_services.hxx> #include <cppuhelper/compbase.hxx> -#include <comphelper/servicedecl.hxx> +#include <cppuhelper/supportsservice.hxx> #include <com/sun/star/deployment/XPackageManagerFactory.hpp> +#include <com/sun/star/lang/XServiceInfo.hpp> #include <unordered_map> using namespace ::dp_misc; @@ -32,7 +32,7 @@ using namespace ::com::sun::star::uno; namespace dp_manager::factory { typedef ::cppu::WeakComponentImplHelper< - deployment::XPackageManagerFactory > t_pmfac_helper; + deployment::XPackageManagerFactory, lang::XServiceInfo > t_pmfac_helper; namespace { @@ -57,6 +57,11 @@ public: explicit PackageManagerFactoryImpl( Reference<XComponentContext> const & xComponentContext ); + // XServiceInfo + virtual OUString SAL_CALL getImplementationName() override; + virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) override; + virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override; + // XPackageManagerFactory virtual Reference<deployment::XPackageManager> SAL_CALL getPackageManager( OUString const & context ) override; @@ -64,15 +69,6 @@ public: } -namespace sdecl = comphelper::service_decl; -sdecl::class_<PackageManagerFactoryImpl> const servicePMFI; -sdecl::ServiceDecl const serviceDecl( - servicePMFI, - // a private one: - "com.sun.star.comp.deployment.PackageManagerFactory", - "com.sun.star.comp.deployment.PackageManagerFactory" ); - - PackageManagerFactoryImpl::PackageManagerFactoryImpl( Reference<XComponentContext> const & xComponentContext ) : t_pmfac_helper( getMutex() ), @@ -80,6 +76,23 @@ PackageManagerFactoryImpl::PackageManagerFactoryImpl( { } +// XServiceInfo +OUString PackageManagerFactoryImpl::getImplementationName() +{ + return "com.sun.star.comp.deployment.PackageManagerFactory"; +} + +sal_Bool PackageManagerFactoryImpl::supportsService( const OUString& ServiceName ) +{ + return cppu::supportsService(this, ServiceName); +} + +css::uno::Sequence< OUString > PackageManagerFactoryImpl::getSupportedServiceNames() +{ + // a private one: + return { "com.sun.star.comp.deployment.PackageManagerFactory" }; +} + inline void PackageManagerFactoryImpl::check() { ::osl::MutexGuard guard( getMutex() ); @@ -162,4 +175,11 @@ PackageManagerFactoryImpl::getPackageManager( OUString const & context ) } // namespace dp_manager::factory +extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface* +com_sun_star_comp_deployment_PackageManagerFactory_get_implementation( + css::uno::XComponentContext* context, css::uno::Sequence<css::uno::Any> const& ) +{ + return cppu::acquire(new dp_manager::factory::PackageManagerFactoryImpl(context)); +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/desktop/source/deployment/registry/component/dp_component.cxx b/desktop/source/deployment/registry/component/dp_component.cxx index 8cb39ce476bd..0ba485f30448 100644 --- a/desktop/source/deployment/registry/component/dp_component.cxx +++ b/desktop/source/deployment/registry/component/dp_component.cxx @@ -22,7 +22,6 @@ #include <dp_shared.hxx> #include <dp_backend.h> #include <dp_platform.hxx> -#include <dp_services.hxx> #include <dp_ucb.h> #include <rtl/string.hxx> #include <rtl/strbuf.hxx> @@ -30,8 +29,8 @@ #include <rtl/uri.hxx> #include <sal/log.hxx> #include <cppuhelper/exc_hlp.hxx> +#include <cppuhelper/supportsservice.hxx> #include <ucbhelper/content.hxx> -#include <comphelper/servicedecl.hxx> #include <comphelper/sequence.hxx> #include <xmlscript/xml_helper.hxx> #include <svl/inettype.hxx> @@ -62,8 +61,6 @@ using namespace ::com::sun::star::ucb; namespace dp_registry::backend::component { namespace { -#define IMPLEMENTATION_NAME "com.sun.star.comp.deployment.component.PackageRegistryBackend" - /** return a vector of bootstrap variables which have been provided as command arguments. */ @@ -315,6 +312,11 @@ public: BackendImpl( Sequence<Any> const & args, Reference<XComponentContext> const & xComponentContext ); + // XServiceInfo + virtual OUString SAL_CALL getImplementationName() override; + virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) override; + virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override; + // XPackageRegistry virtual Sequence< Reference<deployment::XPackageTypeInfo> > SAL_CALL getSupportedPackageTypes() override; @@ -550,6 +552,22 @@ BackendImpl::BackendImpl( } } +// XServiceInfo +OUString BackendImpl::getImplementationName() +{ + return "com.sun.star.comp.deployment.component.PackageRegistryBackend"; +} + +sal_Bool BackendImpl::supportsService( const OUString& ServiceName ) +{ + return cppu::supportsService(this, ServiceName); +} + +css::uno::Sequence< OUString > BackendImpl::getSupportedServiceNames() +{ + return { BACKEND_SERVICE_NAME }; +} + void BackendImpl::addDataToDb( OUString const & url, ComponentBackendDb::Data const & data) { @@ -1693,14 +1711,14 @@ BackendImpl::ComponentsPackageImpl::ComponentsPackageImpl( } // anon namespace -namespace sdecl = comphelper::service_decl; -sdecl::class_<BackendImpl, sdecl::with_args<true> > serviceBI; -sdecl::ServiceDecl const serviceDecl( - serviceBI, - IMPLEMENTATION_NAME, - BACKEND_SERVICE_NAME ); - } // namespace dp_registry +extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface* +com_sun_star_comp_deployment_component_PackageRegistryBackend_get_implementation( + css::uno::XComponentContext* context, css::uno::Sequence<css::uno::Any> const& args) +{ + return cppu::acquire(new dp_registry::backend::component::BackendImpl(args, context)); +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/desktop/source/deployment/registry/configuration/dp_configuration.cxx b/desktop/source/deployment/registry/configuration/dp_configuration.cxx index 394cd00695c6..e7e46f89978a 100644 --- a/desktop/source/deployment/registry/configuration/dp_configuration.cxx +++ b/desktop/source/deployment/registry/configuration/dp_configuration.cxx @@ -26,15 +26,14 @@ #if HAVE_FEATURE_EXTENSIONS #include <dp_persmap.h> #endif -#include <dp_services.hxx> #include <dp_ucb.h> #include <rtl/string.hxx> #include <rtl/strbuf.hxx> #include <rtl/ustrbuf.hxx> #include <cppuhelper/exc_hlp.hxx> +#include <cppuhelper/supportsservice.hxx> #include <ucbhelper/content.hxx> #include <unotools/ucbhelper.hxx> -#include <comphelper/servicedecl.hxx> #include <xmlscript/xml_helper.hxx> #include <comphelper/lok.hxx> #include <svl/inettype.hxx> @@ -139,6 +138,11 @@ public: BackendImpl( Sequence<Any> const & args, Reference<XComponentContext> const & xComponentContext ); + // XServiceInfo + virtual OUString SAL_CALL getImplementationName() override; + virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) override; + virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override; + // XPackageRegistry virtual Sequence< Reference<deployment::XPackageTypeInfo> > SAL_CALL getSupportedPackageTypes() override; @@ -233,6 +237,22 @@ BackendImpl::BackendImpl( } } +// XServiceInfo +OUString BackendImpl::getImplementationName() +{ + return "com.sun.star.comp.deployment.configuration.PackageRegistryBackend"; +} + +sal_Bool BackendImpl::supportsService( const OUString& ServiceName ) +{ + return cppu::supportsService(this, ServiceName); +} + +css::uno::Sequence< OUString > BackendImpl::getSupportedServiceNames() +{ + return { BACKEND_SERVICE_NAME }; +} + void BackendImpl::addDataToDb( OUString const & url, ConfigurationBackendDb::Data const & data) { @@ -786,13 +806,13 @@ void BackendImpl::PackageImpl::processPackage_( } // anon namespace -namespace sdecl = comphelper::service_decl; -sdecl::class_<BackendImpl, sdecl::with_args<true> > serviceBI; -sdecl::ServiceDecl const serviceDecl( - serviceBI, - "com.sun.star.comp.deployment.configuration.PackageRegistryBackend", - BACKEND_SERVICE_NAME ); - } // namespace dp_registry +extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface* +com_sun_star_comp_deployment_configuration_PackageRegistryBackend_get_implementation( + css::uno::XComponentContext* context, css::uno::Sequence<css::uno::Any> const& args) +{ + return cppu::acquire(new dp_registry::backend::configuration::BackendImpl(args, context)); +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/desktop/source/deployment/registry/executable/dp_executable.cxx b/desktop/source/deployment/registry/executable/dp_executable.cxx index 9769051afaca..7631c6402a9a 100644 --- a/desktop/source/deployment/registry/executable/dp_executable.cxx +++ b/desktop/source/deployment/registry/executable/dp_executable.cxx @@ -21,15 +21,14 @@ #include <memory> #include <dp_misc.h> #include <dp_backend.h> -#include <dp_services.hxx> #include <dp_ucb.h> #include <dp_interact.h> #include <com/sun/star/lang/IllegalArgumentException.hpp> #include <osl/file.hxx> #include <ucbhelper/content.hxx> -#include <comphelper/servicedecl.hxx> #include <svl/inettype.hxx> #include "dp_executablebackenddb.hxx" +#include <cppuhelper/supportsservice.hxx> using namespace ::com::sun::star; using namespace ::com::sun::star::uno; @@ -87,6 +86,11 @@ public: BackendImpl( Sequence<Any> const & args, Reference<XComponentContext> const & xComponentContext ); + // XServiceInfo + virtual OUString SAL_CALL getImplementationName() override; + virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) override; + virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override; + // XPackageRegistry virtual Sequence< Reference<deployment::XPackageTypeInfo> > SAL_CALL getSupportedPackageTypes() override; @@ -111,6 +115,22 @@ BackendImpl::BackendImpl( } } +// XServiceInfo +OUString BackendImpl::getImplementationName() +{ + return "com.sun.star.comp.deployment.executable.PackageRegistryBackend"; +} + +sal_Bool BackendImpl::supportsService( const OUString& ServiceName ) +{ + return cppu::supportsService(this, ServiceName); +} + +css::uno::Sequence< OUString > BackendImpl::getSupportedServiceNames() +{ + return { BACKEND_SERVICE_NAME }; +} + void BackendImpl::addDataToDb(OUString const & url) { if (m_backendDb) @@ -301,14 +321,14 @@ bool BackendImpl::ExecutablePackageImpl::getFileAttributes(sal_uInt64& out_Attri } // anon namespace -namespace sdecl = comphelper::service_decl; -sdecl::class_<BackendImpl, sdecl::with_args<true> > serviceBI; -sdecl::ServiceDecl const serviceDecl( - serviceBI, - "com.sun.star.comp.deployment.executable.PackageRegistryBackend", - BACKEND_SERVICE_NAME ); } // namespace dp_registry::backend::executable +extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface* +com_sun_star_comp_deployment_executable_PackageRegistryBackend_get_implementation( + css::uno::XComponentContext* context, css::uno::Sequence<css::uno::Any> const& args) +{ + return cppu::acquire(new dp_registry::backend::executable::BackendImpl(args, context)); +} /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/desktop/source/deployment/registry/help/dp_help.cxx b/desktop/source/deployment/registry/help/dp_help.cxx index aca144b2bf9c..594196155db8 100644 --- a/desktop/source/deployment/registry/help/dp_help.cxx +++ b/desktop/source/deployment/registry/help/dp_help.cxx @@ -23,14 +23,13 @@ #include <strings.hrc> #include <dp_backend.h> #include "dp_helpbackenddb.hxx" -#include <dp_services.hxx> #include <dp_ucb.h> #include <rtl/uri.hxx> #include <osl/file.hxx> #include <ucbhelper/content.hxx> -#include <comphelper/servicedecl.hxx> #include <svl/inettype.hxx> #include <unotools/pathoptions.hxx> +#include <cppuhelper/supportsservice.hxx> #if HAVE_FEATURE_DESKTOP #include <helpcompiler/compilehelp.hxx> @@ -110,6 +109,11 @@ public: BackendImpl( Sequence<Any> const & args, Reference<XComponentContext> const & xComponentContext ); + // XServiceInfo + virtual OUString SAL_CALL getImplementationName() override; + virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) override; + virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override; + // XPackageRegistry virtual Sequence< Reference<deployment::XPackageTypeInfo> > SAL_CALL getSupportedPackageTypes() override; @@ -145,6 +149,22 @@ BackendImpl::BackendImpl( deleteUnusedFolders(folders); } +// XServiceInfo +OUString BackendImpl::getImplementationName() +{ + return "com.sun.star.comp.deployment.help.PackageRegistryBackend"; +} + +sal_Bool BackendImpl::supportsService( const OUString& ServiceName ) +{ + return cppu::supportsService(this, ServiceName); +} + +css::uno::Sequence< OUString > BackendImpl::getSupportedServiceNames() +{ + return { BACKEND_SERVICE_NAME }; +} + // XPackageRegistry Sequence< Reference<deployment::XPackageTypeInfo> > @@ -588,13 +608,13 @@ Reference< ucb::XSimpleFileAccess3 > const & BackendImpl::getFileAccess() } // anon namespace -namespace sdecl = comphelper::service_decl; -sdecl::class_<BackendImpl, sdecl::with_args<true> > serviceBI; -sdecl::ServiceDecl const serviceDecl( - serviceBI, - "com.sun.star.comp.deployment.help.PackageRegistryBackend", - BACKEND_SERVICE_NAME ); - } // namespace dp_registry +extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface* +com_sun_star_comp_deployment_help_PackageRegistryBackend_get_implementation( + css::uno::XComponentContext* context, css::uno::Sequence<css::uno::Any> const& args) +{ + return cppu::acquire(new dp_registry::backend::help::BackendImpl(args, context)); +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/desktop/source/deployment/registry/inc/dp_backend.h b/desktop/source/deployment/registry/inc/dp_backend.h index ea54e41859fc..41029950af4b 100644 --- a/desktop/source/deployment/registry/inc/dp_backend.h +++ b/desktop/source/deployment/registry/inc/dp_backend.h @@ -27,6 +27,7 @@ #include <cppuhelper/implbase.hxx> #include <cppuhelper/compbase.hxx> #include <com/sun/star/lang/XEventListener.hpp> +#include <com/sun/star/lang/XServiceInfo.hpp> #include <com/sun/star/deployment/XPackageRegistry.hpp> #include <unordered_map> #include <strings.hrc> @@ -189,7 +190,8 @@ public: typedef ::cppu::WeakComponentImplHelper< css::lang::XEventListener, - css::deployment::XPackageRegistry > t_BackendBase; + css::deployment::XPackageRegistry, + css::lang::XServiceInfo > t_BackendBase; class PackageRegistryBackend diff --git a/desktop/source/deployment/registry/package/dp_package.cxx b/desktop/source/deployment/registry/package/dp_package.cxx index ce8fe18a44c0..890fa3612a42 100644 --- a/desktop/source/deployment/registry/package/dp_package.cxx +++ b/desktop/source/deployment/registry/package/dp_package.cxx @@ -38,7 +38,6 @@ #include <svl/inettype.hxx> #include <comphelper/sequence.hxx> #include <com/sun/star/lang/WrappedTargetException.hpp> -#include <com/sun/star/lang/XServiceInfo.hpp> #include <com/sun/star/graphic/XGraphic.hpp> #include <com/sun/star/graphic/GraphicProvider.hpp> #include <com/sun/star/graphic/XGraphicProvider.hpp> @@ -81,8 +80,7 @@ using namespace ::com::sun::star::uno; namespace dp_registry::backend::bundle { namespace { -typedef cppu::ImplInheritanceHelper<PackageRegistryBackend, - lang::XServiceInfo> ImplBaseT; +typedef cppu::ImplInheritanceHelper<PackageRegistryBackend> ImplBaseT; class BackendImpl : public ImplBaseT diff --git a/desktop/source/deployment/registry/script/dp_script.cxx b/desktop/source/deployment/registry/script/dp_script.cxx index 39de39f2b624..29b75fbfe53d 100644 --- a/desktop/source/deployment/registry/script/dp_script.cxx +++ b/desktop/source/deployment/registry/script/dp_script.cxx @@ -19,18 +19,17 @@ #include <strings.hrc> -#include <dp_services.hxx> #include "dp_lib_container.h" #include <dp_backend.h> #include <dp_ucb.h> #include <ucbhelper/content.hxx> #include <cppuhelper/implbase.hxx> -#include <comphelper/servicedecl.hxx> #include <svl/inettype.hxx> #include <com/sun/star/util/XUpdatable.hpp> #include <com/sun/star/script/XLibraryContainer3.hpp> #include <memory> #include "dp_scriptbackenddb.hxx" +#include <cppuhelper/supportsservice.hxx> using namespace ::dp_misc; using namespace ::com::sun::star; @@ -93,6 +92,11 @@ public: BackendImpl( Sequence<Any> const & args, Reference<XComponentContext> const & xComponentContext ); + // XServiceInfo + virtual OUString SAL_CALL getImplementationName() override; + virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) override; + virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override; + // XUpdatable virtual void SAL_CALL update() override; @@ -162,6 +166,23 @@ BackendImpl::BackendImpl( } } + +// XServiceInfo +OUString BackendImpl::getImplementationName() +{ + return "com.sun.star.comp.deployment.script.PackageRegistryBackend"; +} + +sal_Bool BackendImpl::supportsService( const OUString& ServiceName ) +{ + return cppu::supportsService(this, ServiceName); +} + +css::uno::Sequence< OUString > BackendImpl::getSupportedServiceNames() +{ + return { BACKEND_SERVICE_NAME }; +} + void BackendImpl::addDataToDb(OUString const & url) { if (m_backendDb) @@ -447,13 +468,13 @@ void BackendImpl::PackageImpl::processPackage_( } // anon namespace -namespace sdecl = comphelper::service_decl; -sdecl::class_<BackendImpl, sdecl::with_args<true> > serviceBI; -sdecl::ServiceDecl const serviceDecl( - serviceBI, - "com.sun.star.comp.deployment.script.PackageRegistryBackend", - BACKEND_SERVICE_NAME ); - } // namespace dp_registry::backend::script +extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface* +com_sun_star_comp_deployment_script_PackageRegistryBackend_get_implementation( + css::uno::XComponentContext* context, css::uno::Sequence<css::uno::Any> const& args) +{ + return cppu::acquire(new dp_registry::backend::script::BackendImpl(args, context)); +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/desktop/source/deployment/registry/sfwk/dp_sfwk.cxx b/desktop/source/deployment/registry/sfwk/dp_sfwk.cxx index 58c72b6ca943..4dcd55e02991 100644 --- a/desktop/source/deployment/registry/sfwk/dp_sfwk.cxx +++ b/desktop/source/deployment/registry/sfwk/dp_sfwk.cxx @@ -19,18 +19,17 @@ #include <sal/config.h> -#include <dp_services.hxx> #include <strings.hrc> #include <dp_backend.h> #include <dp_ucb.h> #include "dp_parceldesc.hxx" #include <rtl/uri.hxx> #include <ucbhelper/content.hxx> -#include <comphelper/servicedecl.hxx> #include <svl/inettype.hxx> #include <com/sun/star/container/XNameContainer.hpp> #include <com/sun/star/script/provider/theMasterScriptProviderFactory.hpp> #include <com/sun/star/xml/sax/Parser.hpp> +#include <cppuhelper/supportsservice.hxx> using namespace ::dp_misc; @@ -93,6 +92,11 @@ public: Sequence<Any> const & args, Reference<XComponentContext> const & xComponentContext ); + // XServiceInfo + virtual OUString SAL_CALL getImplementationName() override; + virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) override; + virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override; + // XPackageRegistry virtual Sequence< Reference<deployment::XPackageTypeInfo> > SAL_CALL getSupportedPackageTypes() override; @@ -167,6 +171,22 @@ BackendImpl::BackendImpl( } +// XServiceInfo +OUString BackendImpl::getImplementationName() +{ + return "com.sun.star.comp.deployment.sfwk.PackageRegistryBackend"; +} + +sal_Bool BackendImpl::supportsService( const OUString& ServiceName ) +{ + return cppu::supportsService(this, ServiceName); +} + +css::uno::Sequence< OUString > BackendImpl::getSupportedServiceNames() +{ + return { BACKEND_SERVICE_NAME }; +} + // XPackageRegistry Sequence< Reference<deployment::XPackageTypeInfo> > @@ -346,13 +366,13 @@ void BackendImpl::PackageImpl::processPackage_( } } -namespace sdecl = comphelper::service_decl; -sdecl::class_<BackendImpl, sdecl::with_args<true> > const serviceBI; -sdecl::ServiceDecl const serviceDecl( - serviceBI, - "com.sun.star.comp.deployment.sfwk.PackageRegistryBackend", - BACKEND_SERVICE_NAME ); - } // namespace dp_registry::backend::sfwk +extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface* +com_sun_star_comp_deployment_sfwk_PackageRegistryBackend_get_implementation( + css::uno::XComponentContext* context, css::uno::Sequence<css::uno::Any> const& args) +{ + return cppu::acquire(new dp_registry::backend::sfwk::BackendImpl(args, context)); +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/solenv/bin/native-code.py b/solenv/bin/native-code.py index 06dd076a8eff..e62c4b90b12e 100755 --- a/solenv/bin/native-code.py +++ b/solenv/bin/native-code.py @@ -501,7 +501,6 @@ calc_constructor_list = [ draw_factory_list = [ ("libsdlo.a", "sd_component_getFactory"), ("libsvgfilterlo.a", "svgfilter_component_getFactory"), - ("libdeployment.a", "deployment_component_getFactory"), ("libemboleobj.a", "emboleobj_component_getFactory"), ] @@ -518,6 +517,17 @@ draw_constructor_list = [ "com_sun_star_animations_ParallelTimeContainer_get_implementation", "com_sun_star_animations_SequenceTimeContainer_get_implementation", "com_sun_star_animations_TransitionFilter_get_implementation", +# desktop/source/deployment/deployment.component + "com_sun_star_comp_deployment_ExtensionManager_get_implementation", + "com_sun_star_comp_deployment_PackageInformationProvider_get_implementation", + "com_sun_star_comp_deployment_PackageManagerFactory_get_implementation", + "com_sun_star_comp_deployment_ProgressLog_get_implementation", + "com_sun_star_comp_deployment_component_PackageRegistryBackend_get_implementation", + "com_sun_star_comp_deployment_configuration_PackageRegistryBackend_get_implementation", + "com_sun_star_comp_deployment_executable_PackageRegistryBackend_get_implementation", + "com_sun_star_comp_deployment_help_PackageRegistryBackend_get_implementation", + "com_sun_star_comp_deployment_script_PackageRegistryBackend_get_implementation", + "com_sun_star_comp_deployment_sfwk_PackageRegistryBackend_get_implementation", # sd/util/sd.component "RandomAnimationNode_get_implementation", "com_sun_star_comp_Draw_framework_BasicPaneFactory_get_implementation", |