diff options
Diffstat (limited to 'comphelper')
-rw-r--r-- | comphelper/source/misc/stillreadwriteinteraction.cxx | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/comphelper/source/misc/stillreadwriteinteraction.cxx b/comphelper/source/misc/stillreadwriteinteraction.cxx index 8b80d5c5f791..f4fdf76c3ae5 100644 --- a/comphelper/source/misc/stillreadwriteinteraction.cxx +++ b/comphelper/source/misc/stillreadwriteinteraction.cxx @@ -29,14 +29,16 @@ #include <com/sun/star/ucb/AuthenticationRequest.hpp> +#include <com/sun/star/ucb/CertificateValidationRequest.hpp> + namespace comphelper{ StillReadWriteInteraction::StillReadWriteInteraction(const css::uno::Reference< css::task::XInteractionHandler >& xHandler, - const css::uno::Reference< css::task::XInteractionHandler >& xAuthenticationHandler) + const css::uno::Reference< css::task::XInteractionHandler >& xAuxiliaryHandler) : m_bUsed (false) , m_bHandledByMySelf (false) , m_bHandledByInternalHandler(false) - , m_xAuthenticationHandler(xAuthenticationHandler) + , m_xAuxiliaryHandler(xAuxiliaryHandler) { ::std::vector< ::ucbhelper::InterceptedInteraction::InterceptedRequest > lInterceptions; ::ucbhelper::InterceptedInteraction::InterceptedRequest aInterceptedRequest; @@ -56,6 +58,11 @@ StillReadWriteInteraction::StillReadWriteInteraction(const css::uno::Reference< aInterceptedRequest.Continuation = cppu::UnoType<css::task::XInteractionApprove>::get(); lInterceptions.push_back(aInterceptedRequest); + aInterceptedRequest.Handle = HANDLE_CERTIFICATEVALIDATIONREQUESTEXCEPTION; + aInterceptedRequest.Request <<= css::ucb::CertificateValidationRequest(); + aInterceptedRequest.Continuation = cppu::UnoType<css::task::XInteractionApprove>::get(); + lInterceptions.push_back(aInterceptedRequest); + setInterceptedHandler(xHandler); setInterceptions(lInterceptions); } @@ -105,12 +112,13 @@ ucbhelper::InterceptedInteraction::EInterceptionState StillReadWriteInteraction: bAbort = true; } break; + case HANDLE_CERTIFICATEVALIDATIONREQUESTEXCEPTION: case HANDLE_AUTHENTICATIONREQUESTEXCEPTION: { -//use internal authentication dedicated handler and return - if (m_xAuthenticationHandler.is()) +//use internal auxiliary handler and return + if (m_xAuxiliaryHandler.is()) { - m_xAuthenticationHandler->handle(xRequest); + m_xAuxiliaryHandler->handle(xRequest); return ::ucbhelper::InterceptedInteraction::E_INTERCEPTED; } else //simply abort |