nss: upgrade to release 3.73
[LibreOffice.git] / ucbhelper / source / provider / interactionrequest.cxx
blob95ed4199426ea586a7e36804bb781e7e366798bd
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
21 /**************************************************************************
22 TODO
23 **************************************************************************
25 *************************************************************************/
26 #include <ucbhelper/interactionrequest.hxx>
28 #include <rtl/ref.hxx>
29 #include <osl/diagnose.h>
30 #include <cppuhelper/typeprovider.hxx>
31 #include <cppuhelper/queryinterface.hxx>
33 using namespace com::sun::star;
34 using namespace ucbhelper;
37 // InteractionRequest Implementation.
40 namespace ucbhelper
43 struct InteractionRequest_Impl
45 rtl::Reference< InteractionContinuation > m_xSelection;
46 css::uno::Any m_aRequest;
47 css::uno::Sequence<
48 css::uno::Reference<
49 css::task::XInteractionContinuation > > m_aContinuations;
51 InteractionRequest_Impl() {}
52 explicit InteractionRequest_Impl( const uno::Any & rRequest )
53 : m_aRequest( rRequest ) {}
59 InteractionRequest::InteractionRequest()
60 : m_pImpl( new InteractionRequest_Impl )
65 InteractionRequest::InteractionRequest( const uno::Any & rRequest )
66 : m_pImpl( new InteractionRequest_Impl( rRequest ) )
71 // virtual
72 InteractionRequest::~InteractionRequest()
77 void InteractionRequest::setRequest( const uno::Any & rRequest )
79 m_pImpl->m_aRequest = rRequest;
83 void InteractionRequest::setContinuations(
84 const uno::Sequence< uno::Reference<
85 task::XInteractionContinuation > > & rContinuations )
87 m_pImpl->m_aContinuations = rContinuations;
91 rtl::Reference< InteractionContinuation > const &
92 InteractionRequest::getSelection() const
94 return m_pImpl->m_xSelection;
98 void InteractionRequest::setSelection(
99 const rtl::Reference< InteractionContinuation > & rxSelection )
101 m_pImpl->m_xSelection = rxSelection;
105 // XInterface methods.
108 // XInteractionRequest methods.
111 // virtual
112 uno::Any SAL_CALL InteractionRequest::getRequest()
114 return m_pImpl->m_aRequest;
118 // virtual
119 uno::Sequence< uno::Reference< task::XInteractionContinuation > > SAL_CALL
120 InteractionRequest::getContinuations()
122 return m_pImpl->m_aContinuations;
126 // InteractionContinuation Implementation.
129 InteractionContinuation::InteractionContinuation(
130 InteractionRequest * pRequest )
131 : m_pRequest( pRequest )
136 // virtual
137 InteractionContinuation::~InteractionContinuation()
142 void InteractionContinuation::recordSelection()
144 m_pRequest->setSelection( this );
148 // InteractionAbort Implementation.
151 // XInterface methods.
154 // virtual
155 uno::Any SAL_CALL
156 InteractionAbort::queryInterface( const uno::Type & rType )
158 uno::Any aRet = cppu::queryInterface( rType,
159 static_cast< lang::XTypeProvider * >( this ),
160 static_cast< task::XInteractionContinuation * >( this ),
161 static_cast< task::XInteractionAbort * >( this ) );
163 return aRet.hasValue()
164 ? aRet : InteractionContinuation::queryInterface( rType );
168 // XTypeProvider methods.
171 // virtual
172 uno::Sequence< sal_Int8 > SAL_CALL InteractionAbort::getImplementationId()
174 return css::uno::Sequence<sal_Int8>();
178 // virtual
179 uno::Sequence< uno::Type > SAL_CALL InteractionAbort::getTypes()
181 static cppu::OTypeCollection s_aCollection(
182 cppu::UnoType<lang::XTypeProvider>::get(),
183 cppu::UnoType<task::XInteractionAbort>::get() );
185 return s_aCollection.getTypes();
189 // XInteractionContinuation methods.
192 // virtual
193 void SAL_CALL InteractionAbort::select()
195 recordSelection();
199 // InteractionRetry Implementation.
202 // XInterface methods.
205 // virtual
206 uno::Any SAL_CALL
207 InteractionRetry::queryInterface( const uno::Type & rType )
209 uno::Any aRet = cppu::queryInterface( rType,
210 static_cast< lang::XTypeProvider * >( this ),
211 static_cast< task::XInteractionContinuation * >( this ),
212 static_cast< task::XInteractionRetry * >( this ) );
214 return aRet.hasValue()
215 ? aRet : InteractionContinuation::queryInterface( rType );
219 // XTypeProvider methods.
222 // virtual
223 uno::Sequence< sal_Int8 > SAL_CALL InteractionRetry::getImplementationId()
225 return css::uno::Sequence<sal_Int8>();
229 // virtual
230 uno::Sequence< uno::Type > SAL_CALL InteractionRetry::getTypes()
232 static cppu::OTypeCollection s_aCollection(
233 cppu::UnoType<lang::XTypeProvider>::get(),
234 cppu::UnoType<task::XInteractionRetry>::get() );
236 return s_aCollection.getTypes();
240 // XInteractionContinuation methods.
243 // virtual
244 void SAL_CALL InteractionRetry::select()
246 recordSelection();
250 // InteractionApprove Implementation.
253 // XInterface methods.
256 // virtual
257 uno::Any SAL_CALL
258 InteractionApprove::queryInterface( const uno::Type & rType )
260 uno::Any aRet = cppu::queryInterface( rType,
261 static_cast< lang::XTypeProvider * >( this ),
262 static_cast< task::XInteractionContinuation * >( this ),
263 static_cast< task::XInteractionApprove * >( this ) );
265 return aRet.hasValue()
266 ? aRet : InteractionContinuation::queryInterface( rType );
270 // XTypeProvider methods.
273 // virtual
274 uno::Sequence< sal_Int8 > SAL_CALL InteractionApprove::getImplementationId()
276 return css::uno::Sequence<sal_Int8>();
280 // virtual
281 uno::Sequence< uno::Type > SAL_CALL InteractionApprove::getTypes()
283 static cppu::OTypeCollection s_aCollection(
284 cppu::UnoType<lang::XTypeProvider>::get(),
285 cppu::UnoType<task::XInteractionApprove>::get() );
287 return s_aCollection.getTypes();
291 // XInteractionContinuation methods.
294 // virtual
295 void SAL_CALL InteractionApprove::select()
297 recordSelection();
301 // InteractionDisapprove Implementation.
304 // XInterface methods.
307 // virtual
308 uno::Any SAL_CALL
309 InteractionDisapprove::queryInterface( const uno::Type & rType )
311 uno::Any aRet = cppu::queryInterface( rType,
312 static_cast< lang::XTypeProvider * >( this ),
313 static_cast< task::XInteractionContinuation * >( this ),
314 static_cast< task::XInteractionDisapprove * >( this ) );
316 return aRet.hasValue()
317 ? aRet : InteractionContinuation::queryInterface( rType );
321 // XTypeProvider methods.
324 // virtual
325 uno::Sequence< sal_Int8 > SAL_CALL InteractionDisapprove::getImplementationId()
327 return css::uno::Sequence<sal_Int8>();
331 // virtual
332 uno::Sequence< uno::Type > SAL_CALL InteractionDisapprove::getTypes()
334 static cppu::OTypeCollection s_aCollection(
335 cppu::UnoType<lang::XTypeProvider>::get(),
336 cppu::UnoType<task::XInteractionDisapprove>::get() );
338 return s_aCollection.getTypes();
342 // XInteractionContinuation methods.
345 // virtual
346 void SAL_CALL InteractionDisapprove::select()
348 recordSelection();
352 // InteractionSupplyAuthentication Implementation.
355 // XInterface methods.
358 // virtual
359 uno::Any SAL_CALL
360 InteractionSupplyAuthentication::queryInterface( const uno::Type & rType )
362 uno::Any aRet = cppu::queryInterface( rType,
363 static_cast< lang::XTypeProvider * >( this ),
364 static_cast< task::XInteractionContinuation * >( this ),
365 static_cast< ucb::XInteractionSupplyAuthentication * >( this ),
366 static_cast< ucb::XInteractionSupplyAuthentication2 * >( this ));
368 return aRet.hasValue()
369 ? aRet : InteractionContinuation::queryInterface( rType );
373 // XTypeProvider methods.
376 // virtual
377 uno::Sequence< sal_Int8 > SAL_CALL
378 InteractionSupplyAuthentication::getImplementationId()
380 return css::uno::Sequence<sal_Int8>();
384 // virtual
385 uno::Sequence< uno::Type > SAL_CALL InteractionSupplyAuthentication::getTypes()
387 static cppu::OTypeCollection s_aCollection(
388 cppu::UnoType<lang::XTypeProvider>::get(),
389 cppu::UnoType<ucb::XInteractionSupplyAuthentication2>::get() );
391 return s_aCollection.getTypes();
395 // XInteractionContinuation methods.
398 // virtual
399 void SAL_CALL InteractionSupplyAuthentication::select()
401 recordSelection();
405 // XInteractionSupplyAuthentication methods.
408 // virtual
409 sal_Bool SAL_CALL
410 InteractionSupplyAuthentication::canSetRealm()
412 return m_bCanSetRealm;
416 // virtual
417 void SAL_CALL
418 InteractionSupplyAuthentication::setRealm( const OUString& Realm )
420 OSL_ENSURE( m_bCanSetPassword,
421 "InteractionSupplyAuthentication::setRealm - Not supported!" );
423 if ( m_bCanSetRealm )
424 m_aRealm = Realm;
428 // virtual
429 sal_Bool SAL_CALL
430 InteractionSupplyAuthentication::canSetUserName()
432 return m_bCanSetUserName;
436 // virtual
437 void SAL_CALL
438 InteractionSupplyAuthentication::setUserName( const OUString& UserName )
440 OSL_ENSURE( m_bCanSetUserName,
441 "InteractionSupplyAuthentication::setUserName - Not supported!" );
443 if ( m_bCanSetUserName )
444 m_aUserName = UserName;
448 // virtual
449 sal_Bool SAL_CALL
450 InteractionSupplyAuthentication::canSetPassword()
452 return m_bCanSetPassword;
456 // virtual
457 void SAL_CALL
458 InteractionSupplyAuthentication::setPassword( const OUString& Password )
460 OSL_ENSURE( m_bCanSetPassword,
461 "InteractionSupplyAuthentication::setPassword - Not supported!" );
463 if ( m_bCanSetPassword )
464 m_aPassword = Password;
468 // virtual
469 uno::Sequence< ucb::RememberAuthentication > SAL_CALL
470 InteractionSupplyAuthentication::getRememberPasswordModes(
471 ucb::RememberAuthentication& Default )
473 Default = m_eDefaultRememberPasswordMode;
474 return m_aRememberPasswordModes;
478 // virtual
479 void SAL_CALL
480 InteractionSupplyAuthentication::setRememberPassword(
481 ucb::RememberAuthentication Remember )
483 m_eRememberPasswordMode = Remember;
487 // virtual
488 sal_Bool SAL_CALL
489 InteractionSupplyAuthentication::canSetAccount()
491 return m_bCanSetAccount;
495 // virtual
496 void SAL_CALL
497 InteractionSupplyAuthentication::setAccount( const OUString& /*Account*/ )
499 OSL_ENSURE( m_bCanSetAccount,
500 "InteractionSupplyAuthentication::setAccount - Not supported!" );
504 // virtual
505 uno::Sequence< ucb::RememberAuthentication > SAL_CALL
506 InteractionSupplyAuthentication::getRememberAccountModes(
507 ucb::RememberAuthentication& Default )
509 Default = m_eDefaultRememberAccountMode;
510 return m_aRememberAccountModes;
514 // virtual
515 void SAL_CALL InteractionSupplyAuthentication::setRememberAccount(
516 ucb::RememberAuthentication )
521 // XInteractionSupplyAuthentication2 methods.
524 // virtual
525 sal_Bool SAL_CALL
526 InteractionSupplyAuthentication::canUseSystemCredentials(
527 sal_Bool& Default )
529 Default = false;
530 return m_bCanUseSystemCredentials;
534 // virtual
535 void SAL_CALL InteractionSupplyAuthentication::setUseSystemCredentials(
536 sal_Bool UseSystemCredentials )
538 if ( m_bCanUseSystemCredentials )
539 m_bUseSystemCredentials = UseSystemCredentials;
543 // InteractionReplaceExistingData Implementation.
546 // XInterface methods.
549 // virtual
550 uno::Any SAL_CALL
551 InteractionReplaceExistingData::queryInterface( const uno::Type & rType )
553 uno::Any aRet = cppu::queryInterface( rType,
554 static_cast< lang::XTypeProvider * >( this ),
555 static_cast< task::XInteractionContinuation * >( this ),
556 static_cast< ucb::XInteractionReplaceExistingData * >( this ) );
558 return aRet.hasValue()
559 ? aRet : InteractionContinuation::queryInterface( rType );
563 // XTypeProvider methods.
566 // virtual
567 uno::Sequence< sal_Int8 > SAL_CALL
568 InteractionReplaceExistingData::getImplementationId()
570 return css::uno::Sequence<sal_Int8>();
574 // virtual
575 uno::Sequence< uno::Type > SAL_CALL InteractionReplaceExistingData::getTypes()
577 static cppu::OTypeCollection s_aCollection(
578 cppu::UnoType<lang::XTypeProvider>::get(),
579 cppu::UnoType<ucb::XInteractionReplaceExistingData>::get() );
581 return s_aCollection.getTypes();
585 // XInteractionContinuation methods.
588 // virtual
589 void SAL_CALL InteractionReplaceExistingData::select()
591 recordSelection();
594 // InteractionAuthFallback Implementation
596 // XInterface methods.
598 // virtual
599 uno::Any SAL_CALL
600 InteractionAuthFallback::queryInterface( const uno::Type & rType )
602 uno::Any aRet = cppu::queryInterface( rType,
603 static_cast< task::XInteractionContinuation * >( this ),
604 static_cast< ucb::XInteractionAuthFallback * >( this ));
606 return aRet.hasValue()
607 ? aRet : InteractionContinuation::queryInterface( rType );
610 // XInteractionContinuation methods.
612 // virtual
613 void SAL_CALL InteractionAuthFallback::select()
615 recordSelection();
618 // XInteractionAuthFallback methods
620 // virtual
621 void SAL_CALL InteractionAuthFallback::setCode( const OUString& code )
623 m_aCode = code;
626 const OUString& InteractionAuthFallback::getCode() const
628 return m_aCode;
631 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */