summaryrefslogtreecommitdiff
path: root/cppuhelper
diff options
context:
space:
mode:
authorJan Holesovsky <kendy@collabora.com>2014-01-16 16:26:55 +0100
committerJan Holesovsky <kendy@collabora.com>2014-01-20 17:37:40 +0100
commit306efefe22e02248eff14f8be2cef68d75d26e55 (patch)
treea6390855a593d27f602932df5ac06490a9ee5ba9 /cppuhelper
parentef602ba8ce58211c9588d8df72cbde7d48542a1a (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.cxx11
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()) {