1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
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 .
19 #ifndef __com_sun_star_task_XPasswordContainer_idl__
20 #define __com_sun_star_task_XPasswordContainer_idl__
22 #include
<com
/sun
/star
/uno
/XInterface.idl
>
23 #include
<com
/sun
/star
/task
/UrlRecord.idl
>
24 #include
<com
/sun
/star
/task
/XInteractionHandler.idl
>
28 module com
{ module sun
{ module star
{ module task
{
30 /** Allows to save passwords with URL-pattern, to use them later.
32 published
interface XPasswordContainer
: com
::sun
::star
::uno
::XInterface
34 /** Save passwords in to the container.
36 @param Url URL-pattern, that will be used later to retrieve
39 @param UserName The username.
41 @param Passwords The password-list.
43 @param Handler The handler to get super password to en/decrypt passwords
47 void add
( [in] string Url
, [in] string UserName
, [in] sequence
<string> Passwords
, [in] XInteractionHandler Handler
);
49 /** Save passwords in to the container, and store them in the file.
51 @param Url URL-pattern, that will be used later to retrieve
54 @param UserName The username.
56 @param Passwords The password-list.
58 @param Handler The handler to get super password to en/decrypt passwords
62 void addPersistent
( [in] string Url
, [in] string UserName
, [in] sequence
<string> Passwords
, [in] XInteractionHandler Handler
);
64 /** Find users with passwords for the url pattern.
66 @param Url URL-pattern to retrieve password for.
68 @param Handler The handler to get super password to en/decrypt passwords
70 @returns Best matched url-pattern with user-records list.
72 UrlRecord find
( [in] string Url
, [in] XInteractionHandler Handler
);
74 /** Find passwords for the url pattern and username.
76 @param Url URL-pattern to retrieve passwords for.
78 @param UserName Username to retrieve passwords for.
80 @param Handler The handler to get super password to en/decrypt passwords
82 @returns Best matched url-pattern for the username.
84 UrlRecord findForName
( [in] string Url
, [in] string UserName
, [in] XInteractionHandler Handler
);
86 /** Remove passwords for the url pattern and username.
88 @param Url URL-pattern to remove passwords for.
90 @param UserName Username to remove passwords for.
93 void remove
( [in] string Url
, [in] string UserName
);
96 /** Remove passwords for the url pattern and username from the file.
98 @param Url URL-pattern to remove passwords for.
100 @param UserName Username to remove passwords for.
103 void removePersistent
( [in] string Url
, [in] string UserName
);
107 void removeAllPersistent
();
109 /** Get all records from the file.
111 @returns List of url-records.
113 sequence
<UrlRecord
> getAllPersistent
( [in] XInteractionHandler Handler
);
122 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */