summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatúš Kukan <matus.kukan@collabora.com>2014-01-14 09:09:57 +0100
committerMatúš Kukan <matus.kukan@collabora.com>2014-01-15 08:51:25 +0100
commitbdeb57c23973f3ef79020847b2fe39f312cf3c0b (patch)
tree8e3b8d052b753c228bea7b438d9b18da39ac1b65
parenta3f97e65570855858e73e89c050f9c6589d3c7be (diff)
Initialize constructor based implementations in one place.
Change-Id: I324f25bb5ec7d792c3e015815f2a11b08f519764
-rw-r--r--cppuhelper/source/servicemanager.cxx26
-rw-r--r--svtools/source/hatchwindow/documentcloser.cxx6
-rw-r--r--svtools/source/uno/fpicker.cxx11
-rw-r--r--svx/source/customshapes/EnhancedCustomShapeEngine.cxx10
-rw-r--r--svx/source/tbxctrls/tbunocontroller.cxx10
-rw-r--r--svx/source/tbxctrls/tbunosearchcontrollers.cxx70
-rw-r--r--svx/source/unogallery/unogalthemeprovider.cxx10
-rw-r--r--svx/source/xml/xmlgrhlp.cxx20
8 files changed, 33 insertions, 130 deletions
diff --git a/cppuhelper/source/servicemanager.cxx b/cppuhelper/source/servicemanager.cxx
index 4044c1ce0d56..bebeaa82e641 100644
--- a/cppuhelper/source/servicemanager.cxx
+++ b/cppuhelper/source/servicemanager.cxx
@@ -20,6 +20,7 @@
#include "com/sun/star/container/ElementExistException.hpp"
#include "com/sun/star/container/XEnumeration.hpp"
#include "com/sun/star/container/XNameContainer.hpp"
+#include "com/sun/star/lang/XInitialization.hpp"
#include "com/sun/star/lang/XServiceInfo.hpp"
#include "com/sun/star/lang/XSingleComponentFactory.hpp"
#include "com/sun/star/lang/XSingleServiceFactory.hpp"
@@ -601,12 +602,18 @@ ImplementationWrapper::createInstanceWithArgumentsAndContext(
throw (css::uno::Exception, css::uno::RuntimeException)
{
loadImplementation(Context);
- return constructor_ != 0
- ? css::uno::Reference<css::uno::XInterface>(
- (*constructor_)(Context.get(), Arguments.get()), SAL_NO_ACQUIRE)
- : factory1_.is()
- ? factory1_->createInstanceWithArgumentsAndContext(Arguments, Context)
- : factory2_->createInstanceWithArguments(Arguments);
+ if (constructor_ != 0) {
+ css::uno::Reference<css::uno::XInterface> xRet(
+ (*constructor_)(Context.get(), Arguments.get()), SAL_NO_ACQUIRE);
+ css::uno::Reference<css::lang::XInitialization> xInit(
+ xRet, css::uno::UNO_QUERY);
+ if (xInit.is())
+ xInit->initialize(Arguments);
+ return xRet;
+ } else
+ return factory1_.is()
+ ? factory1_->createInstanceWithArgumentsAndContext(Arguments, Context)
+ : factory2_->createInstanceWithArguments(Arguments);
}
css::uno::Reference< css::uno::XInterface >
@@ -928,9 +935,14 @@ cppuhelper::ServiceManager::createInstanceWithArgumentsAndContext(
return css::uno::Reference< css::uno::XInterface >();
}
if (impl->constructor != 0) {
- return css::uno::Reference<css::uno::XInterface>(
+ css::uno::Reference<css::uno::XInterface> xRet(
(*impl->constructor)(Context.get(), Arguments.get()),
SAL_NO_ACQUIRE);
+ css::uno::Reference<css::lang::XInitialization> xInit(
+ xRet, css::uno::UNO_QUERY);
+ if (xInit.is())
+ xInit->initialize(Arguments);
+ return xRet;
} else if (impl->factory1.is()) {
return impl->factory1->createInstanceWithArgumentsAndContext(
Arguments, Context);
diff --git a/svtools/source/hatchwindow/documentcloser.cxx b/svtools/source/hatchwindow/documentcloser.cxx
index 1e198dab28bf..66c0ed51e6f0 100644
--- a/svtools/source/hatchwindow/documentcloser.cxx
+++ b/svtools/source/hatchwindow/documentcloser.cxx
@@ -281,12 +281,8 @@ com_sun_star_comp_embed_DocumentCloser_get_implementation(
SAL_UNUSED_PARAMETER css::uno::XComponentContext *,
uno_Sequence * arguments)
{
- assert(arguments != 0 );
+ assert(arguments != 0); (void) arguments;
rtl::Reference<ODocumentCloser> x(new ODocumentCloser);
- css::uno::Sequence<css::uno::Any> aArgs(
- reinterpret_cast<css::uno::Any *>(arguments->elements),
- arguments->nElements);
- x->initialize(aArgs);
x->acquire();
return static_cast<cppu::OWeakObject *>(x.get());
}
diff --git a/svtools/source/uno/fpicker.cxx b/svtools/source/uno/fpicker.cxx
index 9ff1f6da241c..89089d382958 100644
--- a/svtools/source/uno/fpicker.cxx
+++ b/svtools/source/uno/fpicker.cxx
@@ -20,7 +20,6 @@
#include "sal/types.h"
#include "rtl/ustring.hxx"
-#include <com/sun/star/lang/XInitialization.hpp>
#include <com/sun/star/lang/XMultiComponentFactory.hpp>
#include "svtools/miscopt.hxx"
@@ -58,7 +57,7 @@ extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface * SAL_CALL
com_sun_star_comp_svt_FilePicker_get_implementation(
css::uno::XComponentContext *context, uno_Sequence * arguments)
{
- assert(arguments != 0);
+ assert(arguments != 0); (void) arguments;
Reference< css::uno::XInterface > xResult;
Reference< css::lang::XMultiComponentFactory > xFactory (context->getServiceManager());
if (xFactory.is() && SvtMiscOptions().UseSystemFileDialog())
@@ -93,14 +92,6 @@ com_sun_star_comp_svt_FilePicker_get_implementation(
// Add to FilePicker history.
svt::addFilePicker (xResult);
}
- css::uno::Reference< css::lang::XInitialization > xx(xResult, css::uno::UNO_QUERY);
- if (xx.is() && arguments->nElements)
- {
- css::uno::Sequence<css::uno::Any> aArgs(
- reinterpret_cast<css::uno::Any *>(arguments->elements),
- arguments->nElements);
- xx->initialize(aArgs);
- }
xResult->acquire();
return xResult.get();
}
diff --git a/svx/source/customshapes/EnhancedCustomShapeEngine.cxx b/svx/source/customshapes/EnhancedCustomShapeEngine.cxx
index b9bc674c4d14..8cbd2f244134 100644
--- a/svx/source/customshapes/EnhancedCustomShapeEngine.cxx
+++ b/svx/source/customshapes/EnhancedCustomShapeEngine.cxx
@@ -493,18 +493,10 @@ com_sun_star_drawing_EnhancedCustomShapeEngine_implementation_getFactory(
SAL_UNUSED_PARAMETER css::uno::XComponentContext *,
uno_Sequence * arguments)
{
- assert(arguments != 0);
+ assert(arguments != 0); (void) arguments;
css::uno::Reference<css::uno::XInterface> x(
static_cast<cppu::OWeakObject *>(new EnhancedCustomShapeEngine));
x->acquire();
- css::uno::Reference< css::lang::XInitialization > xx(x, css::uno::UNO_QUERY);
- if (xx.is())
- {
- css::uno::Sequence<css::uno::Any> aArgs(
- reinterpret_cast<css::uno::Any *>(arguments->elements),
- arguments->nElements);
- xx->initialize(aArgs);
- }
return x.get();
}
diff --git a/svx/source/tbxctrls/tbunocontroller.cxx b/svx/source/tbxctrls/tbunocontroller.cxx
index 56dc41e031fa..0d560e9500ff 100644
--- a/svx/source/tbxctrls/tbunocontroller.cxx
+++ b/svx/source/tbxctrls/tbunocontroller.cxx
@@ -443,18 +443,10 @@ com_sun_star_svx_FontHeightToolBoxController_implementation_getFactory(
css::uno::XComponentContext *rxContext,
uno_Sequence * arguments)
{
- assert(arguments != 0);
+ assert(arguments != 0); (void) arguments;
css::uno::Reference<css::uno::XInterface> x(
static_cast<cppu::OWeakObject *>(new FontHeightToolBoxControl(rxContext)));
x->acquire();
- css::uno::Reference< css::lang::XInitialization > xx(x, css::uno::UNO_QUERY);
- if (xx.is())
- {
- css::uno::Sequence<css::uno::Any> aArgs(
- reinterpret_cast<css::uno::Any *>(arguments->elements),
- arguments->nElements);
- xx->initialize(aArgs);
- }
return x.get();
}
diff --git a/svx/source/tbxctrls/tbunosearchcontrollers.cxx b/svx/source/tbxctrls/tbunosearchcontrollers.cxx
index aecea5c5a5c0..8534bb3d38c1 100644
--- a/svx/source/tbxctrls/tbunosearchcontrollers.cxx
+++ b/svx/source/tbxctrls/tbunosearchcontrollers.cxx
@@ -1053,18 +1053,10 @@ extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface * SAL_CALL
com_sun_star_svx_FindTextToolboxController_implementation_getFactory(
css::uno::XComponentContext *context, uno_Sequence * arguments)
{
- assert(arguments != 0);
+ assert(arguments != 0); (void) arguments;
css::uno::Reference<css::uno::XInterface> x(
static_cast<cppu::OWeakObject *>(new FindTextToolbarController(context)));
x->acquire();
- css::uno::Reference< css::lang::XInitialization > xx(x, css::uno::UNO_QUERY);
- if (xx.is())
- {
- css::uno::Sequence<css::uno::Any> aArgs(
- reinterpret_cast<css::uno::Any *>(arguments->elements),
- arguments->nElements);
- xx->initialize(aArgs);
- }
return x.get();
}
@@ -1072,18 +1064,10 @@ extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface * SAL_CALL
com_sun_star_svx_ExitFindbarToolboxController_implementation_getFactory(
css::uno::XComponentContext *context, uno_Sequence * arguments)
{
- assert(arguments != 0);
+ assert(arguments != 0); (void) arguments;
css::uno::Reference<css::uno::XInterface> x(
static_cast<cppu::OWeakObject *>(new ExitSearchToolboxController(context)));
x->acquire();
- css::uno::Reference< css::lang::XInitialization > xx(x, css::uno::UNO_QUERY);
- if (xx.is())
- {
- css::uno::Sequence<css::uno::Any> aArgs(
- reinterpret_cast<css::uno::Any *>(arguments->elements),
- arguments->nElements);
- xx->initialize(aArgs);
- }
return x.get();
}
@@ -1091,19 +1075,11 @@ extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface * SAL_CALL
com_sun_star_svx_UpSearchToolboxController_implementation_getFactory(
css::uno::XComponentContext *context, uno_Sequence * arguments)
{
- assert(arguments != 0);
+ assert(arguments != 0); (void) arguments;
css::uno::Reference<css::uno::XInterface> x(
static_cast<cppu::OWeakObject *>(new UpDownSearchToolboxController(
context, UpDownSearchToolboxController::UP )));
x->acquire();
- css::uno::Reference< css::lang::XInitialization > xx(x, css::uno::UNO_QUERY);
- if (xx.is())
- {
- css::uno::Sequence<css::uno::Any> aArgs(
- reinterpret_cast<css::uno::Any *>(arguments->elements),
- arguments->nElements);
- xx->initialize(aArgs);
- }
return x.get();
}
@@ -1111,19 +1087,11 @@ extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface * SAL_CALL
com_sun_star_svx_DownSearchToolboxController_implementation_getFactory(
css::uno::XComponentContext *context, uno_Sequence * arguments)
{
- assert(arguments != 0);
+ assert(arguments != 0); (void) arguments;
css::uno::Reference<css::uno::XInterface> x(
static_cast<cppu::OWeakObject *>(new UpDownSearchToolboxController(
context, UpDownSearchToolboxController::DOWN )));
x->acquire();
- css::uno::Reference< css::lang::XInitialization > xx(x, css::uno::UNO_QUERY);
- if (xx.is())
- {
- css::uno::Sequence<css::uno::Any> aArgs(
- reinterpret_cast<css::uno::Any *>(arguments->elements),
- arguments->nElements);
- xx->initialize(aArgs);
- }
return x.get();
}
@@ -1131,18 +1099,10 @@ extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface * SAL_CALL
com_sun_star_svx_MatchCaseToolboxController_implementation_getFactory(
css::uno::XComponentContext *context, uno_Sequence * arguments)
{
- assert(arguments != 0);
+ assert(arguments != 0); (void) arguments;
css::uno::Reference<css::uno::XInterface> x(
static_cast<cppu::OWeakObject *>(new MatchCaseToolboxController(context)));
x->acquire();
- css::uno::Reference< css::lang::XInitialization > xx(x, css::uno::UNO_QUERY);
- if (xx.is())
- {
- css::uno::Sequence<css::uno::Any> aArgs(
- reinterpret_cast<css::uno::Any *>(arguments->elements),
- arguments->nElements);
- xx->initialize(aArgs);
- }
return x.get();
}
@@ -1150,18 +1110,10 @@ extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface * SAL_CALL
com_sun_star_svx_FindAllToolboxController_implementation_getFactory(
css::uno::XComponentContext *context, uno_Sequence * arguments)
{
- assert(arguments != 0);
+ assert(arguments != 0); (void) arguments;
css::uno::Reference<css::uno::XInterface> x(
static_cast<cppu::OWeakObject *>(new FindAllToolboxController(context)));
x->acquire();
- css::uno::Reference< css::lang::XInitialization > xx(x, css::uno::UNO_QUERY);
- if (xx.is())
- {
- css::uno::Sequence<css::uno::Any> aArgs(
- reinterpret_cast<css::uno::Any *>(arguments->elements),
- arguments->nElements);
- xx->initialize(aArgs);
- }
return x.get();
}
@@ -1170,18 +1122,10 @@ com_sun_star_comp_svx_Impl_FindbarDispatcher_implementation_getFactory(
SAL_UNUSED_PARAMETER css::uno::XComponentContext *,
uno_Sequence * arguments)
{
- assert(arguments != 0);
+ assert(arguments != 0); (void) arguments;
css::uno::Reference<css::uno::XInterface> x(
static_cast<cppu::OWeakObject *>(new FindbarDispatcher));
x->acquire();
- css::uno::Reference< css::lang::XInitialization > xx(x, css::uno::UNO_QUERY);
- if (xx.is())
- {
- css::uno::Sequence<css::uno::Any> aArgs(
- reinterpret_cast<css::uno::Any *>(arguments->elements),
- arguments->nElements);
- xx->initialize(aArgs);
- }
return x.get();
}
diff --git a/svx/source/unogallery/unogalthemeprovider.cxx b/svx/source/unogallery/unogalthemeprovider.cxx
index 71b0736f6491..78c4628a6eab 100644
--- a/svx/source/unogallery/unogalthemeprovider.cxx
+++ b/svx/source/unogallery/unogalthemeprovider.cxx
@@ -253,18 +253,10 @@ com_sun_star_comp_gallery_GalleryThemeProvider_implementation_getFactory(
SAL_UNUSED_PARAMETER css::uno::XComponentContext *,
uno_Sequence * arguments)
{
- assert(arguments != 0);
+ assert(arguments != 0); (void) arguments;
css::uno::Reference<css::uno::XInterface> x(
static_cast<cppu::OWeakObject *>(new GalleryThemeProvider));
x->acquire();
- css::uno::Reference< css::lang::XInitialization > xx(x, css::uno::UNO_QUERY);
- if (xx.is())
- {
- css::uno::Sequence<css::uno::Any> aArgs(
- reinterpret_cast<css::uno::Any *>(arguments->elements),
- arguments->nElements);
- xx->initialize(aArgs);
- }
return x.get();
}
diff --git a/svx/source/xml/xmlgrhlp.cxx b/svx/source/xml/xmlgrhlp.cxx
index 913ca6cf1d21..4c705977e68e 100644
--- a/svx/source/xml/xmlgrhlp.cxx
+++ b/svx/source/xml/xmlgrhlp.cxx
@@ -1055,19 +1055,11 @@ com_sun_star_comp_Svx_GraphicImportHelper_implementation_getFactory(
SAL_UNUSED_PARAMETER css::uno::XComponentContext *,
uno_Sequence * arguments)
{
- assert(arguments != 0);
+ assert(arguments != 0); (void) arguments;
css::uno::Reference<css::uno::XInterface> x(
static_cast<cppu::OWeakObject *>(new SvXMLGraphicImportExportHelper(
GRAPHICHELPER_MODE_READ)));
x->acquire();
- css::uno::Reference< css::lang::XInitialization > xx(x, css::uno::UNO_QUERY);
- if (xx.is())
- {
- css::uno::Sequence<css::uno::Any> aArgs(
- reinterpret_cast<css::uno::Any *>(arguments->elements),
- arguments->nElements);
- xx->initialize(aArgs);
- }
return x.get();
}
@@ -1088,19 +1080,11 @@ com_sun_star_comp_Svx_GraphicExportHelper_implementation_getFactory(
SAL_UNUSED_PARAMETER css::uno::XComponentContext *,
uno_Sequence * arguments)
{
- assert(arguments != 0);
+ assert(arguments != 0); (void) arguments;
css::uno::Reference<css::uno::XInterface> x(
static_cast<cppu::OWeakObject *>(new SvXMLGraphicImportExportHelper(
GRAPHICHELPER_MODE_WRITE )));
x->acquire();
- css::uno::Reference< css::lang::XInitialization > xx(x, css::uno::UNO_QUERY);
- if (xx.is())
- {
- css::uno::Sequence<css::uno::Any> aArgs(
- reinterpret_cast<css::uno::Any *>(arguments->elements),
- arguments->nElements);
- xx->initialize(aArgs);
- }
return x.get();
}