diff options
author | Jan Holesovsky <kendy@collabora.com> | 2014-01-16 16:26:55 +0100 |
---|---|---|
committer | Jan Holesovsky <kendy@collabora.com> | 2014-01-20 17:37:40 +0100 |
commit | 306efefe22e02248eff14f8be2cef68d75d26e55 (patch) | |
tree | a6390855a593d27f602932df5ac06490a9ee5ba9 /cppuhelper | |
parent | ef602ba8ce58211c9588d8df72cbde7d48542a1a (diff) |
Minimize the constructor functions to a bare minimum.
Most of the constructors are supposed to be only a call of
new TheInstance(arguments)
or an equivalent; so let's just change the constructor caller accordingly, to
accept unacquired new instance.
If there are exceptions that need to do more heavy lifting, they do not have
to use the constructor feature, or there can be a wrapper for the real
implementation, doing the additional work in their (C++) constructor.
Change-Id: I035c378778aeda60d15af4e56ca3761c586d5ded
Diffstat (limited to 'cppuhelper')
-rw-r--r-- | cppuhelper/source/servicemanager.cxx | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/cppuhelper/source/servicemanager.cxx b/cppuhelper/source/servicemanager.cxx index 9bc31138447b..af964fe634a8 100644 --- a/cppuhelper/source/servicemanager.cxx +++ b/cppuhelper/source/servicemanager.cxx @@ -706,8 +706,7 @@ cppuhelper::ServiceManager::Data::Implementation::createInstance( if (constructor != 0) { return css::uno::Reference<css::uno::XInterface>( (*constructor)( - context.get(), css::uno::Sequence<css::uno::Any>()), - SAL_NO_ACQUIRE); + context.get(), css::uno::Sequence<css::uno::Any>())); } if (factory1.is()) { return factory1->createInstanceWithContext(context); @@ -730,8 +729,7 @@ cppuhelper::ServiceManager::Data::Implementation::createInstance( if (constructor != 0) { singleton.set( (*constructor)( - context.get(), css::uno::Sequence<css::uno::Any>()), - SAL_NO_ACQUIRE); + context.get(), css::uno::Sequence<css::uno::Any>())); } else if (factory1.is()) { singleton = factory1->createInstanceWithContext(context); } else if (factory2.is()) { @@ -761,7 +759,7 @@ cppuhelper::ServiceManager::Data::Implementation::createInstanceWithArguments( // should be removed again once XInitialization-based // implementations have become rare: css::uno::Reference<css::uno::XInterface> inst( - (*constructor)(context.get(), arguments), SAL_NO_ACQUIRE); + (*constructor)(context.get(), arguments)); css::uno::Reference<css::lang::XInitialization> init( inst, css::uno::UNO_QUERY); if (init.is()) { @@ -793,8 +791,7 @@ cppuhelper::ServiceManager::Data::Implementation::createInstanceWithArguments( } if (constructor != 0) { //HACK: see above - singleton.set( - (*constructor)(context.get(), arguments), SAL_NO_ACQUIRE); + singleton.set((*constructor)(context.get(), arguments)); css::uno::Reference<css::lang::XInitialization> init( singleton, css::uno::UNO_QUERY); if (init.is()) { |