<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
 "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">

<tp:spec xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
	<tp:title>Gnome Keyring Prompt API</tp:title>
	<tp:version>0.1 UNSTABLE</tp:version>
	<tp:copyright>Copyright (C) 2011 Collabora Ltd.</tp:copyright>

	<node name="/org/gnome/keyring/Prompter">

		<interface name="org.gnome.keyring.Prompter1">
			<tp:docstring>
				A service which handles password prompting for Gnome Keyring.
			</tp:docstring>

			<method name="DisplayPrompt">
				<tp:docstring>
					Gnome Keyring will call this method to display a prompt.
				</tp:docstring>
				<arg name="description" type="s" direction="in">
					<tp:docstring>
						User readable description of what the password is needed for.
					</tp:docstring>
				</arg>
				<arg name="warning" type="s" direction="in">
					<tp:docstring>
						Optional warning message, for example that the previously tried
						password was invalid.
					</tp:docstring>
				</arg>
				<arg name="choice_label" type="s" direction="in">
					<tp:docstring>
						Optional choice message, allowing the user to check this option.
					</tp:docstring>
				</arg>
				<arg name="choice_default" type="b" direction="in">
					<tp:docstring>
						Default value for choice message.
					</tp:docstring>
				</arg>
				<arg name="exchange" type="s" direction="in">
					<tp:docstring>
						Input string paramaters for exchange of the password.
						Use with GcrSecretExchange.
					</tp:docstring>
				</arg>
				<arg name="identifier" type="s" direction="out">
					<tp:docstring>
						A unique identifier for the prompt displayed.
					</tp:docstring>
				</arg>
			</method>

			<method name="CancelPrompt">
				<tp:docstring>
					Cancel an already displayed prompt. The PromptComplete signal
					will be fired.
				</tp:docstring>
				<arg name="identifier" type="s" direction="in">
					<tp:docstring>
						The identifier returned from DisplayPrompt.
					</tp:docstring>
				</arg>
			</method>

			<signal name="PromptComplete">
				<tp:docstring>A collection was created.</tp:docstring>
				<arg name="identifier" type="s">
					<tp:docstring>Collection that was created</tp:docstring>
				</arg>
				<arg name="proceed" type="b">
					<tp:docstring>
						When True indicates that the prompt was not cancelled
						and the dependent operation should proceed.
					</tp:docstring>
				</arg>
				<arg name="choice_selected" type="b">
					<tp:docstring>
						Whether the choice was selected by the user or not.
					</tp:docstring>
				</arg>
				<arg name="exchange" type="s">
					<tp:docstring>
						Password exchange response. Empty string if aborted.
						See GcrSecretExchange.
					</tp:docstring>
				</arg>
			</signal>

		</interface>

	</node>

</tp:spec>
