diff options
author | Kai Sommerfeld <kso@openoffice.org> | 2009-12-09 18:54:57 +0100 |
---|---|---|
committer | Kai Sommerfeld <kso@openoffice.org> | 2009-12-09 18:54:57 +0100 |
commit | c7cd1b3ffde4a2ea187d6d962081ff5cf94da688 (patch) | |
tree | 9b39150e62ba32a88cb7fc86905d242446c13df5 /uui/source/iahndl.hxx | |
parent | 4a8daa26e866b3c84585c41b8be010c0a77a30b4 (diff) |
InteractionHandler refactoring, 1st wave.
Diffstat (limited to 'uui/source/iahndl.hxx')
-rw-r--r-- | uui/source/iahndl.hxx | 302 |
1 files changed, 111 insertions, 191 deletions
diff --git a/uui/source/iahndl.hxx b/uui/source/iahndl.hxx index aba8a1fd45ad..c479bc95c5fc 100644 --- a/uui/source/iahndl.hxx +++ b/uui/source/iahndl.hxx @@ -32,61 +32,47 @@ #define UUI_IAHNDL_HXX #include <vector> + #include "osl/mutex.hxx" +#include "rtl/ustring.hxx" + #include "com/sun/star/uno/Reference.hxx" #include "com/sun/star/uno/Sequence.hxx" #include "com/sun/star/beans/Optional.hpp" -#include "com/sun/star/embed/XStorage.hpp" #include "com/sun/star/task/InteractionClassification.hpp" -#include "com/sun/star/task/PasswordRequestMode.hpp" -#include "com/sun/star/task/FutureDocumentVersionProductUpdateRequest.hpp" -#include "com/sun/star/security/DocumentSignatureInformation.hpp" -#include "com/sun/star/security/XCertificate.hpp" -#include "com/sun/star/xml/crypto/XSecurityEnvironment.hpp" -#include "tools/solar.h" -#include "tools/errcode.hxx" -#include "vcl/wintypes.hxx" -#include "fltdlg.hxx" - -class Window; -class LoginErrorInfo; -struct CntHTTPCookieRequest; - -#define DESCRIPTION_1 1 -#define DESCRIPTION_2 2 -#define TITLE 3 -#define UUI_DOC_LOAD_LOCK 0 -#define UUI_DOC_OWN_LOAD_LOCK 1 -#define UUI_DOC_SAVE_LOCK 2 -#define UUI_DOC_OWN_SAVE_LOCK 3 +#include "tools/solar.h" // USHORT +#include "tools/errcode.hxx" // ErrCode +#include "tools/rc.hxx" // Resource +#include "vcl/wintypes.hxx" // WinBits namespace com { namespace sun { namespace star { - namespace document { - class AmbigousFilterRequest; - class FilterOptionsRequest; - class NoSuchFilterRequest; + namespace awt { + class XWindow; + } + namespace embed { + class XStorage; } namespace lang { class XMultiServiceFactory; } + namespace security { + class DocumentSignatureInformation; + } namespace task { + class FutureDocumentVersionProductUpdateRequest; class XInteractionContinuation; class XInteractionHandler; class XInteractionRequest; } namespace ucb { - class AuthenticationRequest; - class HandleCookiesRequest; class NameClashResolveRequest; - class CertificateValidationRequest; - } - namespace uno { - class RuntimeException; } } } } +class Window; + //============================================================================ struct InteractionHandlerData { @@ -107,7 +93,7 @@ class UUIInteractionHelper private: osl::Mutex m_aPropertyMutex; com::sun::star::uno::Reference< - com::sun::star::lang::XMultiServiceFactory > m_xServiceFactory; + com::sun::star::lang::XMultiServiceFactory > m_xServiceFactory; com::sun::star::uno::Sequence< com::sun::star::uno::Any > m_aProperties; UUIInteractionHelper(UUIInteractionHelper &); // not implemented @@ -139,19 +125,22 @@ public: com::sun::star::task::XInteractionRequest > const & rRequest) SAL_THROW((com::sun::star::uno::RuntimeException)); + // Helper. + static ::rtl::OUString + replaceMessageWithArguments( + ::rtl::OUString aMessage, + std::vector< rtl::OUString > const & rArguments ); + private: bool - handle_impl( + handleRequest_impl( com::sun::star::uno::Reference< - com::sun::star::task::XInteractionRequest > const & rRequest) + com::sun::star::task::XInteractionRequest > const & rRequest, + bool bObtainErrorStringOnly, + bool & bHasErrorString, + rtl::OUString & rErrorString) SAL_THROW((com::sun::star::uno::RuntimeException)); - void - getInteractionHandlerList(InteractionHandlerDataList &rdataList); - - sal_Bool - isDomainMatch( rtl::OUString hostName, rtl::OUString certHostName); - static long handlerequest(void* pHandleData, void* pInteractionHandler); @@ -177,109 +166,47 @@ private: SAL_THROW(()); com::sun::star::uno::Reference< com::sun::star::task::XInteractionHandler > - getInteractionHandler() const + getInteractionHandler() SAL_THROW((com::sun::star::uno::RuntimeException)); - void - executeLoginDialog(LoginErrorInfo & rInfo, - rtl::OUString const & rRealm) - SAL_THROW((com::sun::star::uno::RuntimeException)); - - void - executeMasterPasswordDialog(LoginErrorInfo & rInfo, - com::sun::star::task::PasswordRequestMode nMode) - SAL_THROW((com::sun::star::uno::RuntimeException)); - - void - executePasswordDialog(LoginErrorInfo & rInfo, - com::sun::star::task::PasswordRequestMode nMode, - ::rtl::OUString aDocumentName) - SAL_THROW((com::sun::star::uno::RuntimeException)); - - void - executeMSPasswordDialog(LoginErrorInfo & rInfo, - com::sun::star::task::PasswordRequestMode nMode, - ::rtl::OUString aDocumentName) - SAL_THROW((com::sun::star::uno::RuntimeException)); - - void - executeCookieDialog(CntHTTPCookieRequest & rRequest) + bool + tryOtherInteractionHandler( + com::sun::star::uno::Reference< + com::sun::star::task::XInteractionRequest > const & rRequest) SAL_THROW((com::sun::star::uno::RuntimeException)); void - executeFilterDialog(rtl::OUString const & rURL , - uui::FilterNameList const & rFilters, - rtl::OUString & rFilter ) + getInteractionHandlerList(InteractionHandlerDataList &rdataList) SAL_THROW((com::sun::star::uno::RuntimeException)); - sal_Bool - executeUnknownAuthDialog( - const com::sun::star::uno::Reference< - com::sun::star::security::XCertificate >& rXCert ) - SAL_THROW((com::sun::star::uno::RuntimeException)); - - sal_Bool - executeSSLWarnDialog( - const com::sun::star::uno::Reference< - com::sun::star::security::XCertificate >& rXCert, - sal_Int32 const & failures, - const rtl::OUString & hostName) - SAL_THROW((com::sun::star::uno::RuntimeException)); - - rtl::OUString - getLocalizedDatTimeStr( ::com::sun::star::util::DateTime aDateTime ); - - USHORT - executeErrorDialog( - com::sun::star::task::InteractionClassification eClassification, - rtl::OUString const & rContext, - rtl::OUString const & rMessage, - WinBits nButtonMask ) - SAL_THROW((com::sun::star::uno::RuntimeException)); - - USHORT - executeMessageBox( rtl::OUString const & rTitle, - rtl::OUString const & rMessage, - WinBits nButtonMask ) - SAL_THROW((com::sun::star::uno::RuntimeException)); + static bool + isInformationalErrorMessageRequest( + com::sun::star::uno::Sequence< + com::sun::star::uno::Reference< + com::sun::star::task::XInteractionContinuation > > const & + rContinuations); //===================================================================== - bool handleMessageboxRequests( - ::com::sun::star::uno::Reference< - ::com::sun::star::task::XInteractionRequest > const & rRequest, - bool bObtainErrorStringOnly, - bool & bHasErrorString, - rtl::OUString & rErrorString); - bool handleErrorHandlerRequests( - ::com::sun::star::uno::Reference< - ::com::sun::star::task::XInteractionRequest > const & rRequest, + bool + handleInteractiveIOException( + com::sun::star::uno::Reference< + com::sun::star::task::XInteractionRequest > const & rRequest, bool bObtainErrorStringOnly, bool & bHasErrorString, - rtl::OUString & rErrorString); - - bool handleDialogRequests( - ::com::sun::star::uno::Reference< - ::com::sun::star::task::XInteractionRequest > const & rRequest); + rtl::OUString & rErrorString) + SAL_THROW((com::sun::star::uno::RuntimeException)); - //===================================================================== - void + bool handleAuthenticationRequest( - com::sun::star::ucb::AuthenticationRequest const & rRequest, - com::sun::star::uno::Sequence< - com::sun::star::uno::Reference< - com::sun::star::task::XInteractionContinuation > > const & - rContinuations, - rtl::OUString const & rURL) + com::sun::star::uno::Reference< + com::sun::star::task::XInteractionRequest > const & rRequest) SAL_THROW((com::sun::star::uno::RuntimeException)); - void + bool handleCertificateValidationRequest( - com::sun::star::ucb::CertificateValidationRequest const & rRequest, - com::sun::star::uno::Sequence< - com::sun::star::uno::Reference< - com::sun::star::task::XInteractionContinuation > > const & - rContinuations) + com::sun::star::uno::Reference< + com::sun::star::task::XInteractionRequest > const & rRequest) SAL_THROW((com::sun::star::uno::RuntimeException)); void @@ -291,73 +218,44 @@ private: rContinuations) SAL_THROW((com::sun::star::uno::RuntimeException)); - void + bool handleMasterPasswordRequest( - com::sun::star::task::PasswordRequestMode nMode, - com::sun::star::uno::Sequence< - com::sun::star::uno::Reference< - com::sun::star::task::XInteractionContinuation > > const & - rContinuations) + com::sun::star::uno::Reference< + com::sun::star::task::XInteractionRequest > const & rRequest) SAL_THROW((com::sun::star::uno::RuntimeException)); - void + bool handlePasswordRequest( - com::sun::star::task::PasswordRequestMode nMode, - com::sun::star::uno::Sequence< - com::sun::star::uno::Reference< - com::sun::star::task::XInteractionContinuation > > const & - rContinuations, - ::rtl::OUString aDocumentName = ::rtl::OUString()) - SAL_THROW((com::sun::star::uno::RuntimeException)); - - void - handleMSPasswordRequest( - com::sun::star::task::PasswordRequestMode nMode, - com::sun::star::uno::Sequence< - com::sun::star::uno::Reference< - com::sun::star::task::XInteractionContinuation > > const & - rContinuations, - ::rtl::OUString aDocumentName = ::rtl::OUString()) + com::sun::star::uno::Reference< + com::sun::star::task::XInteractionRequest > const & rRequest) SAL_THROW((com::sun::star::uno::RuntimeException)); - void + bool handleCookiesRequest( - com::sun::star::ucb::HandleCookiesRequest const & rRequest, - com::sun::star::uno::Sequence< - com::sun::star::uno::Reference< - com::sun::star::task::XInteractionContinuation > > const & - rContinuations) + com::sun::star::uno::Reference< + com::sun::star::task::XInteractionRequest > const & rRequest) SAL_THROW((com::sun::star::uno::RuntimeException)); - void + bool handleNoSuchFilterRequest( - com::sun::star::document::NoSuchFilterRequest const & rRequest, - com::sun::star::uno::Sequence< - com::sun::star::uno::Reference< - com::sun::star::task::XInteractionContinuation > > const & - rContinuations) + com::sun::star::uno::Reference< + com::sun::star::task::XInteractionRequest > const & rRequest) SAL_THROW((com::sun::star::uno::RuntimeException)); - void + bool handleAmbigousFilterRequest( - com::sun::star::document::AmbigousFilterRequest const & rRequest, - com::sun::star::uno::Sequence< - com::sun::star::uno::Reference< - com::sun::star::task::XInteractionContinuation > > const & - rContinuations) + com::sun::star::uno::Reference< + com::sun::star::task::XInteractionRequest > const & rRequest) SAL_THROW((com::sun::star::uno::RuntimeException)); - void + bool handleFilterOptionsRequest( - com::sun::star::document::FilterOptionsRequest const & rRequest, - com::sun::star::uno::Sequence< - com::sun::star::uno::Reference< - com::sun::star::task::XInteractionContinuation > > const & - rContinuations) + com::sun::star::uno::Reference< + com::sun::star::task::XInteractionRequest > const & rRequest) SAL_THROW((com::sun::star::uno::RuntimeException)); void - handleErrorRequest( + handleErrorHandlerRequest( com::sun::star::task::InteractionClassification eClassification, ErrCode nErrorCode, std::vector< rtl::OUString > const & rArguments, @@ -419,27 +317,49 @@ private: rtl::OUString & rErrorString) SAL_THROW((::com::sun::star::uno::RuntimeException)); - void handleLockedDocumentRequest( - const ::rtl::OUString& aDocumentURL, - const ::rtl::OUString& aInfo, - ::com::sun::star::uno::Sequence< - ::com::sun::star::uno::Reference< - ::com::sun::star::task::XInteractionContinuation > > const & - rContinuations, - sal_uInt16 nMode ) + bool handleLockedDocumentRequest( + com::sun::star::uno::Reference< + com::sun::star::task::XInteractionRequest > const & rRequest) SAL_THROW((::com::sun::star::uno::RuntimeException)); - void handleChangedByOthersRequest( - ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< - ::com::sun::star::task::XInteractionContinuation > > const & - rContinuations ) + bool handleChangedByOthersRequest( + com::sun::star::uno::Reference< + com::sun::star::task::XInteractionRequest > const & rRequest) SAL_THROW((::com::sun::star::uno::RuntimeException)); - void handleLockFileIgnoreRequest( - ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< - ::com::sun::star::task::XInteractionContinuation > > const & - rContinuations ) + bool handleLockFileIgnoreRequest( + com::sun::star::uno::Reference< + com::sun::star::task::XInteractionRequest > const & rRequest) SAL_THROW((::com::sun::star::uno::RuntimeException)); }; +class ErrorResource: private Resource +{ +public: + inline ErrorResource(ResId & rResId) SAL_THROW(()): Resource(rResId) {} + + inline ~ErrorResource() SAL_THROW(()) { FreeResource(); } + + bool getString(ErrCode nErrorCode, rtl::OUString * pString) const + SAL_THROW(()); +}; + +/* +class InteractionRequest +{ +public: + InteractionRequest( + com::sun::star::uno::Reference< + com::sun::star::task::XInteractionRequest > const & rRequest) + : m_aRequest( rRequest ) {} + + virtual bool toString( rtl::OUString & rString ) = 0; + virtual bool handle( rtl::OUString & rString ) = 0; + +private: + com::sun::star::uno::Reference< + com::sun::star::task::XInteractionRequest > m_aRequest; +}; +*/ + #endif // UUI_IAHNDL_HXX |