summaryrefslogtreecommitdiff
path: root/sfx2/source/appl/appdispatchprovider.cxx
diff options
context:
space:
mode:
authorJan Holesovsky <kendy@collabora.com>2014-01-22 11:54:19 +0100
committerJan Holesovsky <kendy@collabora.com>2014-01-22 15:09:28 +0100
commitc2c530da69152ff9192b9726aa95961803ce9b29 (patch)
tree15e514573f35d9f376520fc2c015634dc4ee8c25 /sfx2/source/appl/appdispatchprovider.cxx
parent219a2939c9f58690356b2a3f64c580a0865fdc64 (diff)
Introduce static inline cppu::acquire(), and make use of that.
This is much better approach compared to the callback function, as it allows passing arguments to the c++ constructor directly, while still allowing some additional initialization after having acquired the instance. Change-Id: I5a0f981915dd58f1522ee6054e53a3550b29d624
Diffstat (limited to 'sfx2/source/appl/appdispatchprovider.cxx')
-rw-r--r--sfx2/source/appl/appdispatchprovider.cxx19
1 files changed, 4 insertions, 15 deletions
diff --git a/sfx2/source/appl/appdispatchprovider.cxx b/sfx2/source/appl/appdispatchprovider.cxx
index 6aa197c60df0..da2a6fd8d9c4 100644
--- a/sfx2/source/appl/appdispatchprovider.cxx
+++ b/sfx2/source/appl/appdispatchprovider.cxx
@@ -62,11 +62,7 @@ class SfxAppDispatchProvider : public ::cppu::WeakImplHelper2< css::frame::XAppD
{
css::uno::WeakReference < css::frame::XFrame > m_xFrame;
public:
- SfxAppDispatchProvider()
- throw (css::uno::Exception, css::uno::RuntimeException);
-
- /// Initialization function after having acquire()'d.
- void SAL_CALL constructorInit(const css::uno::Sequence< css::uno::Any >&)
+ SfxAppDispatchProvider(const css::uno::Sequence< css::uno::Any >&aArguments)
throw (css::uno::Exception, css::uno::RuntimeException);
virtual OUString SAL_CALL getImplementationName()
@@ -94,13 +90,9 @@ public:
throw (css::uno::RuntimeException);
};
-SfxAppDispatchProvider::SfxAppDispatchProvider()
+SfxAppDispatchProvider::SfxAppDispatchProvider(const css::uno::Sequence< css::uno::Any >& aArguments)
throw (uno::Exception, uno::RuntimeException)
{
-}
-
-void SfxAppDispatchProvider::constructorInit(const css::uno::Sequence< css::uno::Any >& aArguments) throw (css::uno::Exception, css::uno::RuntimeException)
-{
Reference < XFrame > xFrame;
if ( aArguments.getLength() )
{
@@ -261,12 +253,9 @@ throw (uno::RuntimeException)
extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface * SAL_CALL
com_sun_star_comp_sfx2_AppDispatchProvider_get_implementation(
css::uno::XComponentContext *,
- cppu::constructor_InitializationFunc &init_func)
+ css::uno::Sequence<css::uno::Any> const &arguments)
{
- // 2nd phase initialization needed
- init_func = static_cast<cppu::constructor_InitializationFunc>(&SfxAppDispatchProvider::constructorInit);
-
- return static_cast<cppu::OWeakObject *>(new SfxAppDispatchProvider());
+ return cppu::acquire(new SfxAppDispatchProvider(arguments));
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */