From f05d7abf93bbcf443cb0b5759ca19992e2fa85a3 Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Sat, 29 Sep 2012 13:43:20 +0200 Subject: Some clean up Change-Id: Ia17a714b55da06bd38c7b5d60881f1b3838da992 --- sdext/source/pdfimport/misc/pwdinteract.cxx | 74 ++++++++++++++--------------- 1 file changed, 35 insertions(+), 39 deletions(-) (limited to 'sdext') diff --git a/sdext/source/pdfimport/misc/pwdinteract.cxx b/sdext/source/pdfimport/misc/pwdinteract.cxx index 81cdcb832208..7b470deda692 100644 --- a/sdext/source/pdfimport/misc/pwdinteract.cxx +++ b/sdext/source/pdfimport/misc/pwdinteract.cxx @@ -40,9 +40,10 @@ #include #include -#include #include -#include +#include +#include +#include #include using namespace com::sun::star; @@ -50,15 +51,14 @@ using namespace com::sun::star; namespace { -typedef ::cppu::WeakComponentImplHelper2< - com::sun::star::task::XInteractionRequest, - com::sun::star::task::XInteractionPassword > PDFPasswordRequestBase; - -class PDFPasswordRequest : private cppu::BaseMutex, - public PDFPasswordRequestBase +class PDFPasswordRequest: + public cppu::WeakImplHelper2< + task::XInteractionRequest, task::XInteractionPassword >, + private boost::noncopyable { private: - task::DocumentPasswordRequest m_aRequest; + mutable osl::Mutex m_aMutex; + uno::Any m_aRequest; rtl::OUString m_aPassword; bool m_bSelected; @@ -77,54 +77,51 @@ public: virtual void SAL_CALL select() throw (uno::RuntimeException); bool isSelected() const { osl::MutexGuard const guard( m_aMutex ); return m_bSelected; } + +private: + virtual ~PDFPasswordRequest() {} }; PDFPasswordRequest::PDFPasswordRequest( bool bFirstTry, const rtl::OUString& rName ) : - PDFPasswordRequestBase( m_aMutex ), - m_aRequest(), - m_aPassword(), + m_aRequest( + uno::makeAny( + task::DocumentPasswordRequest( + OUString(), uno::Reference< uno::XInterface >(), + task::InteractionClassification_QUERY, + (bFirstTry + ? task::PasswordRequestMode_PASSWORD_ENTER + : task::PasswordRequestMode_PASSWORD_REENTER), + rName))), m_bSelected(false) -{ - m_aRequest.Mode = bFirstTry ? - task::PasswordRequestMode_PASSWORD_ENTER : - task::PasswordRequestMode_PASSWORD_REENTER; - m_aRequest.Classification = task::InteractionClassification_QUERY; - m_aRequest.Name = rName; -} +{} -uno::Any SAL_CALL PDFPasswordRequest::getRequest() throw (uno::RuntimeException) +uno::Any PDFPasswordRequest::getRequest() throw (uno::RuntimeException) { - osl::MutexGuard const guard( m_aMutex ); - - uno::Any aRet; - aRet <<= m_aRequest; - return aRet; + return m_aRequest; } -uno::Sequence< uno::Reference< task::XInteractionContinuation > > SAL_CALL PDFPasswordRequest::getContinuations() throw (uno::RuntimeException) +uno::Sequence< uno::Reference< task::XInteractionContinuation > > PDFPasswordRequest::getContinuations() throw (uno::RuntimeException) { - osl::MutexGuard const guard( m_aMutex ); - uno::Sequence< uno::Reference< task::XInteractionContinuation > > aRet( 1 ); - aRet.getArray()[0] = static_cast(this); + aRet[0] = this; return aRet; } -void SAL_CALL PDFPasswordRequest::setPassword( const rtl::OUString& rPwd ) throw (uno::RuntimeException) +void PDFPasswordRequest::setPassword( const rtl::OUString& rPwd ) throw (uno::RuntimeException) { osl::MutexGuard const guard( m_aMutex ); m_aPassword = rPwd; } -rtl::OUString SAL_CALL PDFPasswordRequest::getPassword() throw (uno::RuntimeException) +rtl::OUString PDFPasswordRequest::getPassword() throw (uno::RuntimeException) { osl::MutexGuard const guard( m_aMutex ); return m_aPassword; } -void SAL_CALL PDFPasswordRequest::select() throw (uno::RuntimeException) +void PDFPasswordRequest::select() throw (uno::RuntimeException) { osl::MutexGuard const guard( m_aMutex ); @@ -170,22 +167,21 @@ bool getPassword( const uno::Reference< task::XInteractionHandler >& xHandler, { bool bSuccess = false; - PDFPasswordRequest* pRequest; - uno::Reference< task::XInteractionRequest > xReq( - pRequest = new PDFPasswordRequest( bFirstTry, rDocName ) ); + rtl::Reference< PDFPasswordRequest > xReq( + new PDFPasswordRequest( bFirstTry, rDocName ) ); try { - xHandler->handle( xReq ); + xHandler->handle( xReq.get() ); } catch( uno::Exception& ) { } - OSL_TRACE( "request %s selected", pRequest->isSelected() ? "was" : "was not" ); - if( pRequest->isSelected() ) + OSL_TRACE( "request %s selected", xReq->isSelected() ? "was" : "was not" ); + if( xReq->isSelected() ) { bSuccess = true; - rOutPwd = pRequest->getPassword(); + rOutPwd = xReq->getPassword(); } return bSuccess; -- cgit