From 8a12673c1727381ce8ab729759c3d9cd2069342e Mon Sep 17 00:00:00 2001
From: Stephan Bergmann <sbergman@redhat.com>
Date: Thu, 19 Jan 2017 17:49:12 +0100
Subject: New loplugin:dynexcspec: Add @throws documentation, ucb

Change-Id: I39a50e3f066776ac670a99120e12624af39fa83a
---
 ucb/source/cacher/cachedcontentresultset.cxx       | 21 ++++++++---
 ucb/source/cacher/cachedcontentresultset.hxx       | 12 +++++--
 ucb/source/cacher/cachedcontentresultsetstub.cxx   | 21 ++++++++---
 ucb/source/cacher/cachedcontentresultsetstub.hxx   |  7 +++-
 ucb/source/cacher/cacheddynamicresultset.cxx       | 21 ++++++++---
 ucb/source/cacher/cacheddynamicresultsetstub.cxx   | 21 ++++++++---
 ucb/source/cacher/contentresultsetwrapper.hxx      |  8 +++++
 ucb/source/cacher/dynamicresultsetwrapper.hxx      |  4 +++
 ucb/source/core/FileAccess.cxx                     |  4 +++
 ucb/source/core/cmdenv.cxx                         |  2 +-
 ucb/source/core/provprox.cxx                       | 21 ++++++++---
 ucb/source/core/ucb.cxx                            | 21 ++++++++---
 ucb/source/core/ucb.hxx                            |  3 ++
 ucb/source/core/ucbcmds.cxx                        | 14 ++++----
 ucb/source/core/ucbprops.cxx                       | 21 ++++++++---
 ucb/source/core/ucbstore.cxx                       | 21 ++++++++---
 ucb/source/sorter/sortdynres.cxx                   |  1 +
 ucb/source/sorter/sortdynres.hxx                   |  2 ++
 ucb/source/sorter/sortresult.hxx                   |  9 ++++-
 ucb/source/ucp/cmis/cmis_content.hxx               | 14 ++++++++
 ucb/source/ucp/cmis/cmis_provider.cxx              | 21 +++++++++--
 ucb/source/ucp/cmis/cmis_repo_content.hxx          |  1 +
 ucb/source/ucp/ext/ucpext_provider.hxx             |  2 ++
 ucb/source/ucp/file/bc.hxx                         |  3 ++
 ucb/source/ucp/file/filrset.hxx                    |  2 ++
 ucb/source/ucp/file/filstr.hxx                     |  3 ++
 ucb/source/ucp/file/filtask.hxx                    |  9 ++++-
 ucb/source/ucp/ftp/ftpcontent.hxx                  |  1 +
 ucb/source/ucp/ftp/ftpcontentprovider.cxx          |  1 +
 ucb/source/ucp/ftp/ftpurl.hxx                      | 14 +++++++-
 ucb/source/ucp/gio/gio_content.hxx                 |  9 +++++
 ucb/source/ucp/gio/gio_provider.cxx                | 21 +++++++++--
 ucb/source/ucp/hierarchy/hierarchycontent.hxx      |  4 +++
 ucb/source/ucp/hierarchy/hierarchydatasource.cxx   | 15 ++++++--
 ucb/source/ucp/hierarchy/hierarchydatasource.hxx   |  1 +
 ucb/source/ucp/hierarchy/hierarchyprovider.cxx     | 21 ++++++++---
 ucb/source/ucp/package/pkgcontent.hxx              |  5 +++
 ucb/source/ucp/package/pkgprovider.cxx             | 21 ++++++++---
 ucb/source/ucp/tdoc/tdoc_content.cxx               |  7 ++--
 ucb/source/ucp/tdoc/tdoc_content.hxx               | 17 +++++++++
 .../ucp/tdoc/tdoc_documentcontentfactory.cxx       |  2 +-
 ucb/source/ucp/tdoc/tdoc_provider.cxx              | 22 +++++++++---
 ucb/source/ucp/tdoc/tdoc_provider.hxx              |  6 ++++
 ucb/source/ucp/tdoc/tdoc_stgelems.hxx              |  1 +
 ucb/source/ucp/tdoc/tdoc_storage.hxx               | 41 ++++++++++++++++++++++
 ucb/source/ucp/webdav-neon/DAVResourceAccess.cxx   |  1 +
 ucb/source/ucp/webdav-neon/DAVResourceAccess.hxx   | 29 +++++++++++++++
 ucb/source/ucp/webdav-neon/DAVSession.hxx          | 20 +++++++++++
 ucb/source/ucp/webdav-neon/DAVSessionFactory.hxx   |  1 +
 ucb/source/ucp/webdav-neon/NeonSession.hxx         |  4 +++
 ucb/source/ucp/webdav-neon/NeonUri.hxx             |  2 ++
 ucb/source/ucp/webdav-neon/webdavcontent.hxx       | 25 +++++++++++++
 ucb/source/ucp/webdav-neon/webdavprovider.cxx      | 21 ++++++++---
 53 files changed, 524 insertions(+), 77 deletions(-)

(limited to 'ucb')

