comphelper/source/misc/simplefileaccessinteraction.cxx |   52 ++++++-----------
 include/ucbhelper/interceptedinteraction.hxx           |    4 +
 2 files changed, 24 insertions(+), 32 deletions(-)

New commits:
commit e6ad419ac923180fd951e2db901fd840aa4914b1
Author:     Noel Grandin <noel.gran...@collabora.co.uk>
AuthorDate: Thu May 12 19:47:40 2022 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Sat May 14 08:41:17 2022 +0200

    simplify construction
    
    Change-Id: Ib8a28575fe813a909ce5429732a60ae77f92b6ac
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134269
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/comphelper/source/misc/simplefileaccessinteraction.cxx 
b/comphelper/source/misc/simplefileaccessinteraction.cxx
index 48c99598fac5..8cd77af7d693 100644
--- a/comphelper/source/misc/simplefileaccessinteraction.cxx
+++ b/comphelper/source/misc/simplefileaccessinteraction.cxx
@@ -32,38 +32,26 @@ const sal_Int32 HANDLE_AUTHENTICATIONREQUEST = 4;
 SimpleFileAccessInteraction::SimpleFileAccessInteraction(
     const css::uno::Reference<css::task::XInteractionHandler>& xHandler)
 {
-    std::vector<::ucbhelper::InterceptedInteraction::InterceptedRequest> 
lInterceptions;
-    ::ucbhelper::InterceptedInteraction::InterceptedRequest 
aInterceptedRequest;
-
-    //intercept standard IO error exception (local file and WebDAV)
-    aInterceptedRequest.Handle = HANDLE_INTERACTIVEIOEXCEPTION;
-    aInterceptedRequest.Request <<= css::ucb::InteractiveIOException();
-    aInterceptedRequest.Continuation = 
cppu::UnoType<css::task::XInteractionAbort>::get();
-    lInterceptions.push_back(aInterceptedRequest);
-
-    //intercept internal error
-    aInterceptedRequest.Handle = HANDLE_UNSUPPORTEDDATASINKEXCEPTION;
-    aInterceptedRequest.Request <<= css::ucb::UnsupportedDataSinkException();
-    aInterceptedRequest.Continuation = 
cppu::UnoType<css::task::XInteractionAbort>::get();
-    lInterceptions.push_back(aInterceptedRequest);
-
-    //intercept network error exception (WebDAV ucp provider)
-    aInterceptedRequest.Handle = HANDLE_INTERACTIVENETWORKEXCEPTION;
-    aInterceptedRequest.Request <<= css::ucb::InteractiveNetworkException();
-    aInterceptedRequest.Continuation = 
cppu::UnoType<css::task::XInteractionAbort>::get();
-    lInterceptions.push_back(aInterceptedRequest);
-
-    //intercept certificate validation request (WebDAV ucp provider)
-    aInterceptedRequest.Handle = HANDLE_CERTIFICATEREQUEST;
-    aInterceptedRequest.Request <<= css::ucb::CertificateValidationRequest();
-    aInterceptedRequest.Continuation = 
cppu::UnoType<css::task::XInteractionAbort>::get();
-    lInterceptions.push_back(aInterceptedRequest);
-
-    //intercept authentication request (WebDAV ucp provider)
-    aInterceptedRequest.Handle = HANDLE_AUTHENTICATIONREQUEST;
-    aInterceptedRequest.Request <<= css::ucb::AuthenticationRequest();
-    aInterceptedRequest.Continuation = 
cppu::UnoType<css::task::XInteractionApprove>::get();
-    lInterceptions.push_back(aInterceptedRequest);
+    std::vector<::ucbhelper::InterceptedInteraction::InterceptedRequest> 
lInterceptions{
+        { //intercept standard IO error exception (local file and WebDAV)
+          css::uno::Any(css::ucb::InteractiveIOException()),
+          cppu::UnoType<css::task::XInteractionAbort>::get(), 
HANDLE_INTERACTIVEIOEXCEPTION },
+        { //intercept internal error
+          css::uno::Any(css::ucb::UnsupportedDataSinkException()),
+          cppu::UnoType<css::task::XInteractionAbort>::get(), 
HANDLE_UNSUPPORTEDDATASINKEXCEPTION },
+        {
+            //intercept network error exception (WebDAV ucp provider)
+            css::uno::Any(css::ucb::InteractiveNetworkException()),
+            cppu::UnoType<css::task::XInteractionAbort>::get(),
+            HANDLE_INTERACTIVENETWORKEXCEPTION,
+        },
+        { //intercept certificate validation request (WebDAV ucp provider)
+          css::uno::Any(css::ucb::CertificateValidationRequest()),
+          cppu::UnoType<css::task::XInteractionAbort>::get(), 
HANDLE_CERTIFICATEREQUEST },
+        { //intercept authentication request (WebDAV ucp provider)
+          css::uno::Any(css::ucb::AuthenticationRequest()),
+          cppu::UnoType<css::task::XInteractionApprove>::get(), 
HANDLE_AUTHENTICATIONREQUEST }
+    };
 
     setInterceptedHandler(xHandler);
     setInterceptions(std::move(lInterceptions));
diff --git a/include/ucbhelper/interceptedinteraction.hxx 
b/include/ucbhelper/interceptedinteraction.hxx
index b94f51cf9bb2..78344c319903 100644
--- a/include/ucbhelper/interceptedinteraction.hxx
+++ b/include/ucbhelper/interceptedinteraction.hxx
@@ -87,6 +87,10 @@ class UCBHELPER_DLLPUBLIC InterceptedInteraction : public 
InterceptedInteraction
             {
                 Handle     = INVALID_HANDLE;
             }
+            InterceptedRequest(css::uno::Any Request_, css::uno::Type 
Continuation_, sal_Int32 Handle_)
+                : Request(std::move(Request_)), 
Continuation(std::move(Continuation_)), Handle(Handle_)
+            {
+            }
 
         };
 

Reply via email to