1 <?xml version="1.0" encoding="UTF-8" ?>
3 <node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
4 <interface name="org.freedesktop.NetworkManager.VPN.Plugin">
5 <annotation name="org.gtk.GDBus.C.Name" value="VpnPlugin"/>
7 <annotation name="org.gtk.GDBus.DocString" value="
8 This interface is provided by plugins providing VPN services to the NetworkManager daemon.
11 <method name="Connect">
12 <annotation name="org.gtk.GDBus.DocString" value="
13 Tells the plugin to connect. Interactive secrets requests (eg, emitting
14 the SecretsRequired signal) are not allowed.
16 <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_connect"/>
17 <arg name="connection" type="a{sa{sv}}" direction="in" tp:type="String_String_Variant_Map_Map">
18 <annotation name="org.gtk.GDBus.DocString" value="
19 Describes the connection to be established.
23 <tp:error name="org.freedesktop.NetworkManager.VPN.Error.StartingInProgress"/>
24 <tp:error name="org.freedesktop.NetworkManager.VPN.Error.AlreadyStarted"/>
25 <tp:error name="org.freedesktop.NetworkManager.VPN.Error.StoppingInProgress"/>
26 <tp:error name="org.freedesktop.NetworkManager.VPN.Error.BadArguments"/>
27 <tp:error name="org.freedesktop.NetworkManager.VPN.Error.LaunchFailed"/>
28 <tp:error name="org.freedesktop.NetworkManager.VPN.Error.WrongState"/>
32 <method name="ConnectInteractive">
33 <annotation name="org.gtk.GDBus.DocString" value="
34 Tells the plugin to connect, allowing interactive secrets requests (eg
35 the plugin is allowed to emit the SecretsRequired signal if the VPN
36 service indicates that it needs additional secrets during the connect
39 <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_connect_interactive"/>
40 <arg name="connection" type="a{sa{sv}}" direction="in" tp:type="String_String_Variant_Map_Map">
41 <annotation name="org.gtk.GDBus.DocString" value="
42 Describes the connection to be established.
45 <arg name="details" type="a{sv}" direction="in" tp:type="String_Variant_Map">
46 <annotation name="org.gtk.GDBus.DocString" value="
47 Additional details about the Connect process.
51 <tp:error name="org.freedesktop.NetworkManager.VPN.Error.StartingInProgress"/>
52 <tp:error name="org.freedesktop.NetworkManager.VPN.Error.AlreadyStarted"/>
53 <tp:error name="org.freedesktop.NetworkManager.VPN.Error.StoppingInProgress"/>
54 <tp:error name="org.freedesktop.NetworkManager.VPN.Error.BadArguments"/>
55 <tp:error name="org.freedesktop.NetworkManager.VPN.Error.LaunchFailed"/>
56 <tp:error name="org.freedesktop.NetworkManager.VPN.Error.WrongState"/>
57 <tp:error name="org.freedesktop.NetworkManager.VPN.Error.InteractiveNotSupported"/>
61 <method name="NeedSecrets">
62 <annotation name="org.gtk.GDBus.DocString" value="
63 Asks the plugin whether the provided connection will require secrets to connect successfully.
65 <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_need_secrets"/>
66 <arg name="settings" type="a{sa{sv}}" direction="in" tp:type="String_String_Variant_Map_Map">
67 <annotation name="org.gtk.GDBus.DocString" value="
68 Describes the connection that may need secrets.
71 <arg name="setting_name" type="s" direction="out">
72 <annotation name="org.gtk.GDBus.DocString" value="
73 The setting name within the provided connection that requires secrets, if any.
77 <tp:error name="org.freedesktop.NetworkManager.VPN.Error.ConnectionInvalid"/>
81 <method name="Disconnect">
82 <annotation name="org.gtk.GDBus.DocString" value="
83 Disconnect the plugin.
85 <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_disconnect"/>
87 <tp:error name="org.freedesktop.NetworkManager.VPN.Error.StoppingInProgress"/>
88 <tp:error name="org.freedesktop.NetworkManager.VPN.Error.AlreadyStopped"/>
92 <method name="SetConfig">
93 <annotation name="org.gtk.GDBus.DocString" value="
94 Set generic connection details on the connection.
96 <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_set_config"/>
97 <arg name="config" type="a{sv}" direction="in" tp:type="String_Variant_Map">
98 <annotation name="org.gtk.GDBus.DocString" value="
99 Generic configuration details for the connection.
104 <method name="SetIp4Config">
105 <annotation name="org.gtk.GDBus.DocString" value="
106 Set IPv4 details on the connection.
108 <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_set_ip4_config"/>
109 <arg name="config" type="a{sv}" direction="in" tp:type="String_Variant_Map">
110 <annotation name="org.gtk.GDBus.DocString" value="
111 Ip4Config details for the connection. You must call
112 SetConfig() before calling this.
117 <method name="SetIp6Config">
118 <annotation name="org.gtk.GDBus.DocString" value="
119 Set IPv6 details on the connection.
121 <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_set_ip6_config"/>
122 <arg name="config" type="a{sv}" direction="in" tp:type="String_Variant_Map">
123 <annotation name="org.gtk.GDBus.DocString" value="
124 Ip6Config details for the connection. You must call
125 SetConfig() before calling this.
130 <method name="SetFailure">
131 <annotation name="org.gtk.GDBus.DocString" value="
132 Indicate a failure to the plugin.
134 <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_set_failure"/>
135 <arg name="reason" type="s" direction="in">
136 <annotation name="org.gtk.GDBus.DocString" value="
137 The reason for the failure.
142 <property name="State" type="u" access="read" tp:type="NM_VPN_SERVICE_STATE">
143 <annotation name="org.gtk.GDBus.DocString" value="
144 The state of the plugin.
148 <signal name="StateChanged">
149 <annotation name="org.gtk.GDBus.DocString" value="
150 Emitted when the plugin state changes.
152 <arg name="state" type="u" tp:type="NM_VPN_SERVICE_STATE">
153 <annotation name="org.gtk.GDBus.DocString" value="
154 The new state of the plugin.
159 <signal name="SecretsRequired">
160 <annotation name="org.gtk.GDBus.DocString" value="
161 Emitted during an ongoing ConnectInteractive() request when the plugin
162 has determined that new secrets are required. NetworkManager will then
163 call the NewSecrets() method with a connection hash including the new
166 <arg name="message" type="s" direction="out">
167 <annotation name="org.gtk.GDBus.DocString" value="
168 Informational message, if any, about the request. For example, if
169 a second PIN is required, could indicate to the user to wait for
170 the token code to change until entering the next PIN.
173 <arg name="secrets" type="as" direction="out">
174 <annotation name="org.gtk.GDBus.DocString" value="
175 Array of strings of VPN secret names which the plugin thinks
176 secrets may be required for, or other VPN-specific data to be
177 processed by the VPN's front-end.
182 <method name="NewSecrets">
183 <annotation name="org.gtk.GDBus.DocString" value="
184 Called in response to a SecretsRequired signal to deliver updated secrets
185 or other information to the plugin.
187 <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_new_secrets"/>
188 <arg name="connection" type="a{sa{sv}}" direction="in" tp:type="String_String_Variant_Map_Map">
189 <annotation name="org.gtk.GDBus.DocString" value="
190 Describes the connection including the new secrets.
194 <tp:error name="org.freedesktop.NetworkManager.VPN.Error.WrongState"/>
195 <tp:error name="org.freedesktop.NetworkManager.VPN.Error.BadArguments"/>
196 <tp:error name="org.freedesktop.NetworkManager.VPN.Error.LaunchFailed"/>
197 <tp:error name="org.freedesktop.NetworkManager.VPN.Error.InteractiveNotSupported"/>
198 </tp:possible-errors>
201 <signal name="Config">
202 <annotation name="org.gtk.GDBus.DocString" value="
203 The plugin obtained generic configuration information.
205 <arg name="config" type="a{sv}" tp:type="String_Variant_Map">
206 <annotation name="org.gtk.GDBus.DocString" value="
207 The configuration information.
212 <signal name="Ip4Config">
213 <annotation name="org.gtk.GDBus.DocString" value="
214 The plugin obtained an IPv4 configuration.
216 <arg name="ip4config" type="a{sv}" tp:type="String_Variant_Map">
217 <annotation name="org.gtk.GDBus.DocString" value="
218 The IPv4 configuration.
223 <signal name="Ip6Config">
224 <annotation name="org.gtk.GDBus.DocString" value="
225 The plugin obtained an IPv6 configuration.
227 <arg name="ip6config" type="a{sv}" tp:type="String_Variant_Map">
228 <annotation name="org.gtk.GDBus.DocString" value="
229 The IPv6 configuration.
234 <signal name="LoginBanner">
235 <annotation name="org.gtk.GDBus.DocString" value="
236 Emitted when the plugin receives a login banner from the VPN service.
238 <arg name="banner" type="s">
239 <annotation name="org.gtk.GDBus.DocString" value="
240 The login banner string.
245 <signal name="Failure">
246 <annotation name="org.gtk.GDBus.DocString" value="
247 Emitted when a failure in the VPN plugin occurs.
249 <arg name="reason" type="u" tp:type="NM_VPN_PLUGIN_FAILURE">
250 <annotation name="org.gtk.GDBus.DocString" value="
251 Reason code for the failure.
256 <tp:enum name="NM_VPN_SERVICE_STATE" type="u">
257 <tp:enumvalue suffix="UNKNOWN" value="0">
258 <annotation name="org.gtk.GDBus.DocString" value="
259 The state of the VPN plugin is unknown.
262 <tp:enumvalue suffix="INIT" value="1">
263 <annotation name="org.gtk.GDBus.DocString" value="
264 The VPN plugin is initialized.
267 <tp:enumvalue suffix="SHUTDOWN" value="2">
268 <annotation name="org.gtk.GDBus.DocString" value="
272 <tp:enumvalue suffix="STARTING" value="3">
273 <annotation name="org.gtk.GDBus.DocString" value="
274 The plugin is attempting to connect to a VPN server.
277 <tp:enumvalue suffix="STARTED" value="4">
278 <annotation name="org.gtk.GDBus.DocString" value="
279 The plugin has connected to a VPN server.
282 <tp:enumvalue suffix="STOPPING" value="5">
283 <annotation name="org.gtk.GDBus.DocString" value="
284 The plugin is disconnecting from the VPN server.
287 <tp:enumvalue suffix="STOPPED" value="6">
288 <annotation name="org.gtk.GDBus.DocString" value="
289 The plugin has disconnected from the VPN server.
294 <tp:enum name="NM_VPN_PLUGIN_FAILURE" type="u">
295 <tp:enumvalue suffix="LOGIN_FAILED" value="0">
296 <annotation name="org.gtk.GDBus.DocString" value="
300 <tp:enumvalue suffix="CONNECT_FAILED" value="1">
301 <annotation name="org.gtk.GDBus.DocString" value="
305 <tp:enumvalue suffix="BAD_IP_CONFIG" value="2">
306 <annotation name="org.gtk.GDBus.DocString" value="
307 Invalid IP configuration returned from the VPN plugin.