diff options
author | Michael Stahl <michael.stahl@allotropia.de> | 2022-03-10 16:47:16 +0100 |
---|---|---|
committer | Michael Stahl <michael.stahl@allotropia.de> | 2022-03-10 18:09:57 +0100 |
commit | 66a15ffedf2e41b25d06a61542434da2948dd4d8 (patch) | |
tree | a75062fd4ca1f92c97ae19a77f5ff6c7429044b9 | |
parent | 0611bf69cde2a22094d9ac190f972777537d8225 (diff) |
ucb: add webdav configuration setting
Change-Id: Ifc98baec69e32d231e44b389a870e90debd5a389
-rw-r--r-- | officecfg/registry/schema/org/openoffice/Inet.xcs | 6 | ||||
-rw-r--r-- | ucb/CppunitTest_ucb_webdav_core.mk | 1 | ||||
-rw-r--r-- | ucb/Module_ucb.mk | 2 | ||||
-rw-r--r-- | ucb/source/ucp/webdav-neon/webdavprovider.cxx | 12 |
4 files changed, 19 insertions, 2 deletions
diff --git a/officecfg/registry/schema/org/openoffice/Inet.xcs b/officecfg/registry/schema/org/openoffice/Inet.xcs index 76d5d2ed0912..95d38403d19d 100644 --- a/officecfg/registry/schema/org/openoffice/Inet.xcs +++ b/officecfg/registry/schema/org/openoffice/Inet.xcs @@ -26,6 +26,12 @@ <info> <desc>Contains Internet-related configurations (servers, proxies, etc.).</desc> </info> + <prop oor:name="WebDAVCurl" oor:type="xs:boolean" oor:nillable="false"> + <info> + <desc>Use curl HTTP/WebDAV UCP instead of neon one.</desc> + </info> + <value>false</value> + </prop> <prop oor:name="ooInetNoProxy" oor:type="xs:string" oor:nillable="false"> <!-- OldPath: Inet/NoProxy --> <!-- OldLocation: soffice.ini --> diff --git a/ucb/CppunitTest_ucb_webdav_core.mk b/ucb/CppunitTest_ucb_webdav_core.mk index fbd3f59f55f6..aeea8033fa95 100644 --- a/ucb/CppunitTest_ucb_webdav_core.mk +++ b/ucb/CppunitTest_ucb_webdav_core.mk @@ -31,6 +31,7 @@ $(eval $(call gb_CppunitTest_use_library_objects,ucb_webdav_core, \ $(eval $(call gb_CppunitTest_use_externals,ucb_webdav_core,\ boost_headers \ libxml2 \ + neon \ curl \ )) diff --git a/ucb/Module_ucb.mk b/ucb/Module_ucb.mk index 19c1aec96591..cea03c49ec4a 100644 --- a/ucb/Module_ucb.mk +++ b/ucb/Module_ucb.mk @@ -31,7 +31,7 @@ $(eval $(call gb_Module_add_targets,ucb,\ )) endif -ifeq ($(WITH_WEBDAV),curl) +ifeq ($(WITH_WEBDAV),neon) $(eval $(call gb_Module_add_check_targets,ucb,\ CppunitTest_ucb_webdav_core \ diff --git a/ucb/source/ucp/webdav-neon/webdavprovider.cxx b/ucb/source/ucp/webdav-neon/webdavprovider.cxx index 40534e80a614..bbe18ecbac61 100644 --- a/ucb/source/ucp/webdav-neon/webdavprovider.cxx +++ b/ucb/source/ucp/webdav-neon/webdavprovider.cxx @@ -180,11 +180,21 @@ ContentProvider::queryContent( return xContent; } +#include <officecfg/Inet.hxx> + +extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface* +ucb_webdav_ContentProvider_get_implementation( + css::uno::XComponentContext* context, css::uno::Sequence<css::uno::Any> const&); + extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface* ucb_webdav_neon_ContentProvider_get_implementation( css::uno::XComponentContext* context, css::uno::Sequence<css::uno::Any> const&) { - return cppu::acquire(new ContentProvider(context)); + auto const useCurl(officecfg::Inet::Settings::WebDAVCurl::get(context)); + if (useCurl) + return ucb_webdav_ContentProvider_get_implementation(context, {}); + else + return cppu::acquire(new ContentProvider(context)); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |