From 2e284203da7f9882842111265f5f68ea0a145065 Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Thu, 13 Sep 2012 11:01:15 +0200 Subject: fdo#46808, Adapt ucb::UniversalContentBroker UNO service to new style Create a merged XUniversalContentBroker interface for this service to implement. Which is backwards-compatible, but does not require creating a new service. Change-Id: Id264387bf8af8bf211050e15b8801a1fde368167 --- ucbhelper/source/client/contentbroker.cxx | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) (limited to 'ucbhelper') diff --git a/ucbhelper/source/client/contentbroker.cxx b/ucbhelper/source/client/contentbroker.cxx index bd85d2f5076b..219a7a13d077 100644 --- a/ucbhelper/source/client/contentbroker.cxx +++ b/ucbhelper/source/client/contentbroker.cxx @@ -26,8 +26,10 @@ #include #include #include +#include #include #include +#include #include #include #include @@ -40,6 +42,7 @@ #include #endif +using namespace com::sun::star::beans; using namespace com::sun::star::lang; using namespace com::sun::star::ucb; using namespace com::sun::star::uno; @@ -310,13 +313,21 @@ bool ContentBroker_Impl::initialize() { try { - xIfc = m_xSMgr->createInstanceWithArguments( - OUString( - "com.sun.star.ucb.UniversalContentBroker" ), - m_aArguments ); + Reference< XPropertySet > xFactoryProperties( m_xSMgr, UNO_QUERY_THROW ); + Reference< XComponentContext > xContext( xFactoryProperties->getPropertyValue( "DefaultContext" ), UNO_QUERY_THROW ); + if( m_aArguments.getLength() == 0 ) + xIfc = UniversalContentBroker::createDefault(xContext); + else + { + rtl::OUString aPrimaryConfigKey, aSecondaryConfigKey; + m_aArguments[0] >>= aPrimaryConfigKey; + m_aArguments[1] >>= aSecondaryConfigKey; + xIfc = UniversalContentBroker::createWithKeys(xContext, aPrimaryConfigKey, aSecondaryConfigKey); + } } - catch ( Exception const & ) + catch ( const Exception & e) { + SAL_WARN("ucbhelper", "exception while initialising UniversalContentBroker " << e.Message); } } -- cgit