LibreOffice Module ucbhelper (master) 1
interactionrequest.cxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
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/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
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 .
18 */
19
21
22#include <rtl/ref.hxx>
23#include <osl/diagnose.h>
26#include <utility>
27
28using namespace com::sun::star;
29using namespace ucbhelper;
30
31
32// InteractionRequest Implementation.
33
34
35namespace ucbhelper
36{
37
39{
41 css::uno::Any m_aRequest;
42 css::uno::Sequence<
43 css::uno::Reference<
44 css::task::XInteractionContinuation > > m_aContinuations;
45
47 explicit InteractionRequest_Impl( uno::Any aRequest )
48 : m_aRequest(std::move( aRequest )) {}
49};
50
51}
52
53
54InteractionRequest::InteractionRequest()
56{
57}
58
59
61: m_pImpl( new InteractionRequest_Impl( rRequest ) )
62{
63}
64
65
66// virtual
68{
69}
70
71
72void InteractionRequest::setRequest( const uno::Any & rRequest )
73{
74 m_pImpl->m_aRequest = rRequest;
75}
76
77
79 const uno::Sequence< uno::Reference<
80 task::XInteractionContinuation > > & rContinuations )
81{
82 m_pImpl->m_aContinuations = rContinuations;
83}
84
85
88{
89 return m_pImpl->m_xSelection;
90}
91
92
95{
96 m_pImpl->m_xSelection = rxSelection;
97}
98
99
100// XInterface methods.
101
102
103// XInteractionRequest methods.
104
105
106// virtual
108{
109 return m_pImpl->m_aRequest;
110}
111
112
113// virtual
114uno::Sequence< uno::Reference< task::XInteractionContinuation > > SAL_CALL
116{
117 return m_pImpl->m_aContinuations;
118}
119
120
121// InteractionContinuation Implementation.
122
123
125 InteractionRequest * pRequest )
126: m_pRequest( pRequest )
127{
128}
129
130
131// virtual
133{
134}
135
136
138{
139 m_pRequest->setSelection( this );
140}
141
142
143// InteractionAbort Implementation.
144
145
146// XInterface methods.
147
148
149// virtual
150uno::Any SAL_CALL
152{
153 uno::Any aRet = cppu::queryInterface( rType,
154 static_cast< lang::XTypeProvider * >( this ),
155 static_cast< task::XInteractionContinuation * >( this ),
156 static_cast< task::XInteractionAbort * >( this ) );
157
158 return aRet.hasValue()
160}
161
162
163// XTypeProvider methods.
164
165
166// virtual
167uno::Sequence< sal_Int8 > SAL_CALL InteractionAbort::getImplementationId()
168{
169 return css::uno::Sequence<sal_Int8>();
170}
171
172
173// virtual
174uno::Sequence< uno::Type > SAL_CALL InteractionAbort::getTypes()
175{
176 static cppu::OTypeCollection s_aCollection(
179
180 return s_aCollection.getTypes();
181}
182
183
184// XInteractionContinuation methods.
185
186
187// virtual
189{
191}
192
193
194// InteractionRetry Implementation.
195
196
197// XInterface methods.
198
199
200// virtual
201uno::Any SAL_CALL
203{
204 uno::Any aRet = cppu::queryInterface( rType,
205 static_cast< lang::XTypeProvider * >( this ),
206 static_cast< task::XInteractionContinuation * >( this ),
207 static_cast< task::XInteractionRetry * >( this ) );
208
209 return aRet.hasValue()
211}
212
213
214// XTypeProvider methods.
215
216
217// virtual
218uno::Sequence< sal_Int8 > SAL_CALL InteractionRetry::getImplementationId()
219{
220 return css::uno::Sequence<sal_Int8>();
221}
222
223
224// virtual
225uno::Sequence< uno::Type > SAL_CALL InteractionRetry::getTypes()
226{
227 static cppu::OTypeCollection s_aCollection(
230
231 return s_aCollection.getTypes();
232}
233
234
235// XInteractionContinuation methods.
236
237
238// virtual
240{
242}
243
244
245// InteractionApprove Implementation.
246
247
248// XInterface methods.
249
250
251// virtual
252uno::Any SAL_CALL
254{
255 uno::Any aRet = cppu::queryInterface( rType,
256 static_cast< lang::XTypeProvider * >( this ),
257 static_cast< task::XInteractionContinuation * >( this ),
258 static_cast< task::XInteractionApprove * >( this ) );
259
260 return aRet.hasValue()
262}
263
264
265// XTypeProvider methods.
266
267
268// virtual
269uno::Sequence< sal_Int8 > SAL_CALL InteractionApprove::getImplementationId()
270{
271 return css::uno::Sequence<sal_Int8>();
272}
273
274
275// virtual
276uno::Sequence< uno::Type > SAL_CALL InteractionApprove::getTypes()
277{
278 static cppu::OTypeCollection s_aCollection(
281
282 return s_aCollection.getTypes();
283}
284
285
286// XInteractionContinuation methods.
287
288
289// virtual
291{
293}
294
295
296// InteractionDisapprove Implementation.
297
298
299// XInterface methods.
300
301
302// virtual
303uno::Any SAL_CALL
305{
306 uno::Any aRet = cppu::queryInterface( rType,
307 static_cast< lang::XTypeProvider * >( this ),
308 static_cast< task::XInteractionContinuation * >( this ),
309 static_cast< task::XInteractionDisapprove * >( this ) );
310
311 return aRet.hasValue()
313}
314
315
316// XTypeProvider methods.
317
318
319// virtual
320uno::Sequence< sal_Int8 > SAL_CALL InteractionDisapprove::getImplementationId()
321{
322 return css::uno::Sequence<sal_Int8>();
323}
324
325
326// virtual
327uno::Sequence< uno::Type > SAL_CALL InteractionDisapprove::getTypes()
328{
329 static cppu::OTypeCollection s_aCollection(
332
333 return s_aCollection.getTypes();
334}
335
336
337// XInteractionContinuation methods.
338
339
340// virtual
342{
344}
345
346
347// InteractionSupplyAuthentication Implementation.
348
349
350// XInterface methods.
351
352
353// virtual
354uno::Any SAL_CALL
356{
357 uno::Any aRet = cppu::queryInterface( rType,
358 static_cast< lang::XTypeProvider * >( this ),
359 static_cast< task::XInteractionContinuation * >( this ),
360 static_cast< ucb::XInteractionSupplyAuthentication * >( this ),
361 static_cast< ucb::XInteractionSupplyAuthentication2 * >( this ));
362
363 return aRet.hasValue()
365}
366
367
368// XTypeProvider methods.
369
370
371// virtual
372uno::Sequence< sal_Int8 > SAL_CALL
374{
375 return css::uno::Sequence<sal_Int8>();
376}
377
378
379// virtual
380uno::Sequence< uno::Type > SAL_CALL InteractionSupplyAuthentication::getTypes()
381{
382 static cppu::OTypeCollection s_aCollection(
385
386 return s_aCollection.getTypes();
387}
388
389
390// XInteractionContinuation methods.
391
392
393// virtual
395{
397}
398
399
400// XInteractionSupplyAuthentication methods.
401
402
403// virtual
404sal_Bool SAL_CALL
406{
407 return m_bCanSetRealm;
408}
409
410
411// virtual
412void SAL_CALL
414{
415 OSL_ENSURE( m_bCanSetPassword,
416 "InteractionSupplyAuthentication::setRealm - Not supported!" );
417
418 if ( m_bCanSetRealm )
419 m_aRealm = Realm;
420}
421
422
423// virtual
424sal_Bool SAL_CALL
426{
427 return m_bCanSetUserName;
428}
429
430
431// virtual
432void SAL_CALL
434{
435 OSL_ENSURE( m_bCanSetUserName,
436 "InteractionSupplyAuthentication::setUserName - Not supported!" );
437
438 if ( m_bCanSetUserName )
439 m_aUserName = UserName;
440}
441
442
443// virtual
444sal_Bool SAL_CALL
446{
447 return m_bCanSetPassword;
448}
449
450
451// virtual
452void SAL_CALL
454{
455 OSL_ENSURE( m_bCanSetPassword,
456 "InteractionSupplyAuthentication::setPassword - Not supported!" );
457
458 if ( m_bCanSetPassword )
460}
461
462
463// virtual
464uno::Sequence< ucb::RememberAuthentication > SAL_CALL
466 ucb::RememberAuthentication& Default )
467{
470}
471
472
473// virtual
474void SAL_CALL
476 ucb::RememberAuthentication Remember )
477{
478 m_eRememberPasswordMode = Remember;
479}
480
481
482// virtual
483sal_Bool SAL_CALL
485{
486 return m_bCanSetAccount;
487}
488
489
490// virtual
491void SAL_CALL
493{
494 OSL_ENSURE( m_bCanSetAccount,
495 "InteractionSupplyAuthentication::setAccount - Not supported!" );
496}
497
498
499// virtual
500uno::Sequence< ucb::RememberAuthentication > SAL_CALL
502 ucb::RememberAuthentication& Default )
503{
506}
507
508
509// virtual
511 ucb::RememberAuthentication )
512{
513}
514
515
516// XInteractionSupplyAuthentication2 methods.
517
518
519// virtual
520sal_Bool SAL_CALL
522 sal_Bool& Default )
523{
524 Default = false;
526}
527
528
529// virtual
531 sal_Bool UseSystemCredentials )
532{
534 m_bUseSystemCredentials = UseSystemCredentials;
535}
536
537
538// InteractionReplaceExistingData Implementation.
539
540
541// XInterface methods.
542
543
544// virtual
545uno::Any SAL_CALL
547{
548 uno::Any aRet = cppu::queryInterface( rType,
549 static_cast< lang::XTypeProvider * >( this ),
550 static_cast< task::XInteractionContinuation * >( this ),
551 static_cast< ucb::XInteractionReplaceExistingData * >( this ) );
552
553 return aRet.hasValue()
555}
556
557
558// XTypeProvider methods.
559
560
561// virtual
562uno::Sequence< sal_Int8 > SAL_CALL
564{
565 return css::uno::Sequence<sal_Int8>();
566}
567
568
569// virtual
570uno::Sequence< uno::Type > SAL_CALL InteractionReplaceExistingData::getTypes()
571{
572 static cppu::OTypeCollection s_aCollection(
575
576 return s_aCollection.getTypes();
577}
578
579
580// XInteractionContinuation methods.
581
582
583// virtual
585{
587}
588
589// InteractionAuthFallback Implementation
590
591// XInterface methods.
592
593// virtual
594uno::Any SAL_CALL
596{
597 uno::Any aRet = cppu::queryInterface( rType,
598 static_cast< task::XInteractionContinuation * >( this ),
599 static_cast< ucb::XInteractionAuthFallback * >( this ));
600
601 return aRet.hasValue()
603}
604
605// XInteractionContinuation methods.
606
607// virtual
609{
611}
612
613// XInteractionAuthFallback methods
614
615// virtual
616void SAL_CALL InteractionAuthFallback::setCode( const OUString& code )
617{
618 m_aCode = code;
619}
620
621const OUString& InteractionAuthFallback::getCode() const
622{
623 return m_aCode;
624}
625
626/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
::std::unique_ptr< XmlIdRegistry_Impl > m_pImpl
css::uno::Sequence< css::uno::Type > SAL_CALL getTypes()
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) SAL_OVERRIDE
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
virtual void SAL_CALL select() override
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) override
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
virtual void SAL_CALL select() override
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) override
virtual void SAL_CALL select() override
virtual void SAL_CALL setCode(const OUString &code) override
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) override
InteractionContinuation(InteractionRequest *pRequest)
void recordSelection()
This method marks this continuation as "selected" at the request it belongs to.
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) override
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
virtual void SAL_CALL select() override
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) override
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
virtual void SAL_CALL select() override
void setSelection(const rtl::Reference< InteractionContinuation > &rxSelection)
This method sets a continuation for the request.
rtl::Reference< InteractionContinuation > const & getSelection() const
After passing this request to XInteractionHandler::handle, this method returns the continuation that ...
void setRequest(const css::uno::Any &rRequest)
virtual css::uno::Sequence< css::uno::Reference< css::task::XInteractionContinuation > > SAL_CALL getContinuations() override
virtual ~InteractionRequest() override
void setContinuations(const css::uno::Sequence< css::uno::Reference< css::task::XInteractionContinuation > > &rContinuations)
This method sets the continuations for the request.
std::unique_ptr< InteractionRequest_Impl > m_pImpl
virtual css::uno::Any SAL_CALL getRequest() override
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
virtual void SAL_CALL select() override
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) override
virtual void SAL_CALL setPassword(const OUString &Password) override
virtual sal_Bool SAL_CALL canSetAccount() override
css::uno::Sequence< css::ucb::RememberAuthentication > m_aRememberAccountModes
virtual sal_Bool SAL_CALL canSetUserName() override
virtual sal_Bool SAL_CALL canUseSystemCredentials(sal_Bool &Default) override
virtual sal_Bool SAL_CALL canSetPassword() override
virtual void SAL_CALL setRealm(const OUString &Realm) override
virtual void SAL_CALL select() override
virtual css::uno::Sequence< css::ucb::RememberAuthentication > SAL_CALL getRememberAccountModes(css::ucb::RememberAuthentication &Default) override
virtual void SAL_CALL setAccount(const OUString &Account) override
css::ucb::RememberAuthentication m_eDefaultRememberAccountMode
virtual void SAL_CALL setUseSystemCredentials(sal_Bool UseSystemCredentials) override
virtual sal_Bool SAL_CALL canSetRealm() override
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) override
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
virtual void SAL_CALL setRememberAccount(css::ucb::RememberAuthentication Remember) override
virtual void SAL_CALL setUserName(const OUString &UserName) override
css::uno::Sequence< css::ucb::RememberAuthentication > m_aRememberPasswordModes
virtual void SAL_CALL setRememberPassword(css::ucb::RememberAuthentication Remember) override
css::ucb::RememberAuthentication m_eRememberPasswordMode
css::ucb::RememberAuthentication m_eDefaultRememberPasswordMode
virtual css::uno::Sequence< css::ucb::RememberAuthentication > SAL_CALL getRememberPasswordModes(css::ucb::RememberAuthentication &Default) override
css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType, Interface1 *p1)
sal_Unicode code
rtl::Reference< InteractionContinuation > m_xSelection
css::uno::Sequence< css::uno::Reference< css::task::XInteractionContinuation > > m_aContinuations
bool hasValue()
unsigned char sal_Bool