/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * This file incorporates work covered by the following license notice:
 *
 *   Licensed to the Apache Software Foundation (ASF) under one or more
 *   contributor license agreements. See the NOTICE file distributed
 *   with this work for additional information regarding copyright
 *   ownership. The ASF licenses this file to you under the Apache
 *   License, Version 2.0 (the "License"); you may not use this file
 *   except in compliance with the License. You may obtain a copy of
 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 */
#ifndef __com_sun_star_task_PasswordContainer_idl__
#define __com_sun_star_task_PasswordContainer_idl__

module com {  module sun {  module star {
    module task {
        published interface XPasswordContainer2;
    };
}; }; };

module com {  module sun {  module star {  module task {
/** this service is kind of storage that allows to store passwords
    and to retrieve already stored.

    <p>
    A password can be stored for the session period or persistently.
    The persistent way is only possible if configuration allows to use storage.
    It stores passwords encrypted with a super password. An interaction
    is used to ask a user for a super password.
    To allow such an interaction, an object that implements XInteractionHandler
    interface should be provided. For this purpose InteractionHandler
    service can be used.
    </p>

    <p>
    In case no interaction handler is provided all passwords are stored
    for the session period. In case an interaction handler is provided, but
    the super password interaction does not return super password ( for any reason ),
    NoMasterException exception is thrown to let user use
    non-persistent way explicitly.
    </p>
*/
published service PasswordContainer : com::sun::star::task::XPasswordContainer2;

}; }; }; };
#endif

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