diff --git a/ucb/source/cacher/cachedcontentresultset.cxx b/ucb/source/cacher/cachedcontentresultset.cxx
index 97c5447e389e..e1ab4c173063 100644
--- a/ucb/source/cacher/cachedcontentresultset.cxx
+++ b/ucb/source/cacher/cachedcontentresultset.cxx
@@ -2246,11 +2246,24 @@ XTYPEPROVIDER_IMPL_3( CachedContentResultSetFactory,
 
 // CachedContentResultSetFactory XServiceInfo methods.
 
+XSERVICEINFO_COMMOM_IMPL( CachedContentResultSetFactory,
+                          OUString( "com.sun.star.comp.ucb.CachedContentResultSetFactory" ) )
+/// @throws css::uno::Exception
+static css::uno::Reference< css::uno::XInterface > SAL_CALL
+CachedContentResultSetFactory_CreateInstance( const css::uno::Reference< css::lang::XMultiServiceFactory> & rSMgr )
+    throw( css::uno::Exception )
+{
+    css::lang::XServiceInfo* pX =
+        static_cast<css::lang::XServiceInfo*>(new CachedContentResultSetFactory( ucbhelper::getComponentContext(rSMgr) ));
+    return css::uno::Reference< css::uno::XInterface >::query( pX );
+}
 
-XSERVICEINFO_IMPL_1_CTX( CachedContentResultSetFactory,
-                     OUString( "com.sun.star.comp.ucb.CachedContentResultSetFactory" ),
-                     CACHED_CONTENT_RESULTSET_FACTORY_NAME );
-
+css::uno::Sequence< OUString >
+CachedContentResultSetFactory::getSupportedServiceNames_Static()
+{
+    css::uno::Sequence< OUString > aSNS { CACHED_CONTENT_RESULTSET_FACTORY_NAME };
+    return aSNS;
+}
 
 // Service factory implementation.
 
diff --git a/ucb/source/cacher/cachedcontentresultset.hxx b/ucb/source/cacher/cachedcontentresultset.hxx
index ea6b54b734c1..0d1a2a1c2d24 100644
--- a/ucb/source/cacher/cachedcontentresultset.hxx
+++ b/ucb/source/cacher/cachedcontentresultset.hxx
@@ -56,6 +56,8 @@ class CachedContentResultSet
         css::uno::Sequence< sal_Bool >*  m_pMappedReminder;
 
     private:
+        /// @throws css::sdbc::SQLException
+        /// @throws css::uno::RuntimeException
         css::uno::Any& SAL_CALL
         getRowAny( sal_Int32 nRow )
             throw( css::sdbc::SQLException,
@@ -89,20 +91,24 @@ class CachedContentResultSet
         bool SAL_CALL
         hasKnownLast();
 
-
+        /// @throws css::sdbc::SQLException
+        /// @throws css::uno::RuntimeException
         const css::uno::Any& SAL_CALL
         getAny( sal_Int32 nRow, sal_Int32 nColumnIndex )
             throw( css::sdbc::SQLException,
             css::uno::RuntimeException );
 
+        /// @throws css::uno::RuntimeException
         OUString SAL_CALL
         getContentIdentifierString( sal_Int32 nRow )
             throw( css::uno::RuntimeException );
 
+        /// @throws css::uno::RuntimeException
         css::uno::Reference< css::ucb::XContentIdentifier > SAL_CALL
         getContentIdentifier( sal_Int32 nRow )
             throw( css::uno::RuntimeException );
 
+        /// @throws css::uno::RuntimeException
         css::uno::Reference< css::ucb::XContent > SAL_CALL
         getContent( sal_Int32 nRow )
             throw( css::uno::RuntimeException );
@@ -155,12 +161,14 @@ private:
     //helping XPropertySet methods.
     virtual void SAL_CALL impl_initPropertySetInfo() override;
 
-
+    /// @throws css::sdbc::SQLException
+    /// @throws css::uno::RuntimeException
     bool SAL_CALL
     applyPositionToOrigin( sal_Int32 nRow )
         throw( css::sdbc::SQLException,
         css::uno::RuntimeException );
 
+    /// @throws css::uno::RuntimeException
     void SAL_CALL
     impl_fetchData( sal_Int32 nRow, sal_Int32 nCount
                     , sal_Int32 nFetchDirection )
diff --git a/ucb/source/cacher/cachedcontentresultsetstub.cxx b/ucb/source/cacher/cachedcontentresultsetstub.cxx
index 93f4467dc54b..19cdff4d5205 100644
--- a/ucb/source/cacher/cachedcontentresultsetstub.cxx
+++ b/ucb/source/cacher/cachedcontentresultsetstub.cxx
@@ -553,11 +553,22 @@ XTYPEPROVIDER_IMPL_3( CachedContentResultSetStubFactory,
 
 // CachedContentResultSetStubFactory XServiceInfo methods.
 
-
-XSERVICEINFO_IMPL_1( CachedContentResultSetStubFactory,
-                     OUString( "com.sun.star.comp.ucb.CachedContentResultSetStubFactory" ),
-                     CACHED_CRS_STUB_FACTORY_NAME );
-
+XSERVICEINFO_COMMOM_IMPL( CachedContentResultSetStubFactory,
+                          OUString( "com.sun.star.comp.ucb.CachedContentResultSetStubFactory" ) )
+/// @throws css::uno::Exception
+static css::uno::Reference< css::uno::XInterface > SAL_CALL
+CachedContentResultSetStubFactory_CreateInstance( const css::uno::Reference< css::lang::XMultiServiceFactory> & rSMgr )
+    throw( css::uno::Exception )
+{
+    css::lang::XServiceInfo* pX =
+        static_cast<css::lang::XServiceInfo*>(new CachedContentResultSetStubFactory( rSMgr ));
+    return css::uno::Reference< css::uno::XInterface >::query( pX );
+}
+css::uno::Sequence< OUString >
+CachedContentResultSetStubFactory::getSupportedServiceNames_Static()
+{
+    return { CACHED_CRS_STUB_FACTORY_NAME };
+}
 
 // Service factory implementation.
 
diff --git a/ucb/source/cacher/cachedcontentresultsetstub.hxx b/ucb/source/cacher/cachedcontentresultsetstub.hxx
index 6f855e8ddafe..85cbe1860c6f 100644
--- a/ucb/source/cacher/cachedcontentresultsetstub.hxx
+++ b/ucb/source/cacher/cachedcontentresultsetstub.hxx
@@ -50,7 +50,8 @@ private:
     const OUString     m_aPropertyNameForFetchSize;
     const OUString     m_aPropertyNameForFetchDirection;
 
-
+    /// @throws css::sdbc::SQLException
+    /// @throws css::uno::RuntimeException
     void SAL_CALL
     impl_getCurrentRowContent(
         css::uno::Any& rRowContent,
@@ -61,24 +62,28 @@ private:
     sal_Int32 SAL_CALL
     impl_getColumnCount();
 
+    /// @throws css::uno::RuntimeException
     static void SAL_CALL
     impl_getCurrentContentIdentifierString(
             css::uno::Any& rAny
             , const css::uno::Reference< css::ucb::XContentAccess >& xContentAccess )
             throw ( css::uno::RuntimeException );
 
+    /// @throws css::uno::RuntimeException
     static void SAL_CALL
     impl_getCurrentContentIdentifier(
             css::uno::Any& rAny
             , const css::uno::Reference< css::ucb::XContentAccess >& xContentAccess )
             throw ( css::uno::RuntimeException );
 
+    /// @throws css::uno::RuntimeException
     static void SAL_CALL
     impl_getCurrentContent(
             css::uno::Any& rAny
             , const css::uno::Reference< css::ucb::XContentAccess >& xContentAccess )
             throw ( css::uno::RuntimeException );
 
+    /// @throws css::uno::RuntimeException
     void SAL_CALL
     impl_propagateFetchSizeAndDirection( sal_Int32 nFetchSize, bool bFetchDirection )
         throw ( css::uno::RuntimeException );
diff --git a/ucb/source/cacher/cacheddynamicresultset.cxx b/ucb/source/cacher/cacheddynamicresultset.cxx
index 95acf89f921a..783d35f6f341 100644
--- a/ucb/source/cacher/cacheddynamicresultset.cxx
+++ b/ucb/source/cacher/cacheddynamicresultset.cxx
@@ -198,11 +198,24 @@ XTYPEPROVIDER_IMPL_3( CachedDynamicResultSetFactory,
 
 // CachedDynamicResultSetFactory XServiceInfo methods.
 
+XSERVICEINFO_COMMOM_IMPL( CachedDynamicResultSetFactory,
+                         OUString( "com.sun.star.comp.ucb.CachedDynamicResultSetFactory" ) )
+/// @throws css::uno::Exception
+static css::uno::Reference< css::uno::XInterface > SAL_CALL
+CachedDynamicResultSetFactory_CreateInstance( const css::uno::Reference< css::lang::XMultiServiceFactory> & rSMgr )
+    throw( css::uno::Exception )
+{
+    css::lang::XServiceInfo* pX =
+        static_cast<css::lang::XServiceInfo*>(new CachedDynamicResultSetFactory( ucbhelper::getComponentContext(rSMgr) ));
+    return css::uno::Reference< css::uno::XInterface >::query( pX );
+}
 
-XSERVICEINFO_IMPL_1_CTX( CachedDynamicResultSetFactory,
-                         OUString( "com.sun.star.comp.ucb.CachedDynamicResultSetFactory" ),
-                         CACHED_DRS_FACTORY_NAME );
-
+css::uno::Sequence< OUString >
+CachedDynamicResultSetFactory::getSupportedServiceNames_Static()
+{
+    css::uno::Sequence< OUString > aSNS { CACHED_DRS_FACTORY_NAME };
+    return aSNS;
+}
 
 // Service factory implementation.
 
diff --git a/ucb/source/cacher/cacheddynamicresultsetstub.cxx b/ucb/source/cacher/cacheddynamicresultsetstub.cxx
index ed17b7ca7d3c..293063673652 100644
--- a/ucb/source/cacher/cacheddynamicresultsetstub.cxx
+++ b/ucb/source/cacher/cacheddynamicresultsetstub.cxx
@@ -189,11 +189,24 @@ XTYPEPROVIDER_IMPL_3( CachedDynamicResultSetStubFactory,
 
 // CachedDynamicResultSetStubFactory XServiceInfo methods.
 
+XSERVICEINFO_COMMOM_IMPL( CachedDynamicResultSetStubFactory,
+                          OUString( "com.sun.star.comp.ucb.CachedDynamicResultSetStubFactory" ) )
+/// @throws css::uno::Exception
+static css::uno::Reference< css::uno::XInterface > SAL_CALL
+CachedDynamicResultSetStubFactory_CreateInstance( const css::uno::Reference< css::lang::XMultiServiceFactory> & rSMgr )
+    throw( css::uno::Exception )
+{
+    css::lang::XServiceInfo* pX =
+        static_cast<css::lang::XServiceInfo*>(new CachedDynamicResultSetStubFactory( ucbhelper::getComponentContext(rSMgr) ));
+    return css::uno::Reference< css::uno::XInterface >::query( pX );
+}
 
-XSERVICEINFO_IMPL_1_CTX( CachedDynamicResultSetStubFactory,
-                     OUString( "com.sun.star.comp.ucb.CachedDynamicResultSetStubFactory" ),
-                     CACHED_DRS_STUB_FACTORY_NAME );
-
+css::uno::Sequence< OUString >
+CachedDynamicResultSetStubFactory::getSupportedServiceNames_Static()
+{
+    css::uno::Sequence< OUString > aSNS { CACHED_DRS_STUB_FACTORY_NAME };
+    return aSNS;
+}
 
 // Service factory implementation.
 
diff --git a/ucb/source/cacher/contentresultsetwrapper.hxx b/ucb/source/cacher/contentresultsetwrapper.hxx
index c9476bb0865e..6ee731ee4bbf 100644
--- a/ucb/source/cacher/contentresultsetwrapper.hxx
+++ b/ucb/source/cacher/contentresultsetwrapper.hxx
@@ -123,6 +123,8 @@ protected:
 
     virtual void SAL_CALL impl_initPropertySetInfo(); //helping XPropertySet
 
+    /// @throws css::lang::DisposedException
+    /// @throws css::uno::RuntimeException
     void SAL_CALL
     impl_EnsureNotDisposed()
         throw( css::lang::DisposedException,
@@ -132,6 +134,8 @@ protected:
     impl_notifyPropertyChangeListeners(
             const css::beans::PropertyChangeEvent& rEvt );
 
+    /// @throws css::beans::PropertyVetoException
+    /// @throws css::uno::RuntimeException
     void SAL_CALL
     impl_notifyVetoableChangeListeners(
             const css::beans::PropertyChangeEvent& rEvt )
@@ -232,14 +236,18 @@ public:
 
     // own methods
 
+    /// @throws css::uno::RuntimeException
     virtual void SAL_CALL
         impl_disposing( const css::lang::EventObject& Source )
         throw( css::uno::RuntimeException );
 
+    /// @throws css::uno::RuntimeException
     virtual void SAL_CALL
     impl_propertyChange( const css::beans::PropertyChangeEvent& evt )
         throw( css::uno::RuntimeException );
 
+    /// @throws css::beans::PropertyVetoException
+    /// @throws css::uno::RuntimeException
     virtual void SAL_CALL
     impl_vetoableChange( const css::beans::PropertyChangeEvent& aEvent )
         throw( css::beans::PropertyVetoException,
diff --git a/ucb/source/cacher/dynamicresultsetwrapper.hxx b/ucb/source/cacher/dynamicresultsetwrapper.hxx
index 488c92123afc..8e614ecbef5b 100644
--- a/ucb/source/cacher/dynamicresultsetwrapper.hxx
+++ b/ucb/source/cacher/dynamicresultsetwrapper.hxx
@@ -82,6 +82,8 @@ protected:
 protected:
     void SAL_CALL impl_init();
     void SAL_CALL impl_deinit();
+    /// @throws css::lang::DisposedException
+    /// @throws css::uno::RuntimeException
     void SAL_CALL
     impl_EnsureNotDisposed()
         throw( css::lang::DisposedException,
@@ -153,10 +155,12 @@ public:
 
 
     // own methods:
+    /// @throws css::uno::RuntimeException
     virtual void SAL_CALL
     impl_disposing( const css::lang::EventObject& Source )
         throw( css::uno::RuntimeException );
 
+    /// @throws css::uno::RuntimeException
     void SAL_CALL
     impl_notify( const css::ucb::ListEvent& Changes )
         throw( css::uno::RuntimeException );
diff --git a/ucb/source/core/FileAccess.cxx b/ucb/source/core/FileAccess.cxx
index 481ac23786bf..7762bf3c2bb2 100644
--- a/ucb/source/core/FileAccess.cxx
+++ b/ucb/source/core/FileAccess.cxx
@@ -85,8 +85,12 @@ class OFileAccess : public FileAccessHelper
     Reference< XComponentContext >      m_xContext;
     rtl::Reference<OCommandEnvironment> mxEnvironment;
 
+    /// @throws CommandAbortedException
+    /// @throws Exception
+    /// @throws RuntimeException
     void transferImpl( const OUString& rSource, const OUString& rDest, bool bMoveData )
         throw(CommandAbortedException, Exception, RuntimeException);
+    /// @throws Exception
     bool createNewFile( const OUString & rParentURL,
                         const OUString & rTitle,
                         const Reference< XInputStream >& data )
diff --git a/ucb/source/core/cmdenv.cxx b/ucb/source/core/cmdenv.cxx
index 51ea866f1113..012aa6e197d2 100644
--- a/ucb/source/core/cmdenv.cxx
+++ b/ucb/source/core/cmdenv.cxx
@@ -133,7 +133,7 @@ UcbCommandEnvironment::getProgressHandler()
 
 // Service factory implementation.
 
-
+/// @throws uno::Exception
 static uno::Reference< uno::XInterface > SAL_CALL
 UcbCommandEnvironment_CreateInstance(
     const uno::Reference< lang::XMultiServiceFactory> & rSMgr )
diff --git a/ucb/source/core/provprox.cxx b/ucb/source/core/provprox.cxx
index 8a751cf77cc6..00770507dc7a 100644
--- a/ucb/source/core/provprox.cxx
+++ b/ucb/source/core/provprox.cxx
@@ -45,11 +45,22 @@ UcbContentProviderProxyFactory::~UcbContentProviderProxyFactory()
 
 // XServiceInfo methods.
 
-
-XSERVICEINFO_IMPL_1( UcbContentProviderProxyFactory,
-                     OUString( "com.sun.star.comp.ucb.UcbContentProviderProxyFactory" ),
-                     "com.sun.star.ucb.ContentProviderProxyFactory" );
-
+XSERVICEINFO_COMMOM_IMPL( UcbContentProviderProxyFactory,
+                          OUString( "com.sun.star.comp.ucb.UcbContentProviderProxyFactory" ) )
+/// @throws css::uno::Exception
+static css::uno::Reference< css::uno::XInterface > SAL_CALL
+UcbContentProviderProxyFactory_CreateInstance( const css::uno::Reference< css::lang::XMultiServiceFactory> & rSMgr )
+    throw( css::uno::Exception )
+{
+    css::lang::XServiceInfo* pX =
+        static_cast<css::lang::XServiceInfo*>(new UcbContentProviderProxyFactory( rSMgr ));
+    return css::uno::Reference< css::uno::XInterface >::query( pX );
+}
+css::uno::Sequence< OUString >
+UcbContentProviderProxyFactory::getSupportedServiceNames_Static()
+{
+    return { "com.sun.star.ucb.ContentProviderProxyFactory" };
+}
 
 // Service factory implementation.
 
diff --git a/ucb/source/core/ucb.cxx b/ucb/source/core/ucb.cxx
index acabf3f518d0..717cb5880581 100644
--- a/ucb/source/core/ucb.cxx
+++ b/ucb/source/core/ucb.cxx
@@ -332,11 +332,24 @@ void SAL_CALL UniversalContentBroker::removeEventListener(
 
 // XServiceInfo methods.
 
+XSERVICEINFO_COMMOM_IMPL( UniversalContentBroker,
+                          OUString( "com.sun.star.comp.ucb.UniversalContentBroker" ) )
+/// @throws css::uno::Exception
+static css::uno::Reference< css::uno::XInterface > SAL_CALL
+UniversalContentBroker_CreateInstance( const css::uno::Reference< css::lang::XMultiServiceFactory> & rSMgr )
+    throw( css::uno::Exception )
+{
+    css::lang::XServiceInfo* pX =
+        static_cast<css::lang::XServiceInfo*>(new UniversalContentBroker( ucbhelper::getComponentContext(rSMgr) ));
+    return css::uno::Reference< css::uno::XInterface >::query( pX );
+}
 
-XSERVICEINFO_IMPL_1_CTX( UniversalContentBroker,
-                     OUString( "com.sun.star.comp.ucb.UniversalContentBroker" ),
-                     UCB_SERVICE_NAME );
-
+css::uno::Sequence< OUString >
+UniversalContentBroker::getSupportedServiceNames_Static()
+{
+    css::uno::Sequence< OUString > aSNS { UCB_SERVICE_NAME };
+    return aSNS;
+}
 
 // Service factory implementation.
 
diff --git a/ucb/source/core/ucb.hxx b/ucb/source/core/ucb.hxx
index ced7dfb39a35..95069ba8e3e6 100644
--- a/ucb/source/core/ucb.hxx
+++ b/ucb/source/core/ucb.hxx
@@ -179,16 +179,19 @@ private:
     static css::uno::Reference< css::ucb::XCommandInfo >
     getCommandInfo();
 
+    /// @throws css::uno::Exception
     void
     globalTransfer(
             const css::ucb::GlobalTransferCommandArgument2 & rArg,
             const css::uno::Reference< css::ucb::XCommandEnvironment >& xEnv )
         throw( css::uno::Exception, std::exception );
 
+    /// @throws css::uno::Exception
     css::uno::Any checkIn( const css::ucb::CheckinArgument& rArg,
             const css::uno::Reference< css::ucb::XCommandEnvironment >& xEnv ) throw( css::uno::Exception );
 
 
+    /// @throws css::uno::RuntimeException
     void configureUcb()
         throw ( css::uno::RuntimeException);
 
diff --git a/ucb/source/core/ucbcmds.cxx b/ucb/source/core/ucbcmds.cxx
index 4341f52c3a59..d8f87d1126d1 100644
--- a/ucb/source/core/ucbcmds.cxx
+++ b/ucb/source/core/ucbcmds.cxx
@@ -453,7 +453,7 @@ NameClashContinuation interactiveNameClashResolve(
     return NOT_HANDLED;
 }
 
-
+/// @throws uno::RuntimeException
 bool setTitle(
         const uno::Reference< ucb::XCommandProcessor > & xCommandProcessor,
         const uno::Reference< ucb::XCommandEnvironment > & xEnv,
@@ -500,7 +500,7 @@ bool setTitle(
     return true;
 }
 
-
+/// @throws uno::Exception
 uno::Reference< ucb::XContent > createNew(
                     const TransferCommandContext & rContext,
                     const uno::Reference< ucb::XContent > & xTarget,
@@ -725,7 +725,7 @@ uno::Reference< ucb::XContent > createNew(
     return xNew;
 }
 
-
+/// @throws uno::Exception
 void transferProperties(
     const TransferCommandContext & rContext,
     const uno::Reference< ucb::XCommandProcessor > & xCommandProcessorS,
@@ -884,7 +884,7 @@ void transferProperties(
     //     new object? addProperty ???
 }
 
-
+/// @throws uno::Exception
 uno::Reference< io::XInputStream > getInputStream(
     const TransferCommandContext & rContext,
     const uno::Reference< ucb::XCommandProcessor > & xCommandProcessorS )
@@ -962,7 +962,7 @@ uno::Reference< io::XInputStream > getInputStream(
     return xInputStream;
 }
 
-
+/// @throws uno::Exception
 uno::Reference< sdbc::XResultSet > getResultSet(
     const TransferCommandContext & rContext,
     const uno::Reference< ucb::XCommandProcessor > & xCommandProcessorS )
@@ -1008,7 +1008,7 @@ uno::Reference< sdbc::XResultSet > getResultSet(
     return xResultSet;
 }
 
-
+/// @throws uno::Exception
 void handleNameClashRename(
         const TransferCommandContext & rContext,
         const uno::Reference< ucb::XContent > & xNew,
@@ -1181,7 +1181,7 @@ void handleNameClashRename(
     }
 }
 
-
+/// @throws uno::Exception
 void globalTransfer_(
         const TransferCommandContext & rContext,
         const uno::Reference< ucb::XContent > & xSource,
diff --git a/ucb/source/core/ucbprops.cxx b/ucb/source/core/ucbprops.cxx
index 9c3eddaf5967..b79d6a3f8078 100644
--- a/ucb/source/core/ucbprops.cxx
+++ b/ucb/source/core/ucbprops.cxx
@@ -195,11 +195,22 @@ UcbPropertiesManager::~UcbPropertiesManager()
 
 // XServiceInfo methods.
 
-
-XSERVICEINFO_IMPL_1( UcbPropertiesManager,
-                     OUString( "com.sun.star.comp.ucb.UcbPropertiesManager" ),
-                     PROPERTIES_MANAGER_SERVICE_NAME );
-
+XSERVICEINFO_COMMOM_IMPL( UcbPropertiesManager,
+                          OUString( "com.sun.star.comp.ucb.UcbPropertiesManager" ) )
+/// @throws css::uno::Exception
+static css::uno::Reference< css::uno::XInterface > SAL_CALL
+UcbPropertiesManager_CreateInstance( const css::uno::Reference< css::lang::XMultiServiceFactory> & rSMgr )
+throw( css::uno::Exception )
+{
+    css::lang::XServiceInfo* pX =
+        static_cast<css::lang::XServiceInfo*>(new UcbPropertiesManager( rSMgr ));
+    return css::uno::Reference< css::uno::XInterface >::query( pX );
+}
+css::uno::Sequence< OUString >
+UcbPropertiesManager::getSupportedServiceNames_Static()
+{
+    return { PROPERTIES_MANAGER_SERVICE_NAME };
+}
 
 // Service factory implementation.
 
diff --git a/ucb/source/core/ucbstore.cxx b/ucb/source/core/ucbstore.cxx
index b75a670e62d6..4b533d7b16d1 100644
--- a/ucb/source/core/ucbstore.cxx
+++ b/ucb/source/core/ucbstore.cxx
@@ -159,11 +159,24 @@ UcbStore::~UcbStore()
 {
 }
 
+XSERVICEINFO_COMMOM_IMPL( UcbStore,
+                          OUString( "com.sun.star.comp.ucb.UcbStore" ) )
+/// @throws css::uno::Exception
+static css::uno::Reference< css::uno::XInterface > SAL_CALL
+UcbStore_CreateInstance( const css::uno::Reference< css::lang::XMultiServiceFactory> & rSMgr )
+    throw( css::uno::Exception )
+{
+    css::lang::XServiceInfo* pX =
+        static_cast<css::lang::XServiceInfo*>(new UcbStore( ucbhelper::getComponentContext(rSMgr) ));
+    return css::uno::Reference< css::uno::XInterface >::query( pX );
+}
 
-XSERVICEINFO_IMPL_1_CTX( UcbStore,
-                     OUString( "com.sun.star.comp.ucb.UcbStore" ),
-                     STORE_SERVICE_NAME );
-
+css::uno::Sequence< OUString >
+UcbStore::getSupportedServiceNames_Static()
+{
+    css::uno::Sequence< OUString > aSNS { STORE_SERVICE_NAME };
+    return aSNS;
+}
 
 // Service factory implementation.
 
diff --git a/ucb/source/sorter/sortdynres.cxx b/ucb/source/sorter/sortdynres.cxx
index e3dcfcc30949..4f656eb16c37 100644
--- a/ucb/source/sorter/sortdynres.cxx
+++ b/ucb/source/sorter/sortdynres.cxx
@@ -464,6 +464,7 @@ css::uno::Sequence< OUString > SAL_CALL SortedDynamicResultSetFactory::getSuppor
     return getSupportedServiceNames_Static();
 }
 
+/// @throws css::uno::Exception
 static css::uno::Reference< css::uno::XInterface > SAL_CALL
 SortedDynamicResultSetFactory_CreateInstance( const css::uno::Reference<
                                               css::lang::XMultiServiceFactory> & rSMgr )
diff --git a/ucb/source/sorter/sortdynres.hxx b/ucb/source/sorter/sortdynres.hxx
index 85a2ec20c0d8..b931774f2c2f 100644
--- a/ucb/source/sorter/sortdynres.hxx
+++ b/ucb/source/sorter/sortdynres.hxx
@@ -120,9 +120,11 @@ public:
 
     // own methods:
 
+    /// @throws css::uno::RuntimeException
     void impl_disposing( const css::lang::EventObject& Source )
         throw( css::uno::RuntimeException );
 
+    /// @throws css::uno::RuntimeException
     void impl_notify( const css::ucb::ListEvent& Changes )
         throw( css::uno::RuntimeException );
 };
diff --git a/ucb/source/sorter/sortresult.hxx b/ucb/source/sorter/sortresult.hxx
index c7c7b2609cf8..f68d3ed69f89 100644
--- a/ucb/source/sorter/sortresult.hxx
+++ b/ucb/source/sorter/sortresult.hxx
@@ -118,20 +118,27 @@ class SortedResultSet: public cppu::WeakImplHelper <
 
 
 private:
-
+    /// @throws css::sdbc::SQLException
+    /// @throws css::uno::RuntimeException
     sal_IntPtr          FindPos( SortListData *pEntry, sal_IntPtr nStart, sal_IntPtr nEnd )
                             throw( css::sdbc::SQLException, css::uno::RuntimeException );
+    /// @throws css::sdbc::SQLException
+    /// @throws css::uno::RuntimeException
     sal_IntPtr          Compare( SortListData *pOne,
                                  SortListData *pTwo )
                             throw( css::sdbc::SQLException, css::uno::RuntimeException );
     void                BuildSortInfo( const css::uno::Reference< css::sdbc::XResultSet >& aResult,
                                        const css::uno::Sequence < css::ucb::NumberedSortingInfo > &xSortInfo,
                                        const css::uno::Reference< css::ucb::XAnyCompareFactory > &xCompFac );
+    /// @throws css::sdbc::SQLException
+    /// @throws css::uno::RuntimeException
     static sal_IntPtr   CompareImpl( const css::uno::Reference < css::sdbc::XResultSet >& xResultOne,
                                      const css::uno::Reference < css::sdbc::XResultSet >& xResultTwo,
                                      sal_IntPtr nIndexOne, sal_IntPtr nIndexTwo,
                                      SortInfo* pSortInfo )
                             throw( css::sdbc::SQLException, css::uno::RuntimeException );
+    /// @throws css::sdbc::SQLException
+    /// @throws css::uno::RuntimeException
     sal_IntPtr          CompareImpl( const css::uno::Reference < css::sdbc::XResultSet >& xResultOne,
                                      const css::uno::Reference < css::sdbc::XResultSet >& xResultTwo,
                                      sal_IntPtr nIndexOne, sal_IntPtr nIndexTwo )
diff --git a/ucb/source/ucp/cmis/cmis_content.hxx b/ucb/source/ucp/cmis/cmis_content.hxx
index 429ec21ef0e6..d7b1aec656f9 100644
--- a/ucb/source/ucp/cmis/cmis_content.hxx
+++ b/ucb/source/ucp/cmis/cmis_content.hxx
@@ -86,26 +86,33 @@ private:
     typedef rtl::Reference< Content > ContentRef;
     typedef std::list< ContentRef > ContentRefList;
 
+    /// @throws css::uno::Exception
+    /// @throws libcmis::Exception
     css::uno::Any open(const css::ucb::OpenCommandArgument2 & rArg,
         const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
             throw( css::uno::Exception, libcmis::Exception );
 
+    /// @throws css::uno::Exception
     void transfer( const css::ucb::TransferInfo& rTransferInfo,
         const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
             throw( css::uno::Exception );
 
+    /// @throws css::uno::Exception
     void insert( const css::uno::Reference< css::io::XInputStream > & xInputStream,
         bool bReplaceExisting, const OUString & rMimeType,
         const css::uno::Reference< css::ucb::XCommandEnvironment >& xEnv )
             throw (css::uno::Exception, std::exception);
 
+    /// @throws css::uno::Exception
     OUString checkIn( const css::ucb::CheckinArgument& rArg,
         const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
             throw( css::uno::Exception );
 
+    /// @throws css::uno::Exception
     OUString checkOut( const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
             throw( css::uno::Exception );
 
+    /// @throws css::uno::Exception
     OUString cancelCheckOut( const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
             throw( css::uno::Exception );
 
@@ -116,6 +123,7 @@ private:
         setPropertyValues( const css::uno::Sequence< css::beans::PropertyValue >& rValues,
             const css::uno::Reference< css::ucb::XCommandEnvironment >& xEnv );
 
+    /// @throws css::uno::Exception
     css::uno::Sequence< css::document::CmisVersion >
         getAllVersions( const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
             throw(css::uno::Exception,
@@ -125,12 +133,14 @@ private:
         const css::uno::Reference< css::ucb::XCommandEnvironment >& xEnv );
 
 public:
+    /// @throws css::ucb::ContentCreationException
     Content( const css::uno::Reference< css::uno::XComponentContext >& rxContext,
         ContentProvider *pProvider,
         const css::uno::Reference< css::ucb::XContentIdentifier >& Identifier,
         libcmis::ObjectPtr const & pObject = libcmis::ObjectPtr( ) )
             throw ( css::ucb::ContentCreationException );
 
+    /// @throws css::ucb::ContentCreationException
     Content( const css::uno::Reference< css::uno::XComponentContext >& rxContext,
         ContentProvider *pProvider,
         const css::uno::Reference< css::ucb::XContentIdentifier >& Identifier,
@@ -193,12 +203,16 @@ public:
         SAL_CALL createNewContent( const css::ucb::ContentInfo& Info )
             throw( css::uno::RuntimeException, std::exception ) override;
 
+    /// @throws css::uno::RuntimeException
     css::uno::Sequence< css::ucb::ContentInfo >
         queryCreatableContentsInfo( const css::uno::Reference< css::ucb::XCommandEnvironment >& xEnv )
                 throw( css::uno::RuntimeException );
 
     virtual std::list< css::uno::Reference< css::ucb::XContent > > getChildren( ) override;
 
+    /// @throws css::uno::RuntimeException
+    /// @throws css::ucb::CommandFailedException
+    /// @throws libcmis::Exception
     libcmis::ObjectPtr const & getObject( const css::uno::Reference< css::ucb::XCommandEnvironment >& xEnv ) throw (css::uno::RuntimeException, css::ucb::CommandFailedException, libcmis::Exception);
 };
 
diff --git a/ucb/source/ucp/cmis/cmis_provider.cxx b/ucb/source/ucp/cmis/cmis_provider.cxx
index 0f3f6a63d624..a022c44a2d3e 100644
--- a/ucb/source/ucp/cmis/cmis_provider.cxx
+++ b/ucb/source/ucp/cmis/cmis_provider.cxx
@@ -118,9 +118,24 @@ XTYPEPROVIDER_IMPL_3( ContentProvider,
                       lang::XServiceInfo,
                       css::ucb::XContentProvider );
 
-XSERVICEINFO_IMPL_1_CTX( ContentProvider,
-                     OUString("com.sun.star.comp.CmisContentProvider"),
-                     "com.sun.star.ucb.CmisContentProvider" );
+XSERVICEINFO_COMMOM_IMPL( ContentProvider,
+                          OUString("com.sun.star.comp.CmisContentProvider") )
+/// @throws css::uno::Exception
+static css::uno::Reference< css::uno::XInterface > SAL_CALL
+ContentProvider_CreateInstance( const css::uno::Reference< css::lang::XMultiServiceFactory> & rSMgr )
+    throw( css::uno::Exception )
+{
+    css::lang::XServiceInfo* pX =
+        static_cast<css::lang::XServiceInfo*>(new ContentProvider( ucbhelper::getComponentContext(rSMgr) ));
+    return css::uno::Reference< css::uno::XInterface >::query( pX );
+}
+
+css::uno::Sequence< OUString >
+ContentProvider::getSupportedServiceNames_Static()
+{
+    css::uno::Sequence< OUString > aSNS { "com.sun.star.ucb.CmisContentProvider" };
+    return aSNS;
+}
 
 ONE_INSTANCE_SERVICE_FACTORY_IMPL( ContentProvider );
 
diff --git a/ucb/source/ucp/cmis/cmis_repo_content.hxx b/ucb/source/ucp/cmis/cmis_repo_content.hxx
index adb2ad624a3b..ba5f18154481 100644
--- a/ucb/source/ucp/cmis/cmis_repo_content.hxx
+++ b/ucb/source/ucp/cmis/cmis_repo_content.hxx
@@ -72,6 +72,7 @@ private:
     libcmis::RepositoryPtr getRepository( const css::uno::Reference< css::ucb::XCommandEnvironment >& xEnv );
 
 public:
+    /// @throws css::ucb::ContentCreationException
     RepoContent( const css::uno::Reference<
         css::uno::XComponentContext >& rxContext, ContentProvider *pProvider,
         const css::uno::Reference< css::ucb::XContentIdentifier >& Identifier,
diff --git a/ucb/source/ucp/ext/ucpext_provider.hxx b/ucb/source/ucp/ext/ucpext_provider.hxx
index 2e73f89b6e05..af8d00c4f5fc 100644
--- a/ucb/source/ucp/ext/ucpext_provider.hxx
+++ b/ucb/source/ucp/ext/ucpext_provider.hxx
@@ -41,7 +41,9 @@ namespace ucb { namespace ucp { namespace ext
         virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames(  ) throw (css::uno::RuntimeException, std::exception) override;
 
         // XServiceInfo - static versions
+        /// @throws css::uno::RuntimeException
         static OUString SAL_CALL getImplementationName_static(  ) throw (css::uno::RuntimeException);
+        /// @throws css::uno::RuntimeException
         static css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames_static() throw (css::uno::RuntimeException);
         static css::uno::Reference< css::uno::XInterface > SAL_CALL Create( const css::uno::Reference< css::uno::XComponentContext >& i_rContext );
 
diff --git a/ucb/source/ucp/file/bc.hxx b/ucb/source/ucp/file/bc.hxx
index ccb52fd9d90d..75ebdbd0cd9b 100644
--- a/ucb/source/ucp/file/bc.hxx
+++ b/ucb/source/ucp/file/bc.hxx
@@ -272,15 +272,18 @@ namespace fileaccess {
 
 
         // Private Methods
+        /// @throws css::uno::RuntimeException
         css::uno::Reference< css::ucb::XCommandInfo > SAL_CALL
         getCommandInfo()
             throw( css::uno::RuntimeException );
 
+        /// @throws css::uno::RuntimeException
         css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL
         getPropertySetInfo(
             sal_Int32 nMyCommandIdentifier )
             throw( css::uno::RuntimeException );
 
+        /// @throws css::uno::RuntimeException
         css::uno::Reference< css::sdbc::XRow > SAL_CALL
         getPropertyValues(
             sal_Int32 nMyCommandIdentifier,
diff --git a/ucb/source/ucp/file/filrset.hxx b/ucb/source/ucp/file/filrset.hxx
index 17865b743ff7..e4dea03b1313 100644
--- a/ucb/source/ucp/file/filrset.hxx
+++ b/ucb/source/ucp/file/filrset.hxx
@@ -569,6 +569,8 @@ class XResultSet_impl : public Notifier,
         sal_Int32                                          m_nMinorErrorCode;
 
         // Methods
+        /// @throws css::sdbc::SQLException
+        /// @throws css::uno::RuntimeException
         bool SAL_CALL OneMore()
             throw( css::sdbc::SQLException,
                    css::uno::RuntimeException,
diff --git a/ucb/source/ucp/file/filstr.hxx b/ucb/source/ucp/file/filstr.hxx
index fdc165760845..c4308afa3184 100644
--- a/ucb/source/ucp/file/filstr.hxx
+++ b/ucb/source/ucp/file/filstr.hxx
@@ -179,6 +179,9 @@ class XStream_impl :  public cppu::WeakImplHelper<
 
         // Implementation methods
 
+        /// @throws css::io::NotConnectedException
+        /// @throws css::io::IOException
+        /// @throws css::uno::RuntimeException
         void SAL_CALL
         closeStream()
             throw( css::io::NotConnectedException,
diff --git a/ucb/source/ucp/file/filtask.hxx b/ucb/source/ucp/file/filtask.hxx
index 3f546ada446b..eb81fd594a35 100644
--- a/ucb/source/ucp/file/filtask.hxx
+++ b/ucb/source/ucp/file/filtask.hxx
@@ -251,6 +251,7 @@ namespace fileaccess
                FileProvider* pProvider, bool bWithConfig );
         ~TaskManager();
 
+        /// @throws css::ucb::DuplicateCommandIdentifierException
         void SAL_CALL startTask(
             sal_Int32 CommandId,
             const css::uno::Reference< css::ucb::XCommandEnvironment >&  xCommandEnv )
@@ -312,6 +313,10 @@ namespace fileaccess
          *  Used to associate and deassociate a new property with
          *  the content belonging to URL UnqPath.
          *  The default value and the attributes are input
+         *
+         *  @throws css::beans::PropertyExistException
+         *  @throws css::beans::IllegalTypeException
+         *  @throws css::uno::RuntimeException
          */
 
         void SAL_CALL associate( const OUString& UnqPath,
@@ -322,7 +327,9 @@ namespace fileaccess
                    css::beans::IllegalTypeException,
                    css::uno::RuntimeException);
 
-
+        /// @throws css::beans::UnknownPropertyException
+        /// @throws css::beans::NotRemoveableException
+        /// @throws css::uno::RuntimeException
         void SAL_CALL deassociate( const OUString& UnqPath,
                                    const OUString& PropertyName )
             throw( css::beans::UnknownPropertyException,
diff --git a/ucb/source/ucp/ftp/ftpcontent.hxx b/ucb/source/ucp/ftp/ftpcontent.hxx
index 9c7a64059b12..bf9b53b3d4fe 100644
--- a/ucb/source/ucp/ftp/ftpcontent.hxx
+++ b/ucb/source/ucp/ftp/ftpcontent.hxx
@@ -122,6 +122,7 @@ public:
         throw (css::lang::NoSupportException,
                css::uno::RuntimeException, std::exception) override;
 
+    /// @throws css::uno::RuntimeException
     static css::uno::Sequence< css::ucb::ContentInfo > queryCreatableContentsInfo_Static()
         throw (css::uno::RuntimeException);
 
diff --git a/ucb/source/ucp/ftp/ftpcontentprovider.cxx b/ucb/source/ucp/ftp/ftpcontentprovider.cxx
index fb5db74b2244..1ee0fcc7c48c 100644
--- a/ucb/source/ucp/ftp/ftpcontentprovider.cxx
+++ b/ucb/source/ucp/ftp/ftpcontentprovider.cxx
@@ -134,6 +134,7 @@ css::uno::Sequence< OUString > SAL_CALL FTPContentProvider::getSupportedServiceN
     return getSupportedServiceNames_Static();
 }
 
+/// @throws css::uno::Exception
 static css::uno::Reference< css::uno::XInterface > SAL_CALL
 FTPContentProvider_CreateInstance( const css::uno::Reference<
                                    css::lang::XMultiServiceFactory> & rSMgr )
diff --git a/ucb/source/ucp/ftp/ftpurl.hxx b/ucb/source/ucp/ftp/ftpurl.hxx
index 0c7d1728b05f..cedd41211976 100644
--- a/ucb/source/ucp/ftp/ftpurl.hxx
+++ b/ucb/source/ucp/ftp/ftpurl.hxx
@@ -81,7 +81,7 @@ namespace ftp {
     class FTPURL
     {
     public:
-
+        /// @throws malformed_exception
         FTPURL(
             const OUString& aIdent,
             FTPContentProvider* pFCP
@@ -114,25 +114,35 @@ namespace ftp {
         /** returns the unencoded title */
         OUString child() const;
 
+        /// @throws curl_exception
         std::vector<FTPDirentry> list(sal_Int16 nMode) const
             throw(curl_exception);
 
         // returns a pointer to an open tempfile,
         // sought to the beginning of.
+        /// @throws curl_exception
         oslFileHandle open() throw(curl_exception, std::exception);
 
+        /// @throws curl_exception
+        /// @throws malformed_exception
         FTPDirentry direntry() const
             throw(curl_exception, malformed_exception, std::exception);
 
+        /// @throws curl_exception
         void insert(bool ReplaceExisting,void* stream) const
             throw(curl_exception);
 
+        /// @throws curl_exception
+        /// @throws malformed_exception
         void mkdir(bool ReplaceExisting) const
             throw(curl_exception, malformed_exception, std::exception);
 
+        /// @throws curl_exception
         OUString ren(const OUString& NewTitle)
             throw(curl_exception, std::exception);
 
+        /// @throws curl_exception
+        /// @throws malformed_exception
         void del() const
             throw(curl_exception, malformed_exception, std::exception);
 
@@ -151,11 +161,13 @@ namespace ftp {
          */
         std::vector<OUString> m_aPathSegmentVec;
 
+        /// @throws malformed_exception
         void parse(const OUString& url)
             throw(
                 malformed_exception
             );
 
+        /// @throws curl_exception
         OUString net_title() const throw(curl_exception, std::exception);
     };
 
diff --git a/ucb/source/ucp/gio/gio_content.hxx b/ucb/source/ucp/gio/gio_content.hxx
index a6c5bcbddf1c..9f505364484b 100644
--- a/ucb/source/ucp/gio/gio_content.hxx
+++ b/ucb/source/ucp/gio/gio_content.hxx
@@ -55,6 +55,8 @@ namespace gio
 
 css::uno::Any convertToException(GError *pError,
     const css::uno::Reference< css::uno::XInterface >& rContext, bool bThrow=true);
+/// @throws css::io::IOException
+/// @throws css::uno::RuntimeException
 void convertToIOException(GError *pError,
     const css::uno::Reference< css::uno::XInterface >& rContext)
         throw (css::io::IOException, css::uno::RuntimeException, std::exception);
@@ -87,18 +89,22 @@ private:
 
     bool doSetFileInfo ( GFileInfo *pNewInfo );
 
+    /// @throws css::uno::Exception
     css::uno::Any open(const css::ucb::OpenCommandArgument2 & rArg,
         const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
             throw( css::uno::Exception );
 
+    /// @throws css::uno::Exception
     void transfer( const css::ucb::TransferInfo& rTransferInfo,
         const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
             throw( css::uno::Exception, std::exception );
 
+    /// @throws css::uno::Exception
     void insert( const css::uno::Reference< css::io::XInputStream > & xInputStream,
         bool bReplaceExisting, const css::uno::Reference< css::ucb::XCommandEnvironment >& xEnv )
             throw( css::uno::Exception );
 
+    /// @throws css::uno::Exception
     void destroy( bool bDeletePhysical ) throw( css::uno::Exception, std::exception );
 
     static void copyData( const css::uno::Reference< css::io::XInputStream >& xIn,
@@ -116,11 +122,13 @@ private:
     bool exchangeIdentity(const css::uno::Reference< css::ucb::XContentIdentifier >&  xNewId);
 
 public:
+    /// @throws css::ucb::ContentCreationException
     Content( const css::uno::Reference<
         css::uno::XComponentContext >& rxContext, ContentProvider *pProvider,
         const css::uno::Reference< css::ucb::XContentIdentifier >& Identifier)
             throw ( css::ucb::ContentCreationException );
 
+    /// @throws css::ucb::ContentCreationException
     Content( const css::uno::Reference<
         css::uno::XComponentContext >& rxContext, ContentProvider *pProvider,
         const css::uno::Reference< css::ucb::XContentIdentifier >& Identifier,
@@ -185,6 +193,7 @@ public:
         SAL_CALL createNewContent( const css::ucb::ContentInfo& Info )
             throw( css::uno::RuntimeException, std::exception ) override;
 
+    /// @throws css::uno::RuntimeException
     css::uno::Sequence< css::ucb::ContentInfo >
         queryCreatableContentsInfo(
         const css::uno::Reference< css::ucb::XCommandEnvironment >& xEnv)
diff --git a/ucb/source/ucp/gio/gio_provider.cxx b/ucb/source/ucp/gio/gio_provider.cxx
index 243b514891ab..010d658ae777 100644
--- a/ucb/source/ucp/gio/gio_provider.cxx
+++ b/ucb/source/ucp/gio/gio_provider.cxx
@@ -95,9 +95,24 @@ XTYPEPROVIDER_IMPL_3( ContentProvider,
                       lang::XServiceInfo,
                       css::ucb::XContentProvider );
 
-XSERVICEINFO_IMPL_1_CTX( ContentProvider,
-                     OUString( "com.sun.star.comp.GIOContentProvider" ),
-                     "com.sun.star.ucb.GIOContentProvider" );
+XSERVICEINFO_COMMOM_IMPL( ContentProvider,
+                          OUString( "com.sun.star.comp.GIOContentProvider" ) )
+/// @throws css::uno::Exception
+static css::uno::Reference< css::uno::XInterface > SAL_CALL
+ContentProvider_CreateInstance( const css::uno::Reference< css::lang::XMultiServiceFactory> & rSMgr )
+    throw( css::uno::Exception )
+{
+    css::lang::XServiceInfo* pX =
+        static_cast<css::lang::XServiceInfo*>(new ContentProvider( ucbhelper::getComponentContext(rSMgr) ));
+    return css::uno::Reference< css::uno::XInterface >::query( pX );
+}
+
+css::uno::Sequence< OUString >
+ContentProvider::getSupportedServiceNames_Static()
+{
+    css::uno::Sequence< OUString > aSNS { "com.sun.star.ucb.GIOContentProvider" };
+    return aSNS;
+}
 
 ONE_INSTANCE_SERVICE_FACTORY_IMPL( ContentProvider );
 
diff --git a/ucb/source/ucp/hierarchy/hierarchycontent.hxx b/ucb/source/ucp/hierarchy/hierarchycontent.hxx
index f1570e82736f..7bcd7a397db4 100644
--- a/ucb/source/ucp/hierarchy/hierarchycontent.hxx
+++ b/ucb/source/ucp/hierarchy/hierarchycontent.hxx
@@ -163,20 +163,24 @@ private:
 
     css::uno::Reference< css::sdbc::XRow >
     getPropertyValues( const css::uno::Sequence< css::beans::Property >& rProperties );
+    /// @throws css::uno::Exception
     css::uno::Sequence< css::uno::Any >
     setPropertyValues(
             const css::uno::Sequence< css::beans::PropertyValue >& rValues,
             const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
         throw( css::uno::Exception, std::exception );
 
+    /// @throws css::uno::Exception
     void insert( sal_Int32 nNameClashResolve,
                  const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
         throw( css::uno::Exception, std::exception );
 
+    /// @throws css::uno::Exception
     void destroy( bool bDeletePhysical,
                   const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
         throw( css::uno::Exception, std::exception );
 
+    /// @throws css::uno::Exception
     void transfer( const css::ucb::TransferInfo& rInfo,
                    const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
         throw( css::uno::Exception, std::exception );
diff --git a/ucb/source/ucp/hierarchy/hierarchydatasource.cxx b/ucb/source/ucp/hierarchy/hierarchydatasource.cxx
index a43fd2cb15f9..7f261ed846d3 100644
--- a/ucb/source/ucp/hierarchy/hierarchydatasource.cxx
+++ b/ucb/source/ucp/hierarchy/hierarchydatasource.cxx
@@ -264,9 +264,20 @@ XTYPEPROVIDER_IMPL_4( HierarchyDataSource,
 
 // XServiceInfo methods.
 
+XSERVICEINFO_COMMOM_IMPL( HierarchyDataSource,
+                          OUString( "com.sun.star.comp.ucb.HierarchyDataSource" ) )
+/// @throws css::uno::Exception
+static css::uno::Reference< css::uno::XInterface > SAL_CALL
+HierarchyDataSource_CreateInstance( const css::uno::Reference< css::lang::XMultiServiceFactory> & rSMgr )
+    throw( css::uno::Exception )
+{
+    css::lang::XServiceInfo* pX =
+        static_cast<css::lang::XServiceInfo*>(new HierarchyDataSource( ucbhelper::getComponentContext(rSMgr) ));
+    return css::uno::Reference< css::uno::XInterface >::query( pX );
+}
 
-XSERVICEINFO_IMPL_0_CTX( HierarchyDataSource,
-                     OUString( "com.sun.star.comp.ucb.HierarchyDataSource" ) )
+css::uno::Sequence< OUString >
+HierarchyDataSource::getSupportedServiceNames_Static()
 {
     uno::Sequence< OUString > aSNS( 2 );
     aSNS[ 0 ] = "com.sun.star.ucb.DefaultHierarchyDataSource";
diff --git a/ucb/source/ucp/hierarchy/hierarchydatasource.hxx b/ucb/source/ucp/hierarchy/hierarchydatasource.hxx
index 1ea2a3cdf068..a6b994f7e8df 100644
--- a/ucb/source/ucp/hierarchy/hierarchydatasource.hxx
+++ b/ucb/source/ucp/hierarchy/hierarchydatasource.hxx
@@ -100,6 +100,7 @@ public:
     // Non-Interface methods
 
 private:
+    /// @throws css::uno::Exception
     css::uno::Reference< css::uno::XInterface > SAL_CALL createInstanceWithArguments( const OUString & ServiceSpecifier,
                                  const css::uno::Sequence<
                                     css::uno::Any > & Arguments,
diff --git a/ucb/source/ucp/hierarchy/hierarchyprovider.cxx b/ucb/source/ucp/hierarchy/hierarchyprovider.cxx
index 66a0346744a0..3a7d3eb582f9 100644
--- a/ucb/source/ucp/hierarchy/hierarchyprovider.cxx
+++ b/ucb/source/ucp/hierarchy/hierarchyprovider.cxx
@@ -95,11 +95,24 @@ XTYPEPROVIDER_IMPL_4( HierarchyContentProvider,
 
 // XServiceInfo methods.
 
+XSERVICEINFO_COMMOM_IMPL( HierarchyContentProvider,
+                          OUString( "com.sun.star.comp.ucb.HierarchyContentProvider" ) )
+/// @throws css::uno::Exception
+static css::uno::Reference< css::uno::XInterface > SAL_CALL
+HierarchyContentProvider_CreateInstance( const css::uno::Reference< css::lang::XMultiServiceFactory> & rSMgr )
+    throw( css::uno::Exception )
+{
+    css::lang::XServiceInfo* pX =
+        static_cast<css::lang::XServiceInfo*>(new HierarchyContentProvider( ucbhelper::getComponentContext(rSMgr) ));
+    return css::uno::Reference< css::uno::XInterface >::query( pX );
+}
 
-XSERVICEINFO_IMPL_1_CTX( HierarchyContentProvider,
-                     OUString( "com.sun.star.comp.ucb.HierarchyContentProvider" ),
-                     "com.sun.star.ucb.HierarchyContentProvider" );
-
+css::uno::Sequence< OUString >
+HierarchyContentProvider::getSupportedServiceNames_Static()
+{
+    css::uno::Sequence< OUString > aSNS { "com.sun.star.ucb.HierarchyContentProvider" };
+    return aSNS;
+}
 
 // Service factory implementation.
 
diff --git a/ucb/source/ucp/package/pkgcontent.hxx b/ucb/source/ucp/package/pkgcontent.hxx
index 2c9ee77f0a71..865fe9167b15 100644
--- a/ucb/source/ucp/package/pkgcontent.hxx
+++ b/ucb/source/ucp/package/pkgcontent.hxx
@@ -131,6 +131,7 @@ private:
 
     css::uno::Reference< css::sdbc::XRow >
     getPropertyValues( const css::uno::Sequence< css::beans::Property >& rProperties );
+    /// @throws css::uno::Exception
     css::uno::Sequence< css::uno::Any >
     setPropertyValues( const css::uno::Sequence< css::beans::PropertyValue >& rValues,
                        const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
@@ -172,21 +173,25 @@ private:
     exchangeIdentity( const css::uno::Reference<
                         css::ucb::XContentIdentifier >& xNewId );
 
+    /// @throws css::uno::Exception
     css::uno::Any
     open( const css::ucb::OpenCommandArgument2& rArg,
           const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
         throw( css::uno::Exception, std::exception );
 
+    /// @throws css::uno::Exception
     void insert( const css::uno::Reference< css::io::XInputStream >& xStream,
                  sal_Int32 nNameClashResolve,
                  const css::uno::Reference<
                     css::ucb::XCommandEnvironment > & xEnv )
         throw( css::uno::Exception, std::exception );
 
+    /// @throws css::uno::Exception
     void destroy( bool bDeletePhysical,
                   const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
         throw( css::uno::Exception, std::exception );
 
+    /// @throws css::uno::Exception
     void transfer( const css::ucb::TransferInfo& rInfo,
                    const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
         throw( css::uno::Exception, std::exception );
diff --git a/ucb/source/ucp/package/pkgprovider.cxx b/ucb/source/ucp/package/pkgprovider.cxx
index fcae46c79c5a..f772f9d5d432 100644
--- a/ucb/source/ucp/package/pkgprovider.cxx
+++ b/ucb/source/ucp/package/pkgprovider.cxx
@@ -150,11 +150,24 @@ XTYPEPROVIDER_IMPL_3( ContentProvider,
 
 // XServiceInfo methods.
 
+XSERVICEINFO_COMMOM_IMPL( ContentProvider,
+                          OUString( "com.sun.star.comp.ucb.PackageContentProvider" ) )
+/// @throws css::uno::Exception
+static css::uno::Reference< css::uno::XInterface > SAL_CALL
+ContentProvider_CreateInstance( const css::uno::Reference< css::lang::XMultiServiceFactory> & rSMgr )
+    throw( css::uno::Exception )
+{
+    css::lang::XServiceInfo* pX =
+        static_cast<css::lang::XServiceInfo*>(new ContentProvider( ucbhelper::getComponentContext(rSMgr) ));
+    return css::uno::Reference< css::uno::XInterface >::query( pX );
+}
 
-XSERVICEINFO_IMPL_1_CTX( ContentProvider,
-                     OUString( "com.sun.star.comp.ucb.PackageContentProvider" ),
-                     "com.sun.star.ucb.PackageContentProvider" );
-
+css::uno::Sequence< OUString >
+ContentProvider::getSupportedServiceNames_Static()
+{
+    css::uno::Sequence< OUString > aSNS { "com.sun.star.ucb.PackageContentProvider" };
+    return aSNS;
+}
 
 // Service factory implementation.
 
diff --git a/ucb/source/ucp/tdoc/tdoc_content.cxx b/ucb/source/ucp/tdoc/tdoc_content.cxx
index abd86687ad2f..189d8d7365ce 100644
--- a/ucb/source/ucp/tdoc/tdoc_content.cxx
+++ b/ucb/source/ucp/tdoc/tdoc_content.cxx
@@ -2720,7 +2720,8 @@ bool Content::closeOutputStream(
     return false;
 }
 
-
+/// @throws ucb::CommandFailedException
+/// @throws task::DocumentPasswordRequest
 static OUString obtainPassword(
         const OUString & rName,
         task::PasswordRequestMode eMode,
@@ -2819,7 +2820,9 @@ uno::Reference< io::XInputStream > Content::getInputStream(
     }
 }
 
-
+/// @throws ucb::CommandFailedException
+/// @throws task::DocumentPasswordRequest
+/// @throws uno::RuntimeException
 static uno::Reference< io::XOutputStream > lcl_getTruncatedOutputStream(
                 const OUString & rUri,
                 ContentProvider * pProvider,
diff --git a/ucb/source/ucp/tdoc/tdoc_content.hxx b/ucb/source/ucp/tdoc/tdoc_content.hxx
index 5f572d3d3937..45be23bc6bc3 100644
--- a/ucb/source/ucp/tdoc/tdoc_content.hxx
+++ b/ucb/source/ucp/tdoc/tdoc_content.hxx
@@ -120,6 +120,9 @@ private:
     static bool loadData( ContentProvider* pProvider,
                           const Uri & rUri,
                           ContentProperties& rProps );
+    /// @throws css::ucb::CommandFailedException
+    /// @throws css::task::DocumentPasswordRequest
+    /// @throws css::uno::RuntimeException
     bool storeData( const css::uno::Reference< css::io::XInputStream >& xData,
                     const css::uno::Reference< css::ucb::XCommandEnvironment >& xEnv )
         throw ( css::ucb::CommandFailedException,
@@ -144,25 +147,30 @@ private:
     css::uno::Reference< css::sdbc::XRow >
     getPropertyValues( const css::uno::Sequence< css::beans::Property >& rProperties );
     css::uno::Sequence< css::uno::Any >
+    /// @throws css::uno::Exception
     setPropertyValues(
             const css::uno::Sequence< css::beans::PropertyValue >& rValues,
             const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
         throw( css::uno::Exception, std::exception );
 
+    /// @throws css::uno::Exception
     css::uno::Any
     open( const css::ucb::OpenCommandArgument2& rArg,
           const css::uno::Reference< css::ucb::XCommandEnvironment >& xEnv )
         throw( css::uno::Exception );
 
+    /// @throws css::uno::Exception
     void insert( const css::uno::Reference< css::io::XInputStream >& xData,
                  sal_Int32 nNameClashResolve,
                  const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
         throw( css::uno::Exception );
 
+    /// @throws css::uno::Exception
     void destroy( bool bDeletePhysical,
                   const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
         throw( css::uno::Exception, std::exception );
 
+    /// @throws css::uno::Exception
     void transfer( const css::ucb::TransferInfo& rInfo,
                    const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
         throw( css::uno::Exception, std::exception );
@@ -181,12 +189,18 @@ private:
     static bool closeOutputStream(
         const css::uno::Reference< css::io::XOutputStream > & xOut );
 
+    /// @throws css::ucb::CommandFailedException
+    /// @throws css::task::DocumentPasswordRequest
+    /// @throws css::uno::RuntimeException
     css::uno::Reference< css::io::XInputStream >
     getInputStream( const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
         throw ( css::ucb::CommandFailedException,
                 css::task::DocumentPasswordRequest,
                 css::uno::RuntimeException );
 
+    /// @throws css::ucb::CommandFailedException
+    /// @throws css::task::DocumentPasswordRequest
+    /// @throws css::uno::RuntimeException
     css::uno::Reference< css::io::XOutputStream >
     getTruncatedOutputStream(
         const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
@@ -197,6 +211,9 @@ private:
     css::uno::Reference< css::ucb::XContent >
     queryChildContent( const OUString & rRelativeChildUri );
 
+    /// @throws css::ucb::CommandFailedException
+    /// @throws css::task::DocumentPasswordRequest
+    /// @throws css::uno::RuntimeException
     css::uno::Reference< css::io::XStream >
     getStream( const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
         throw ( css::ucb::CommandFailedException,
diff --git a/ucb/source/ucp/tdoc/tdoc_documentcontentfactory.cxx b/ucb/source/ucp/tdoc/tdoc_documentcontentfactory.cxx
index cefb72560990..b4a27a8951fb 100644
--- a/ucb/source/ucp/tdoc/tdoc_documentcontentfactory.cxx
+++ b/ucb/source/ucp/tdoc/tdoc_documentcontentfactory.cxx
@@ -125,7 +125,7 @@ DocumentContentFactory::createDocumentContent(
 
 // Service factory implementation.
 
-
+/// @throws uno::Exception
 static uno::Reference< uno::XInterface > SAL_CALL
 DocumentContentFactory_CreateInstance(
     const uno::Reference< lang::XMultiServiceFactory> & rSMgr )
diff --git a/ucb/source/ucp/tdoc/tdoc_provider.cxx b/ucb/source/ucp/tdoc/tdoc_provider.cxx
index a4f809c49973..580a115e4a87 100644
--- a/ucb/source/ucp/tdoc/tdoc_provider.cxx
+++ b/ucb/source/ucp/tdoc/tdoc_provider.cxx
@@ -100,12 +100,24 @@ XTYPEPROVIDER_IMPL_4( ContentProvider,
 
 // XServiceInfo methods.
 
+XSERVICEINFO_COMMOM_IMPL( ContentProvider,
+                          OUString( "com.sun.star.comp.ucb.TransientDocumentsContentProvider" ) )
+/// @throws css::uno::Exception
+static css::uno::Reference< css::uno::XInterface > SAL_CALL
+ContentProvider_CreateInstance( const css::uno::Reference< css::lang::XMultiServiceFactory> & rSMgr )
+    throw( css::uno::Exception )
+{
+    css::lang::XServiceInfo* pX =
+        static_cast<css::lang::XServiceInfo*>(new ContentProvider( ucbhelper::getComponentContext(rSMgr) ));
+    return css::uno::Reference< css::uno::XInterface >::query( pX );
+}
 
-XSERVICEINFO_IMPL_1_CTX(
-    ContentProvider,
-    OUString( "com.sun.star.comp.ucb.TransientDocumentsContentProvider" ),
-    "com.sun.star.ucb.TransientDocumentsContentProvider" );
-
+css::uno::Sequence< OUString >
+ContentProvider::getSupportedServiceNames_Static()
+{
+    css::uno::Sequence< OUString > aSNS { "com.sun.star.ucb.TransientDocumentsContentProvider" };
+    return aSNS;
+}
 
 // Service factory implementation.
 
diff --git a/ucb/source/ucp/tdoc/tdoc_provider.hxx b/ucb/source/ucp/tdoc/tdoc_provider.hxx
index 5dbf85a636cc..5e70d04e044c 100644
--- a/ucb/source/ucp/tdoc/tdoc_provider.hxx
+++ b/ucb/source/ucp/tdoc/tdoc_provider.hxx
@@ -108,12 +108,16 @@ public:
     css::uno::Reference< css::embed::XStorage >
     queryStorageClone( const OUString & rUri ) const;
 
+    /// @throws css::packages::WrongPasswordException
+    /// @throws css::uno::RuntimeException
     css::uno::Reference< css::io::XInputStream >
     queryInputStream( const OUString & rUri,
                       const OUString & rPassword ) const
         throw ( css::packages::WrongPasswordException,
                 css::uno::RuntimeException );
 
+    /// @throws css::packages::WrongPasswordException
+    /// @throws css::uno::RuntimeException
     css::uno::Reference< css::io::XOutputStream >
     queryOutputStream( const OUString & rUri,
                        const OUString & rPassword,
@@ -121,6 +125,8 @@ public:
         throw ( css::packages::WrongPasswordException,
                 css::uno::RuntimeException );
 
+    /// @throws css::packages::WrongPasswordException
+    /// @throws css::uno::RuntimeException
     css::uno::Reference< css::io::XStream >
     queryStream( const OUString & rUri,
                  const OUString & rPassword,
diff --git a/ucb/source/ucp/tdoc/tdoc_stgelems.hxx b/ucb/source/ucp/tdoc/tdoc_stgelems.hxx
index 4b7c370fb42f..33f8302ba8d9 100644
--- a/ucb/source/ucp/tdoc/tdoc_stgelems.hxx
+++ b/ucb/source/ucp/tdoc/tdoc_stgelems.hxx
@@ -473,6 +473,7 @@ public:
         throw ( css::uno::RuntimeException, std::exception ) override;
 
 private:
+    /// @throws css::io::IOException
     void commitChanges()
         throw( css::io::IOException );
 
diff --git a/ucb/source/ucp/tdoc/tdoc_storage.hxx b/ucb/source/ucp/tdoc/tdoc_storage.hxx
index 98b1234ad3a4..c47717a49623 100644
--- a/ucb/source/ucp/tdoc/tdoc_storage.hxx
+++ b/ucb/source/ucp/tdoc/tdoc_storage.hxx
@@ -48,11 +48,18 @@ namespace tdoc_ucp {
             const rtl::Reference< OfficeDocumentsManager > & xDocsMgr );
         virtual ~StorageElementFactory() override;
 
+        /// @throws css::uno::Exception
+        /// @throws css::uno::RuntimeException
         css::uno::Reference< css::embed::XStorage >
         createTemporaryStorage()
             throw ( css::uno::Exception,
                     css::uno::RuntimeException );
 
+        /// @throws css::embed::InvalidStorageException
+        /// @throws css::lang::IllegalArgumentException
+        /// @throws css::io::IOException
+        /// @throws css::embed::StorageWrappedTargetException
+        /// @throws css::uno::RuntimeException
         css::uno::Reference< css::embed::XStorage >
         createStorage( const OUString & rUri, StorageAccessMode eMode )
             throw ( css::embed::InvalidStorageException,
@@ -61,6 +68,12 @@ namespace tdoc_ucp {
                     css::embed::StorageWrappedTargetException,
                     css::uno::RuntimeException );
 
+        /// @throws css::embed::InvalidStorageException
+        /// @throws css::lang::IllegalArgumentException
+        /// @throws css::io::IOException
+        /// @throws css::embed::StorageWrappedTargetException
+        /// @throws css::packages::WrongPasswordException
+        /// @throws css::uno::RuntimeException
         css::uno::Reference< css::io::XInputStream >
         createInputStream( const OUString & rUri,
                            const OUString & rPassword )
@@ -71,6 +84,12 @@ namespace tdoc_ucp {
                     css::packages::WrongPasswordException,
                     css::uno::RuntimeException );
 
+        /// @throws css::embed::InvalidStorageException
+        /// @throws css::lang::IllegalArgumentException
+        /// @throws css::io::IOException
+        /// @throws css::embed::StorageWrappedTargetException
+        /// @throws css::packages::WrongPasswordException
+        /// @throws css::uno::RuntimeException
         css::uno::Reference< css::io::XOutputStream >
         createOutputStream( const OUString & rUri,
                             const OUString & rPassword,
@@ -82,6 +101,12 @@ namespace tdoc_ucp {
                     css::packages::WrongPasswordException,
                     css::uno::RuntimeException );
 
+        /// @throws css::embed::InvalidStorageException
+        /// @throws css::lang::IllegalArgumentException
+        /// @throws css::io::IOException
+        /// @throws css::embed::StorageWrappedTargetException
+        /// @throws css::packages::WrongPasswordException
+        /// @throws css::uno::RuntimeException
         css::uno::Reference< css::io::XStream >
         createStream( const OUString & rUri,
                       const OUString & rPassword,
@@ -98,6 +123,11 @@ namespace tdoc_ucp {
 
         void releaseElement( Storage * pElement );
 
+        /// @throws css::embed::InvalidStorageException
+        /// @throws css::lang::IllegalArgumentException
+        /// @throws css::io::IOException
+        /// @throws css::embed::StorageWrappedTargetException
+        /// @throws css::uno::RuntimeException
         css::uno::Reference< css::embed::XStorage >
         queryParentStorage( const OUString & rUri,
                             StorageAccessMode eMode )
@@ -107,6 +137,11 @@ namespace tdoc_ucp {
                     css::embed::StorageWrappedTargetException,
                     css::uno::RuntimeException );
 
+        /// @throws css::embed::InvalidStorageException
+        /// @throws css::lang::IllegalArgumentException
+        /// @throws css::io::IOException
+        /// @throws css::embed::StorageWrappedTargetException
+        /// @throws css::uno::RuntimeException
         css::uno::Reference< css::embed::XStorage >
         queryStorage( const css::uno::Reference<
                         css::embed::XStorage > & xParentStorage,
@@ -118,6 +153,12 @@ namespace tdoc_ucp {
                     css::embed::StorageWrappedTargetException,
                     css::uno::RuntimeException );
 
+        /// @throws css::embed::InvalidStorageException
+        /// @throws css::lang::IllegalArgumentException
+        /// @throws css::io::IOException
+        /// @throws css::embed::StorageWrappedTargetException
+        /// @throws css::packages::WrongPasswordException
+        /// @throws css::uno::RuntimeException
         css::uno::Reference< css::io::XStream >
         queryStream( const css::uno::Reference<
                         css::embed::XStorage > & xParentStorage,
diff --git a/ucb/source/ucp/webdav-neon/DAVResourceAccess.cxx b/ucb/source/ucp/webdav-neon/DAVResourceAccess.cxx
index ea1523391980..2ce02150afbb 100644
--- a/ucb/source/ucp/webdav-neon/DAVResourceAccess.cxx
+++ b/ucb/source/ucp/webdav-neon/DAVResourceAccess.cxx
@@ -592,6 +592,7 @@ void DAVResourceAccess::abort()
 
 namespace {
 
+    /// @throws DAVException
     void resetInputStream( const uno::Reference< io::XInputStream > & rStream )
         throw( DAVException )
     {
diff --git a/ucb/source/ucp/webdav-neon/DAVResourceAccess.hxx b/ucb/source/ucp/webdav-neon/DAVResourceAccess.hxx
index 8bc99979f724..73e7d6d0b8ad 100644
--- a/ucb/source/ucp/webdav-neon/DAVResourceAccess.hxx
+++ b/ucb/source/ucp/webdav-neon/DAVResourceAccess.hxx
@@ -72,9 +72,11 @@ public:
 
     DAVResourceAccess & operator=( const DAVResourceAccess & rOther );
 
+    /// @throws DAVException
     void setFlags( const css::uno::Sequence< css::beans::NamedValue >& rFlags )
         throw ( DAVException );
 
+    /// @throws DAVException
     void setURL( const OUString & rNewURL )
         throw ( DAVException );
 
@@ -87,6 +89,7 @@ public:
 
     // DAV methods
 
+    /// @throws DAVException
     void
     OPTIONS( DAVOptions & rOptions,
              const css::uno::Reference<
@@ -94,6 +97,7 @@ public:
         throw ( DAVException );
 
     // allprop & named
+    /// @throws DAVException
     void
     PROPFIND( const Depth nDepth,
               const std::vector< OUString > & rPropertyNames,
@@ -102,32 +106,39 @@ public:
         throw ( DAVException );
 
     // propnames
+    /// @throws DAVException
     void
     PROPFIND( const Depth nDepth,
               std::vector< DAVResourceInfo > & rResInfo,
               const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
         throw ( DAVException );
 
+    /// @throws DAVException
     void
     PROPPATCH( const std::vector< ProppatchValue > & rValues,
                const css::uno::Reference< css::ucb::XCommandEnvironment >& xEnv )
         throw ( DAVException );
 
+    /// @throws DAVException
     void
     HEAD( const std::vector< OUString > & rHeaderNames, // empty == 'all'
           DAVResource & rResource,
           const css::uno::Reference< css::ucb::XCommandEnvironment >& xEnv )
         throw ( DAVException );
 
+    /// @throws DAVException
     css::uno::Reference< css::io::XInputStream >
     GET( const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
         throw ( DAVException );
 
+    /// @throws DAVException
     void
     GET( css::uno::Reference< css::io::XOutputStream > & rStream,
          const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
         throw ( DAVException );
 
+    /// @throws css::uno::RuntimeException
+    /// @throws DAVException
     css::uno::Reference< css::io::XInputStream >
     GET( const std::vector< OUString > & rHeaderNames, // empty == 'all'
          DAVResource & rResource,
@@ -135,6 +146,7 @@ public:
         throw (css::uno::RuntimeException, DAVException);
 
     // used as HEAD substitute when HEAD is not implemented on server
+    /// @throws DAVException
     void
     GET0( DAVRequestHeaders & rRequestHeaders,
           const std::vector< rtl::OUString > & rHeaderNames, // empty == 'all'
@@ -142,6 +154,7 @@ public:
           const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
          throw ( DAVException );
 
+    /// @throws DAVException
     void
     GET( css::uno::Reference< css::io::XOutputStream > & rStream,
          const std::vector< OUString > & rHeaderNames, // empty == 'all'
@@ -149,11 +162,15 @@ public:
          const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
         throw ( DAVException );
 
+    /// @throws css::uno::RuntimeException
+    /// @throws DAVException
     void
     PUT( const css::uno::Reference< css::io::XInputStream > & rStream,
          const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
         throw (css::uno::RuntimeException, DAVException);
 
+    /// @throws css::uno::RuntimeException
+    /// @throws DAVException
     css::uno::Reference< css::io::XInputStream >
     POST( const OUString & rContentType,
           const OUString & rReferer,
@@ -161,6 +178,8 @@ public:
           const css::uno::Reference< css::ucb::XCommandEnvironment >& xEnv )
         throw (css::uno::RuntimeException, DAVException);
 
+    /// @throws css::uno::RuntimeException
+    /// @throws DAVException
     void
     POST( const OUString & rContentType,
           const OUString & rReferer,
@@ -169,10 +188,12 @@ public:
           const css::uno::Reference< css::ucb::XCommandEnvironment >& xEnv )
         throw (css::uno::RuntimeException, DAVException);
 
+    /// @throws DAVException
     void
     MKCOL( const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
         throw ( DAVException );
 
+    /// @throws DAVException
     void
     COPY( const OUString & rSourcePath,
           const OUString & rDestinationURI,
@@ -180,6 +201,7 @@ public:
           const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
         throw ( DAVException );
 
+    /// @throws DAVException
     void
     MOVE( const OUString & rSourcePath,
           const OUString & rDestinationURI,
@@ -187,11 +209,13 @@ public:
           const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
         throw ( DAVException );
 
+    /// @throws DAVException
     void
     DESTROY( const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
         throw ( DAVException );
 
     // set new lock.
+    /// @throws DAVException
     void
     LOCK( css::ucb::Lock & inLock,
           const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
@@ -205,10 +229,12 @@ public:
         throw ( DAVException );
 #endif
 
+    /// @throws DAVException
     void
     UNLOCK( const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
         throw ( DAVException );
 
+    /// @throws DAVException
     void
     abort()
         throw ( DAVException );
@@ -221,13 +247,16 @@ public:
         css::ucb::WebDAVHTTPMethod eMethod,
         DAVRequestHeaders & rRequestHeaders );
 
+        /// @throws DAVException
         bool handleException( const DAVException & e, int errorCount )
         throw ( DAVException );
 
 private:
     const OUString & getRequestURI() const;
+    /// @throws DAVException
     bool detectRedirectCycle( const OUString& rRedirectURL )
         throw ( DAVException );
+    /// @throws DAVException
     void initialize()
         throw ( DAVException );
 };
diff --git a/ucb/source/ucp/webdav-neon/DAVSession.hxx b/ucb/source/ucp/webdav-neon/DAVSession.hxx
index b251a7809545..5516a26a215f 100644
--- a/ucb/source/ucp/webdav-neon/DAVSession.hxx
+++ b/ucb/source/ucp/webdav-neon/DAVSession.hxx
@@ -75,12 +75,14 @@ public:
 
     // DAV methods
 
+    /// @throws std::exception
     virtual void OPTIONS( const OUString & inPath,
                           DAVOptions& rOptions,
                           const DAVRequestEnvironment & rEnv )
         throw( std::exception ) = 0;
 
     // allprop & named
+    /// @throws std::exception
     virtual void PROPFIND( const OUString & inPath,
                            const Depth inDepth,
                            const std::vector< OUString > & inPropertyNames,
@@ -89,33 +91,39 @@ public:
         throw( std::exception ) = 0;
 
     // propnames
+    /// @throws std::exception
     virtual void PROPFIND( const OUString & inPath,
                            const Depth inDepth,
                            std::vector< DAVResourceInfo > & ioResInfo,
                            const DAVRequestEnvironment & rEnv )
         throw( std::exception ) = 0;
 
+    /// @throws std::exception
     virtual void PROPPATCH( const OUString & inPath,
                             const std::vector< ProppatchValue > & inValues,
                             const DAVRequestEnvironment & rEnv )
         throw( std::exception ) = 0;
 
+    /// @throws std::exception
     virtual void HEAD( const OUString &  inPath,
                        const std::vector< OUString > & inHeaderNames,
                        DAVResource & ioResource,
                        const DAVRequestEnvironment & rEnv )
         throw( std::exception ) = 0;
 
+    /// @throws std::exception
     virtual css::uno::Reference< css::io::XInputStream >
     GET( const OUString & inPath,
          const DAVRequestEnvironment & rEnv )
         throw( std::exception ) = 0;
 
+    /// @throws std::exception
     virtual void GET( const OUString & inPath,
                       css::uno::Reference< css::io::XOutputStream >& o,
                       const DAVRequestEnvironment & rEnv )
         throw( std::exception ) = 0;
 
+    /// @throws std::exception
     virtual css::uno::Reference< css::io::XInputStream >
     GET( const OUString & inPath,
          const std::vector< OUString > & inHeaderNames,
@@ -124,6 +132,7 @@ public:
         throw( std::exception ) = 0;
 
     // used as HEAD substitute when HEAD is not implemented on server
+    /// @throws std::exception
     virtual void
     GET0( const OUString & inPath,
           const std::vector< OUString > & inHeaderNames,
@@ -131,6 +140,7 @@ public:
           const DAVRequestEnvironment & rEnv )
          throw( std::exception ) = 0;
 
+    /// @throws std::exception
     virtual void
     GET( const OUString & inPath,
          css::uno::Reference< css::io::XOutputStream >& o,
@@ -139,11 +149,13 @@ public:
          const DAVRequestEnvironment & rEnv )
         throw( std::exception ) = 0;
 
+    /// @throws std::exception
     virtual void PUT( const OUString & inPath,
                       const css::uno::Reference< css::io::XInputStream >& s,
                       const DAVRequestEnvironment & rEnv )
         throw( std::exception ) = 0;
 
+    /// @throws std::exception
     virtual css::uno::Reference< css::io::XInputStream >
     POST( const OUString & inPath,
           const OUString & rContentType,
@@ -152,6 +164,7 @@ public:
           const DAVRequestEnvironment & rEnv )
         throw ( std::exception ) = 0;
 
+    /// @throws std::exception
     virtual void POST( const OUString & inPath,
                        const OUString & rContentType,
                        const OUString & rReferer,
@@ -160,36 +173,43 @@ public:
                        const DAVRequestEnvironment & rEnv )
         throw ( std::exception ) = 0;
 
+    /// @throws std::exception
     virtual void MKCOL( const OUString & inPath,
                         const DAVRequestEnvironment & rEnv )
         throw( std::exception ) = 0;
 
+    /// @throws std::exception
     virtual void COPY( const OUString & inSource,
                        const OUString & inDestination,
                        const DAVRequestEnvironment & rEnv,
                        bool inOverwrite )
         throw( std::exception ) = 0;
 
+    /// @throws std::exception
     virtual void MOVE( const OUString & inSource,
                        const OUString & inDestination,
                        const DAVRequestEnvironment & rEnv,
                        bool inOverwrite )
         throw( std::exception ) = 0;
 
+    /// @throws std::exception
     virtual void DESTROY( const OUString & inPath,
                           const DAVRequestEnvironment & rEnv )
         throw( std::exception ) = 0;
 
     // set new lock.
+    /// @throws std::exception
     virtual void LOCK( const OUString & inPath,
                        css::ucb::Lock & inLock,
                        const DAVRequestEnvironment & rEnv )
         throw ( std::exception ) = 0;
 
+    /// @throws std::exception
     virtual void UNLOCK( const OUString & inPath,
                          const DAVRequestEnvironment & rEnv )
         throw ( std::exception ) = 0;
 
+    /// @throws std::exception
     virtual void abort()
         throw( std::exception ) = 0;
 
diff --git a/ucb/source/ucp/webdav-neon/DAVSessionFactory.hxx b/ucb/source/ucp/webdav-neon/DAVSessionFactory.hxx
index 3292ad480adc..07dee1521472 100644
--- a/ucb/source/ucp/webdav-neon/DAVSessionFactory.hxx
+++ b/ucb/source/ucp/webdav-neon/DAVSessionFactory.hxx
@@ -61,6 +61,7 @@ class DAVSessionFactory : public salhelper::SimpleReferenceObject
 public:
     virtual ~DAVSessionFactory() override;
 
+    /// @throws DAVException
     rtl::Reference< DAVSession >
         createDAVSession( const OUString & inUri,
                           const ::uno::Sequence< css::beans::NamedValue >& rFlags,
diff --git a/ucb/source/ucp/webdav-neon/NeonSession.hxx b/ucb/source/ucp/webdav-neon/NeonSession.hxx
index cece65dcb6f1..85e8172bed75 100644
--- a/ucb/source/ucp/webdav-neon/NeonSession.hxx
+++ b/ucb/source/ucp/webdav-neon/NeonSession.hxx
@@ -71,6 +71,7 @@ protected:
     virtual ~NeonSession() override;
 
 public:
+    /// @throws std::exception
     NeonSession( const rtl::Reference< DAVSessionFactory > & rSessionFactory,
                  const OUString& inUri,
                  const css::uno::Sequence< css::beans::NamedValue >& rFlags,
@@ -227,13 +228,16 @@ public:
 private:
     friend class NeonLockStore;
 
+    /// @throws css::uno::RuntimeException
     void Init()
         throw (css::uno::RuntimeException, std::exception);
 
+    /// @throws css::uno::RuntimeException
     void Init( const DAVRequestEnvironment & rEnv )
         throw (css::uno::RuntimeException, std::exception);
 
     // ret: true => retry request.
+    /// @throws std::exception
     void HandleError( int nError,
                       const OUString & inPath,
                       const DAVRequestEnvironment & rEnv )
diff --git a/ucb/source/ucp/webdav-neon/NeonUri.hxx b/ucb/source/ucp/webdav-neon/NeonUri.hxx
index cd9fbe971f47..66ad95bd9409 100644
--- a/ucb/source/ucp/webdav-neon/NeonUri.hxx
+++ b/ucb/source/ucp/webdav-neon/NeonUri.hxx
@@ -55,7 +55,9 @@ class NeonUri
         void calculateURI ();
 
     public:
+        /// @throws DAVException
         explicit NeonUri( const OUString & inUri ) throw ( DAVException );
+        /// @throws DAVException
         explicit NeonUri( const ne_uri * inUri ) throw ( DAVException );
         ~NeonUri( );
 
diff --git a/ucb/source/ucp/webdav-neon/webdavcontent.hxx b/ucb/source/ucp/webdav-neon/webdavcontent.hxx
index f2a68d0df496..4510674a918c 100644
--- a/ucb/source/ucp/webdav-neon/webdavcontent.hxx
+++ b/ucb/source/ucp/webdav-neon/webdavcontent.hxx
@@ -122,14 +122,17 @@ private:
     getCommands( const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv ) override;
     virtual OUString getParentURL() override;
 
+    /// @throws css::uno::Exception
     bool isFolder( const css::uno::Reference< css::ucb::XCommandEnvironment >& xEnv )
         throw ( css::uno::Exception, std::exception );
 
+    /// @throws css::uno::Exception
     css::uno::Reference< css::sdbc::XRow >
     getPropertyValues( const css::uno::Sequence< css::beans::Property >& rProperties,
                        const css::uno::Reference< css::ucb::XCommandEnvironment >& xEnv )
         throw ( css::uno::Exception, std::exception );
 
+    /// @throws css::uno::Exception
     css::uno::Sequence< css::uno::Any >
     setPropertyValues( const css::uno::Sequence< css::beans::PropertyValue >& rValues,
                        const css::uno::Reference< css::ucb::XCommandEnvironment >& xEnv )
@@ -145,10 +148,12 @@ private:
     const OUString
     getBaseURI( const std::unique_ptr< DAVResourceAccess > & rResAccess );
 
+    /// @throws css::uno::Exception
     ResourceType
     getResourceType( const css::uno::Reference< css::ucb::XCommandEnvironment >& xEnv )
         throw ( css::uno::Exception, std::exception );
 
+    /// @throws css::uno::Exception
     ResourceType
     getResourceType( const css::uno::Reference< css::ucb::XCommandEnvironment >& xEnv,
                      const std::unique_ptr< DAVResourceAccess > & rResAccess,
@@ -156,41 +161,49 @@ private:
         throw ( css::uno::Exception, std::exception );
 
     // Command "open"
+    /// @throws css::uno::Exception
     css::uno::Any open(
                 const css::ucb::OpenCommandArgument3 & rArg,
                 const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
         throw (css::uno::Exception, std::exception);
 
     // Command "post"
+    /// @throws css::uno::Exception
     void post( const css::ucb::PostCommandArgument2 & rArg,
                const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv )
         throw( css::uno::Exception, std::exception );
 
     // Command "insert"
+    /// @throws css::uno::Exception
     void insert( const css::uno::Reference< css::io::XInputStream > & xInputStream,
                  bool bReplaceExisting,
                  const css::uno::Reference< css::ucb::XCommandEnvironment >& Environment )
         throw( css::uno::Exception, std::exception );
 
     // Command "transfer"
+    /// @throws css::uno::Exception
     void transfer( const css::ucb::TransferInfo & rArgs,
                    const css::uno::Reference< css::ucb::XCommandEnvironment >& Environment )
         throw( css::uno::Exception, std::exception );
 
     // Command "delete"
+    /// @throws css::uno::Exception
     void destroy( bool bDeletePhysical )
         throw( css::uno::Exception, std::exception );
 
     // Command "lock"
+    /// @throws css::uno::Exception
     void lock( const css::uno::Reference< css::ucb::XCommandEnvironment >& Environment )
         throw( css::uno::Exception, std::exception );
 
     // Command "unlock"
+    /// @throws css::uno::Exception
     void unlock( const css::uno::Reference< css::ucb::XCommandEnvironment >& Environment )
         throw( css::uno::Exception, std::exception );
 
     css::uno::Any MapDAVException( const DAVException & e,
                                                 bool bWrite );
+    /// @throws css::uno::Exception
     void cancelCommandExecution(
                     const DAVException & e,
                     const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv,
@@ -206,6 +219,10 @@ private:
     ResourceType resourceTypeForLocks(
         const css::uno::Reference< css::ucb::XCommandEnvironment >& rEnvironment );
 
+    /// @throws css::beans::PropertyExistException
+    /// @throws css::beans::IllegalTypeException
+    /// @throws css::lang::IllegalArgumentException
+    /// @throws css::uno::RuntimeException
     void addProperty( const css::ucb::PropertyCommandArgument &aCmdArg,
                       const css::uno::Reference< css::ucb::XCommandEnvironment >& Environment )
     throw( css::beans::PropertyExistException,
@@ -214,6 +231,9 @@ private:
            css::uno::RuntimeException,
            std::exception );
 
+    /// @throws css::beans::UnknownPropertyException
+    /// @throws css::beans::NotRemoveableException
+    /// @throws css::uno::RuntimeException
     void removeProperty( const OUString& Name,
                          const css::uno::Reference< css::ucb::XCommandEnvironment >& Environment )
     throw( css::beans::UnknownPropertyException,
@@ -222,11 +242,15 @@ private:
            std::exception );
 
 public:
+    /// @throws css::ucb::ContentCreationException
+    /// @throws css::uno::RuntimeException
     Content( const css::uno::Reference< css::uno::XComponentContext >& rxContext,
              ContentProvider* pProvider,
              const css::uno::Reference< css::ucb::XContentIdentifier >& Identifier,
              rtl::Reference< DAVSessionFactory > const & rSessionFactory )
         throw (css::ucb::ContentCreationException, css::uno::RuntimeException);
+    /// @throws css::ucb::ContentCreationException
+    /// @throws css::uno::RuntimeException
     Content( const css::uno::Reference< css::uno::XComponentContext >& rxContext,
              ContentProvider* pProvider,
              const css::uno::Reference< css::ucb::XContentIdentifier >& Identifier,
@@ -318,6 +342,7 @@ public:
                        const OUString& rContentId );
 
     // Use OPTIONS method to retrieve the type of the Web resource
+    /// @throws css::uno::Exception
     void getResourceOptions( const css::uno::Reference< css::ucb::XCommandEnvironment >& xEnv,
                              DAVOptions& rDAVOptions,
                              const std::unique_ptr< DAVResourceAccess > & rResAccess,
diff --git a/ucb/source/ucp/webdav-neon/webdavprovider.cxx b/ucb/source/ucp/webdav-neon/webdavprovider.cxx
index be6b50406832..f373d835ee48 100644
--- a/ucb/source/ucp/webdav-neon/webdavprovider.cxx
+++ b/ucb/source/ucp/webdav-neon/webdavprovider.cxx
@@ -98,11 +98,24 @@ XTYPEPROVIDER_IMPL_3( ContentProvider,
 
 // XServiceInfo methods.
 
+XSERVICEINFO_COMMOM_IMPL( ContentProvider,
+                          OUString( "com.sun.star.comp.WebDAVContentProvider" ) )
+/// @throws css::uno::Exception
+static css::uno::Reference< css::uno::XInterface > SAL_CALL
+ContentProvider_CreateInstance( const css::uno::Reference< css::lang::XMultiServiceFactory> & rSMgr )
+    throw( css::uno::Exception )
+{
+    css::lang::XServiceInfo* pX =
+        static_cast<css::lang::XServiceInfo*>(new ContentProvider( ucbhelper::getComponentContext(rSMgr) ));
+    return css::uno::Reference< css::uno::XInterface >::query( pX );
+}
 
-XSERVICEINFO_IMPL_1_CTX( ContentProvider,
-                     OUString( "com.sun.star.comp.WebDAVContentProvider" ),
-                     WEBDAV_CONTENT_PROVIDER_SERVICE_NAME );
-
+css::uno::Sequence< OUString >
+ContentProvider::getSupportedServiceNames_Static()
+{
+    css::uno::Sequence< OUString > aSNS { WEBDAV_CONTENT_PROVIDER_SERVICE_NAME };
+    return aSNS;
+}
 
 // Service factory implementation.
 
-- 
cgit