diff options
author | Giuseppe Castagno <giuseppe.castagno@acca-esse.eu> | 2016-10-15 16:21:42 +0200 |
---|---|---|
committer | Giuseppe Castagno <giuseppe.castagno@acca-esse.eu> | 2016-10-17 10:45:04 +0000 |
commit | 26c99e42db233e375a007c49e1e903359caa1ce3 (patch) | |
tree | 71a2ec04b5db83a95e2f3a2e266091d6df4ffac5 /unotools | |
parent | 3c4f17b571ba041cb03d5c7e27968ee11edfb97d (diff) |
tdf#103274: Add helper for a default XCommandEnvironment reference.
This helper should be used where the empty XCommandEnvironment
e.g. something like:
css::uno::Reference< css::ucb::XCommandEnvironment >()
is currently used.
See comment in the committed code (include/unotools/ucbhelper.hxx)
for details.
A case use is presented in this commit, please see:
sfx2/source/doc/docfile.cxx for details.
Change-Id: Ieb97c0ed61f31ef8df532c8be0e7ff1035327915
Reviewed-on: https://gerrit.libreoffice.org/29927
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Giuseppe Castagno <giuseppe.castagno@acca-esse.eu>
Diffstat (limited to 'unotools')
-rw-r--r-- | unotools/source/ucbhelper/ucbhelper.cxx | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/unotools/source/ucbhelper/ucbhelper.cxx b/unotools/source/ucbhelper/ucbhelper.cxx index acbc63f41564..aa751b679c9d 100644 --- a/unotools/source/ucbhelper/ucbhelper.cxx +++ b/unotools/source/ucbhelper/ucbhelper.cxx @@ -25,6 +25,7 @@ #include <com/sun/star/lang/XMultiServiceFactory.hpp> #include <com/sun/star/sdbc/XResultSet.hpp> #include <com/sun/star/task/XInteractionHandler.hpp> +#include <com/sun/star/task/InteractionHandler.hpp> #include <com/sun/star/ucb/CommandAbortedException.hpp> #include <com/sun/star/ucb/ContentInfo.hpp> #include <com/sun/star/ucb/ContentInfoAttribute.hpp> @@ -46,6 +47,7 @@ #include <com/sun/star/util/DateTime.hpp> #include <comphelper/processfactory.hxx> #include <cppuhelper/exc_hlp.hxx> +#include <comphelper/simplefileaccessinteraction.hxx> #include <osl/file.hxx> #include <rtl/string.h> #include <rtl/ustring.h> @@ -120,6 +122,22 @@ DateTime convert(css::util::DateTime const & dt) { } +css::uno::Reference< css::ucb::XCommandEnvironment > utl::UCBContentHelper::getDefaultCommandEnvironment() +{ + css::uno::Reference< css::task::XInteractionHandler > xIH( + css::task::InteractionHandler::createWithParent( + comphelper::getProcessComponentContext(), nullptr ) ); + + css::uno::Reference< css::ucb::XProgressHandler > xProgress; + ucbhelper::CommandEnvironment* pCommandEnv = + new ::ucbhelper::CommandEnvironment( + new comphelper::SimpleFileAccessInteraction( xIH ), xProgress ); + + css::uno::Reference < css::ucb::XCommandEnvironment > xEnv( + static_cast< css::ucb::XCommandEnvironment* >(pCommandEnv), css::uno::UNO_QUERY ); + return xEnv; +} + bool utl::UCBContentHelper::IsDocument(OUString const & url) { try { return content(url).isDocument(); |