diff options
author | Noel Grandin <noel@peralex.com> | 2012-09-13 11:01:15 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2012-09-14 18:24:48 +0200 |
commit | 2e284203da7f9882842111265f5f68ea0a145065 (patch) | |
tree | 40eb08bffa732c6371bb15eff73a8d2ff18859a3 /extensions | |
parent | 82e94dcaab4534f657458a2461033d686f10cb10 (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.cxx | 12 | ||||
-rw-r--r-- | extensions/source/update/feed/test/updatefeedtest.cxx | 12 | ||||
-rw-r--r-- | extensions/source/update/feed/updatefeed.cxx | 27 |
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 |