diff options
author | Noel Grandin <noel@peralex.com> | 2013-02-25 15:17:03 +0200 |
---|---|---|
committer | Noel Grandin <noel@peralex.com> | 2013-03-04 14:22:33 +0200 |
commit | 244c7cdede13980c29850b7b68e9da16cdc61879 (patch) | |
tree | d06ef7ef2a9239302aedf5ba126e3e3e2fc4c146 /framework/source/helper | |
parent | c4c736c2a4c9852f8ef8257c36d7b5481aa9e83a (diff) |
fdo#46808, convert task::StatusIndicatorFactory to new style
the service already existed, it just needed an IDL file.
Change-Id: I84c8e48e176ec3a38ac48a7abcec7463390523b9
Diffstat (limited to 'framework/source/helper')
-rw-r--r-- | framework/source/helper/statusindicatorfactory.cxx | 45 |
1 files changed, 32 insertions, 13 deletions
diff --git a/framework/source/helper/statusindicatorfactory.cxx b/framework/source/helper/statusindicatorfactory.cxx index 3f6b34dfb9ed..19347ee43177 100644 --- a/framework/source/helper/statusindicatorfactory.cxx +++ b/framework/source/helper/statusindicatorfactory.cxx @@ -71,8 +71,8 @@ DEFINE_XTYPEPROVIDER_5(StatusIndicatorFactory , DEFINE_XSERVICEINFO_MULTISERVICE(StatusIndicatorFactory , ::cppu::OWeakObject , - SERVICENAME_STATUSINDICATORFACTORY , - IMPLEMENTATIONNAME_STATUSINDICATORFACTORY) + OUString("com.sun.star.task.StatusIndicatorFactory"), + OUString("com.sun.star.comp.framework.StatusIndicatorFactory")) DEFINE_INIT_SERVICE(StatusIndicatorFactory, { @@ -107,18 +107,37 @@ void SAL_CALL StatusIndicatorFactory::initialize(const css::uno::Sequence< css:: throw(css::uno::Exception , css::uno::RuntimeException) { - ::comphelper::SequenceAsHashMap lArgs(lArguments); - - // SAFE -> ---------------------------------- - WriteGuard aWriteLock(m_aLock); - - m_xFrame = lArgs.getUnpackedValueOrDefault(STATUSINDICATORFACTORY_PROPNAME_FRAME , css::uno::Reference< css::frame::XFrame >()); - m_xPluggWindow = lArgs.getUnpackedValueOrDefault(STATUSINDICATORFACTORY_PROPNAME_WINDOW , css::uno::Reference< css::awt::XWindow >() ); - m_bAllowParentShow = lArgs.getUnpackedValueOrDefault(STATUSINDICATORFACTORY_PROPNAME_ALLOWPARENTSHOW , (sal_Bool)sal_False ); - m_bDisableReschedule = lArgs.getUnpackedValueOrDefault(STATUSINDICATORFACTORY_PROPNAME_DISABLERESCHEDULE, (sal_Bool)sal_False ); + if (lArguments.getLength() > 0) { + // SAFE -> ---------------------------------- + WriteGuard aWriteLock(m_aLock); - aWriteLock.unlock(); - // <- SAFE ---------------------------------- + css::uno::Reference< css::frame::XFrame > xTmpFrame; + css::uno::Reference< css::awt::XWindow > xTmpWindow; + bool b1 = lArguments[0] >>= xTmpFrame; + bool b2 = lArguments[0] >>= xTmpWindow; + if (lArguments.getLength() == 3 && b1) { + // it's the first service constructor "createWithFrame" + m_xFrame = xTmpFrame; + lArguments[1] >>= m_bDisableReschedule; + lArguments[2] >>= m_bAllowParentShow; + } else if (lArguments.getLength() == 3 && b2) { + // it's the second service constructor "createWithWindow" + m_xPluggWindow = xTmpWindow; + lArguments[1] >>= m_bDisableReschedule; + lArguments[2] >>= m_bAllowParentShow; + } else { + // it's an old-style initialisation using properties + ::comphelper::SequenceAsHashMap lArgs(lArguments); + + m_xFrame = lArgs.getUnpackedValueOrDefault("Frame" , css::uno::Reference< css::frame::XFrame >()); + m_xPluggWindow = lArgs.getUnpackedValueOrDefault("Window" , css::uno::Reference< css::awt::XWindow >() ); + m_bAllowParentShow = lArgs.getUnpackedValueOrDefault("AllowParentShow" , (sal_Bool)sal_False ); + m_bDisableReschedule = lArgs.getUnpackedValueOrDefault("DisableReschedule", (sal_Bool)sal_False ); + + aWriteLock.unlock(); + // <- SAFE ---------------------------------- + } + } impl_createProgress(); } |