summaryrefslogtreecommitdiff
path: root/ucbhelper/source/provider/simpleauthenticationrequest.cxx
diff options
context:
space:
mode:
authorKurt Zenker <kz@openoffice.org>2009-06-03 16:42:24 +0000
committerKurt Zenker <kz@openoffice.org>2009-06-03 16:42:24 +0000
commitcf1a66987abce026206ef2be5089847dcca1ae88 (patch)
treee9848d57cd48558bfc0a106057440c560b144a84 /ucbhelper/source/provider/simpleauthenticationrequest.cxx
parent847a872bcffc2049bc43b1318bb447f73a379c2d (diff)
CWS-TOOLING: integrate CWS tkr20
2009-05-08 08:31:10 +0200 tkr r271700 : ##i97329# fixed merge conflict during rebase 2009-05-07 08:30:15 +0200 tkr r271622 : CWS-TOOLING: rebase CWS tkr20 to trunk@271427 (milestone: DEV300:m47) 2009-04-17 14:36:42 +0200 tkr r270947 : #i73893# implemented the XCommandProcessor:Abort method 2009-03-20 14:08:15 +0100 tkr r269806 : #i96392# use $(CPU) variable to determine if openssl should build with 64 bit 2009-03-19 16:15:26 +0100 tkr r269754 : #i96392# use $(CPU) variable to determine if openssl should build with 64 bit 2009-03-19 16:09:04 +0100 tkr r269753 : #i96392# use $(CPU) variable to determine if openssl should build with 64 bit 2009-03-19 15:57:05 +0100 tkr r269752 : #i97003# Ask password container if persistent storage should be used 2009-03-19 15:53:18 +0100 tkr r269751 : #i97003# ask if password container should use the persistent storage 2009-03-19 09:08:18 +0100 tkr r269726 : #i99774# ucb: patch to silence warnings in gcc 4.4 2009-03-19 09:05:38 +0100 tkr r269725 : #i99046# remove mime-type 2009-03-19 09:04:56 +0100 tkr r269724 : #i97329# fixed truncated text on buttons 2009-03-19 09:03:50 +0100 tkr r269723 : #i97542# Warning errors in uui / empty bodys in for loops
Diffstat (limited to 'ucbhelper/source/provider/simpleauthenticationrequest.cxx')
-rw-r--r--ucbhelper/source/provider/simpleauthenticationrequest.cxx137
1 files changed, 105 insertions, 32 deletions
diff --git a/ucbhelper/source/provider/simpleauthenticationrequest.cxx b/ucbhelper/source/provider/simpleauthenticationrequest.cxx
index c70dc40db2f7..16570f7f012d 100644
--- a/ucbhelper/source/provider/simpleauthenticationrequest.cxx
+++ b/ucbhelper/source/provider/simpleauthenticationrequest.cxx
@@ -30,7 +30,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_ucbhelper.hxx"
-#include <com/sun/star/ucb/AuthenticationRequest.hpp>
+#include <com/sun/star/task/XMasterPasswordHandling.hpp>
#include <ucbhelper/simpleauthenticationrequest.hxx>
using namespace com::sun::star;
@@ -44,7 +44,7 @@ SimpleAuthenticationRequest::SimpleAuthenticationRequest(
const rtl::OUString & rPassword,
const rtl::OUString & rAccount )
{
- // Fill request...
+ // Fill request...
ucb::AuthenticationRequest aRequest;
// aRequest.Message = // OUString
// aRequest.Context = // XInterface
@@ -62,20 +62,73 @@ SimpleAuthenticationRequest::SimpleAuthenticationRequest(
if ( aRequest.HasAccount )
aRequest.Account = rAccount;
+ initialize(aRequest,
+ sal_False,
+ sal_True,
+ sal_True,
+ aRequest.HasAccount,
+ sal_False);
+}
+//=========================================================================
+SimpleAuthenticationRequest::SimpleAuthenticationRequest(
+ const rtl::OUString & rServerName,
+ const rtl::OUString & rRealm,
+ const rtl::OUString & rUserName,
+ const rtl::OUString & rPassword,
+ const rtl::OUString & rAccount,
+ const sal_Bool & bAllowPersistentStoring )
+{
+
+ // Fill request...
+ ucb::AuthenticationRequest aRequest;
+// aRequest.Message = // OUString
+// aRequest.Context = // XInterface
+ aRequest.Classification = task::InteractionClassification_ERROR;
+ aRequest.ServerName = rServerName;
+// aRequest.Diagnostic = // OUString
+ aRequest.HasRealm = ( rRealm.getLength() > 0 );
+ if ( aRequest.HasRealm )
+ aRequest.Realm = rRealm;
+ aRequest.HasUserName = sal_True;
+ aRequest.UserName = rUserName;
+ aRequest.HasPassword = sal_True;
+ aRequest.Password = rPassword;
+ aRequest.HasAccount = ( rAccount.getLength() > 0 );
+ if ( aRequest.HasAccount )
+ aRequest.Account = rAccount;
+
+ initialize(aRequest,
+ sal_False,
+ sal_True,
+ sal_True,
+ aRequest.HasAccount,
+ bAllowPersistentStoring);
+}
+
+void SimpleAuthenticationRequest::initialize(
+ ucb::AuthenticationRequest aRequest,
+ const sal_Bool & bCanSetRealm,
+ const sal_Bool & bCanSetUserName,
+ const sal_Bool & bCanSetPassword,
+ const sal_Bool & bCanSetAccount,
+ const sal_Bool & bAllowPersistentStoring )
+{
setRequest( uno::makeAny( aRequest ) );
// Fill continuations...
- uno::Sequence< ucb::RememberAuthentication > aRememberModes( 2 );
+ uno::Sequence< ucb::RememberAuthentication > aRememberModes( bAllowPersistentStoring ? 3 : 2 );
aRememberModes[ 0 ] = ucb::RememberAuthentication_NO;
aRememberModes[ 1 ] = ucb::RememberAuthentication_SESSION;
+ if (bAllowPersistentStoring)
+ aRememberModes[ 1 ] = ucb::RememberAuthentication_PERSISTENT;
m_xAuthSupplier
= new InteractionSupplyAuthentication(
this,
- sal_False, // bCanSetRealm
- sal_True, // bCanSetUserName
- sal_True, // bCanSetPassword
- aRequest.HasAccount, // bCanSetAccount
+ bCanSetRealm,
+ bCanSetUserName,
+ bCanSetPassword,
+ bCanSetAccount,
aRememberModes, // rRememberPasswordModes
ucb::RememberAuthentication_SESSION, // eDefaultRememberPasswordMode
aRememberModes, // rRememberAccountModes
@@ -123,31 +176,51 @@ SimpleAuthenticationRequest::SimpleAuthenticationRequest(
if ( aRequest.HasAccount )
aRequest.Account = rAccount;
- setRequest( uno::makeAny( aRequest ) );
-
- // Fill continuations...
- uno::Sequence< ucb::RememberAuthentication > aRememberModes( 2 );
- aRememberModes[ 0 ] = ucb::RememberAuthentication_NO;
- aRememberModes[ 1 ] = ucb::RememberAuthentication_SESSION;
-
- m_xAuthSupplier
- = new InteractionSupplyAuthentication(
- this,
- eRealmType == ENTITY_MODIFY, // bCanSetRealm
- eUserNameType == ENTITY_MODIFY, // bCanSetUserName
- ePasswordType == ENTITY_MODIFY, // bCanSetPassword
- eAccountType == ENTITY_MODIFY, // bCanSetAccount
- aRememberModes, // rRememberPasswordModes
- ucb::RememberAuthentication_SESSION, // eDefaultRememberPasswordMode
- aRememberModes, // rRememberAccountModes
- ucb::RememberAuthentication_SESSION // eDefaultRememberAccountMode
- );
+ initialize(aRequest,
+ eRealmType == ENTITY_MODIFY,
+ eUserNameType == ENTITY_MODIFY,
+ ePasswordType == ENTITY_MODIFY,
+ eAccountType == ENTITY_MODIFY,
+ sal_False);
+}
- uno::Sequence<
- uno::Reference< task::XInteractionContinuation > > aContinuations( 3 );
- aContinuations[ 0 ] = new InteractionAbort( this );
- aContinuations[ 1 ] = new InteractionRetry( this );
- aContinuations[ 2 ] = m_xAuthSupplier.get();
+//=========================================================================
+SimpleAuthenticationRequest::SimpleAuthenticationRequest(
+ const rtl::OUString & rServerName,
+ EntityType eRealmType,
+ const rtl::OUString & rRealm,
+ EntityType eUserNameType,
+ const rtl::OUString & rUserName,
+ EntityType ePasswordType,
+ const rtl::OUString & rPassword,
+ EntityType eAccountType,
+ const rtl::OUString & rAccount,
+ const sal_Bool & bAllowPersistentStoring )
+{
+ // Fill request...
+ ucb::AuthenticationRequest aRequest;
+// aRequest.Message = // OUString
+// aRequest.Context = // XInterface
+ aRequest.Classification = task::InteractionClassification_ERROR;
+ aRequest.ServerName = rServerName;
+// aRequest.Diagnostic = // OUString
+ aRequest.HasRealm = eRealmType != ENTITY_NA;
+ if ( aRequest.HasRealm )
+ aRequest.Realm = rRealm;
+ aRequest.HasUserName = eUserNameType != ENTITY_NA;
+ if ( aRequest.HasUserName )
+ aRequest.UserName = rUserName;
+ aRequest.HasPassword = ePasswordType != ENTITY_NA;
+ if ( aRequest.HasPassword )
+ aRequest.Password = rPassword;
+ aRequest.HasAccount = eAccountType != ENTITY_NA;
+ if ( aRequest.HasAccount )
+ aRequest.Account = rAccount;
- setContinuations( aContinuations );
+ initialize(aRequest,
+ eRealmType == ENTITY_MODIFY,
+ eUserNameType == ENTITY_MODIFY,
+ ePasswordType == ENTITY_MODIFY,
+ eAccountType == ENTITY_MODIFY,
+ bAllowPersistentStoring);
}