summaryrefslogtreecommitdiff
path: root/gcr/org.gnome.keyring.Prompter.xml
blob: 5e68ed8e90d7ea05b6e6444cb97368afae5de606 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
 "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">

<node>
	<!-- 
	 * WARNING: This is an internal interface, and not a public API. It
	 * can change between releases.
	 *
	 * This can be viewed as an interface for remoting the GcrPrompt
	 * interface.
	 *
	 * We use a callback interface exported from the prompting client.
	 * The prompter calls this rather than emit signals. It does this so
	 * that the prompter can be aware if the client returns errors or is
	 * no longer around.
	-->

	<interface name="org.gnome.keyring.internal.Prompter">
		<!-- 
		 * Prompts first call BeginPrompting() with the path that. This
		 * returns immediately. The prompter then calls PromptReady()
		 * on the callback when it's ready for that client prompt to
		 * start showing prompts.
		-->
		<method name="BeginPrompting">
			<!-- DBus path to the client prompt callback -->
			<arg name="callback" type="o" direction="in"/>
		</method>

		<!--
		 * Called by client prompts to actually show a prompt. This can
		 * only be called after the prompter calls PromptReady() on
		 * the callback.
		 *
		 * This returns immediately, and PromptReady() will be called
		 * on the callback when the prompt completes.
		-->
		<method name="PerformPrompt">
			<!-- DBus path to the client prompt callback -->
			<arg name="callback" type="o" direction="in"/>

			<!-- Type of prompt: 'password' or 'confirm' -->
			<arg name="type" type="s" direction="in"/>

			<!-- GcrPrompt properties which changed since last prompt -->
			<arg name="properties" type="a{sv}" direction="in"/>

			<!-- GcrSecretExchange output from client -->
			<arg name="exchange" type="s" direction="in"/>
		</method>

		<!--
		 * Called by client prompts to stop prompting. If a prompt is
		 * currently being displayed then it will be cancelled as if
		 * the user cancelled it.
		 *
		 * Will call PromptDone() on the client callback.
		-->
		<method name="StopPrompting">
			<!-- DBus path to the client prompt callback -->
			<arg name="callback" type="o" direction="in"/>
		</method>
	</interface>

	<!-- Called when ready to prompt or a prompt completes -->
	<interface name="org.gnome.keyring.internal.Prompter.Callback">

		<!--
		 * Called by the prompter when ready to show a prompt. This
		 * occurs when the prompter is ready for the first prompt,
		 * and also after prompts complete.
		-->
		<method name="PromptReady">
			<arg name="reply" type="s" direction="in"/>
			<arg name="properties" type="a{sv}" direction="in"/>
			<arg name="exchange" type="s" direction="in"/>
		</method>

		<!--
		 * Called when the prompter stops prompting for this callback
		-->
		<method name="PromptDone">
		</method>
	</interface>
</node>