summaryrefslogtreecommitdiff
path: root/extensions
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2012-09-13 11:01:15 +0200
committerStephan Bergmann <sbergman@redhat.com>2012-09-14 18:24:48 +0200
commit2e284203da7f9882842111265f5f68ea0a145065 (patch)
tree40eb08bffa732c6371bb15eff73a8d2ff18859a3 /extensions
parent82e94dcaab4534f657458a2461033d686f10cb10 (diff)
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
Diffstat (limited to 'extensions')
-rw-r--r--extensions/source/update/check/updateprotocoltest.cxx12
-rw-r--r--extensions/source/update/feed/test/updatefeedtest.cxx12
-rw-r--r--extensions/source/update/feed/updatefeed.cxx27
3 files changed, 17 insertions, 34 deletions
diff --git a/extensions/source/update/check/updateprotocoltest.cxx b/extensions/source/update/check/updateprotocoltest.cxx
index d16d75a5fa69..a1556769567f 100644
--- a/extensions/source/update/check/updateprotocoltest.cxx
+++ b/extensions/source/update/check/updateprotocoltest.cxx
@@ -21,6 +21,7 @@
#include <cppuhelper/bootstrap.hxx>
#include "updateprotocol.hxx"
+#include <com/sun/star/ucb/UniversalContentBroker.hpp>
#include <sal/main.h>
#include <osl/process.h>
@@ -48,15 +49,8 @@ SAL_IMPLEMENT_MAIN()
uno::Reference< uno::XComponentContext > rComponentContext = cppu::defaultBootstrap_InitialComponentContext();
// initialize UCB
- uno::Sequence< uno::Any > theArguments(2);
- theArguments[0] = uno::makeAny( UNISTRING( "Local") );
- theArguments[1] = uno::makeAny( UNISTRING( "Office") );
-
- uno::Reference< uno::XInterface > xUCB =
- rComponentContext->getServiceManager()->createInstanceWithArgumentsAndContext(
- UNISTRING( "com.sun.star.ucb.UniversalContentBroker" ),
- theArguments,
- rComponentContext );
+ uno::Reference< uno::XUniversalContentBroker > xUCB =
+ UniversalContentBroker::createWithKeys(rComponentContext, theArguments, "Local", "Office");
rtl::OUString aURL;
diff --git a/extensions/source/update/feed/test/updatefeedtest.cxx b/extensions/source/update/feed/test/updatefeedtest.cxx
index 4819c14ff463..71c0508b70aa 100644
--- a/extensions/source/update/feed/test/updatefeedtest.cxx
+++ b/extensions/source/update/feed/test/updatefeedtest.cxx
@@ -25,6 +25,7 @@
#include <com/sun/star/lang/XInitialization.hpp>
+#include <com/sun/star/ucb/UniversalContentBroker.hpp>
#include <com/sun/star/deployment/UpdateInformationProvider.hpp>
#include <sal/main.h>
@@ -55,15 +56,8 @@ SAL_IMPLEMENT_MAIN()
uno::Reference< uno::XComponentContext > rComponentContext = cppu::defaultBootstrap_InitialComponentContext();
// initialize UCB
- uno::Sequence< uno::Any > theArguments(2);
- theArguments[0] = uno::makeAny( UNISTRING( "Local") );
- theArguments[1] = uno::makeAny( UNISTRING( "Office") );
-
- uno::Reference< uno::XInterface > xUCB =
- rComponentContext->getServiceManager()->createInstanceWithArgumentsAndContext(
- UNISTRING( "com.sun.star.ucb.UniversalContentBroker" ),
- theArguments,
- rComponentContext );
+ uno::Reference< uno::XUniversalContentBroker > xUCB =
+ ucb::UniversalContentBroker::createWithKeys(rComponentContext, "Local", "Office");
// retrieve the update information provider
uno::Reference< deployment::XUpdateInformationProvider > rUpdateInformationProvider =
diff --git a/extensions/source/update/feed/updatefeed.cxx b/extensions/source/update/feed/updatefeed.cxx
index 74a29e2004fd..646e2f07236d 100644
--- a/extensions/source/update/feed/updatefeed.cxx
+++ b/extensions/source/update/feed/updatefeed.cxx
@@ -42,6 +42,7 @@
#include <com/sun/star/io/XInputStream.hpp>
#include <com/sun/star/lang/XComponent.hpp>
#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <com/sun/star/ucb/UniversalContentBroker.hpp>
#include <com/sun/star/ucb/XCommandEnvironment.hpp>
#include <com/sun/star/ucb/XWebDAVCommandEnvironment.hpp>
#include <com/sun/star/ucb/XCommandProcessor2.hpp>
@@ -209,15 +210,13 @@ private:
uno::Reference< ucb::XCommandProcessor > const & rxCommandProcessor);
UpdateInformationProvider(const uno::Reference<uno::XComponentContext>& xContext,
- const uno::Reference< ucb::XContentIdentifierFactory >& xContentIdFactory,
- const uno::Reference< ucb::XContentProvider >& xContentProvider,
+ const uno::Reference< ucb::XUniversalContentBroker >& xUniversalContentBroker,
const uno::Reference< xml::dom::XDocumentBuilder >& xDocumentBuilder,
const uno::Reference< xml::xpath::XXPathAPI >& xXPathAPI);
const uno::Reference< uno::XComponentContext> m_xContext;
- const uno::Reference< ucb::XContentIdentifierFactory > m_xContentIdFactory;
- const uno::Reference< ucb::XContentProvider > m_xContentProvider;
+ const uno::Reference< ucb::XUniversalContentBroker > m_xUniversalContentBroker;
const uno::Reference< xml::dom::XDocumentBuilder > m_xDocumentBuilder;
const uno::Reference< xml::xpath::XXPathAPI > m_xXPathAPI;
@@ -330,12 +329,11 @@ private:
UpdateInformationProvider::UpdateInformationProvider(
const uno::Reference<uno::XComponentContext>& xContext,
- const uno::Reference< ucb::XContentIdentifierFactory >& xContentIdFactory,
- const uno::Reference< ucb::XContentProvider >& xContentProvider,
+ const uno::Reference< ucb::XUniversalContentBroker >& xUniversalContentBroker,
const uno::Reference< xml::dom::XDocumentBuilder >& xDocumentBuilder,
const uno::Reference< xml::xpath::XXPathAPI >& xXPathAPI
-) : m_xContext(xContext), m_xContentIdFactory(xContentIdFactory),
- m_xContentProvider(xContentProvider), m_xDocumentBuilder(xDocumentBuilder),
+) : m_xContext(xContext), m_xUniversalContentBroker(xUniversalContentBroker),
+ m_xDocumentBuilder(xDocumentBuilder),
m_xXPathAPI(xXPathAPI), m_aRequestHeaderList(1)
{
uno::Reference< lang::XMultiServiceFactory > xConfigurationProvider(
@@ -409,11 +407,8 @@ UpdateInformationProvider::createInstance(const uno::Reference<uno::XComponentCo
UNISTRING( "unable to obtain service manager from component context" ),
uno::Reference< uno::XInterface > ());
- uno::Reference< ucb::XContentIdentifierFactory > xContentIdFactory(
- xServiceManager->createInstanceWithContext( UNISTRING( "com.sun.star.ucb.UniversalContentBroker" ), xContext ),
- uno::UNO_QUERY_THROW);
-
- uno::Reference< ucb::XContentProvider > xContentProvider(xContentIdFactory, uno::UNO_QUERY_THROW);
+ uno::Reference< ucb::XUniversalContentBroker > xUniversalContentBroker =
+ ucb::UniversalContentBroker::createDefault(xContext);
uno::Reference< xml::dom::XDocumentBuilder > xDocumentBuilder(
xml::dom::DocumentBuilder::create(xContext));
@@ -424,7 +419,7 @@ UpdateInformationProvider::createInstance(const uno::Reference<uno::XComponentCo
xXPath->registerNS( UNISTRING("atom"), UNISTRING("http://www.w3.org/2005/Atom") );
- return *new UpdateInformationProvider(xContext, xContentIdFactory, xContentProvider, xDocumentBuilder, xXPath);
+ return *new UpdateInformationProvider(xContext, xUniversalContentBroker, xDocumentBuilder, xXPath);
}
//------------------------------------------------------------------------------
@@ -472,13 +467,13 @@ UpdateInformationProvider::storeCommandInfo(
uno::Reference< io::XInputStream >
UpdateInformationProvider::load(const rtl::OUString& rURL)
{
- uno::Reference< ucb::XContentIdentifier > xId = m_xContentIdFactory->createContentIdentifier(rURL);
+ uno::Reference< ucb::XContentIdentifier > xId = m_xUniversalContentBroker->createContentIdentifier(rURL);
if( !xId.is() )
throw uno::RuntimeException(
UNISTRING( "unable to obtain universal content id" ), *this);
- uno::Reference< ucb::XCommandProcessor > xCommandProcessor(m_xContentProvider->queryContent(xId), uno::UNO_QUERY_THROW);
+ uno::Reference< ucb::XCommandProcessor > xCommandProcessor(m_xUniversalContentBroker->queryContent(xId), uno::UNO_QUERY_THROW);
rtl::Reference< ActiveDataSink > aSink(new ActiveDataSink());
// Disable KeepAlive in webdav - don't want millions of office