1/************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 28#ifndef __com_sun_star_auth_XSSOPasswordCache_idl__ 29#define __com_sun_star_auth_XSSOPasswordCache_idl__ 30 31#ifndef __com_sun_star_uno_XInterface_idl__ 32#include <com/sun/star/uno/XInterface.idl> 33#endif 34 35#ifndef __com_sun_star_auth_SSOExceptions_idl__ 36#include <com/sun/star/auth/SSOExceptions.idl> 37#endif 38 39module com { module sun { module star { module auth { 40 41/** supports password caching for security mechanisms which use passwords as 42 credentials or as an input to credential creation but don't have 43 an external method to cache these passwords. 44 45 @since OOo 1.1.2 46 */ 47 48published interface XSSOPasswordCache : ::com::sun::star::uno::XInterface 49{ 50 /** adds a username/password combination to the cache. 51 <P> 52 If an entry for the specified username already exists in the cache, it 53 will be overwritten. 54 55 @param UserName 56 the user name to add 57 58 @param Password 59 the associated password 60 61 @param Persist 62 indicates whether or not the username/password combination should be 63 persisted 64 */ 65 void addPassword( [in] string UserName, 66 [in] string Password, 67 [in] boolean Persist ) 68 raises( InvalidArgumentException, 69 PersistenceFailureException ); 70 71 /** retrieves a password for a given user from the cache. 72 <P> 73 Non persistent cache is searched first, followed by the 74 persistent cache ( if it exists ). 75 76 @param UserName 77 the name of the user whose password should be retrieved 78 79 @param Persist 80 indicates whether or not the password is persistent 81 82 @returns 83 the required password 84 */ 85 string getPassword( [in] string UserName, [out] boolean Persist ) 86 raises( InvalidArgumentException, 87 PersistenceFailureException ); 88 89 /** removes a password from the cache 90 91 @param UserName 92 the name of the user whose password should be removed. 93 94 @param RemovePersist 95 indicates whether or not the password should also be removed, if 96 present, from persistent cache. 97 */ 98 void removePassword( [in] string UserName, [in] boolean RemovePersist ) 99 raises( InvalidArgumentException, 100 PersistenceFailureException ); 101}; 102 103}; }; }; }; 104 105#endif 106