Copyright © 2011 Collabora Limited

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

(draft 1)

A channel interface for SASL authentication channels that can save the credentials in the connection manager.

This interface is unlikely to be present for any SASL channels that are more complex than a simple password prompt (e.g. X-TELEPATHY-PASSWORD or PLAIN).

In practice, this interface should only be implemented by connection managers that implement the ConnectionManager.Interface.AccountStorage.DRAFT interface. To clear a password that has been saved in this manner, a client should call AccountStorage.DRAFT.ForgetCredentials on the Account.

Whether to store the authentication credentials.

This method tells the connection manager whether to store the authentication response in order to allow the connection manager to sign-on automatically in the future.

If credentials have been stored in this way, the client SHOULD NOT attempt to store the credentials locally in a keyring.

This method MUST be called before AcceptSASL is called or it will have no effect.