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">
6 This interface is provided by plugins providing VPN services to the NetworkManager daemon.
8 <method name="Connect">
10 Tells the plugin to connect.
12 <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_connect"/>
13 <arg name="connection" type="a{sa{sv}}" direction="in" tp:type="String_String_Variant_Map_Map">
15 Describes the connection to be established.
19 <tp:error name="org.freedesktop.NetworkManager.VPN.Error.StartingInProgress"/>
20 <tp:error name="org.freedesktop.NetworkManager.VPN.Error.AlreadyStarted"/>
21 <tp:error name="org.freedesktop.NetworkManager.VPN.Error.StoppingInProgress"/>
22 <tp:error name="org.freedesktop.NetworkManager.VPN.Error.BadArguments"/>
23 <tp:error name="org.freedesktop.NetworkManager.VPN.Error.LaunchFailed"/>
27 <method name="NeedSecrets">
29 Asks the plugin whether the provided connection will require secrets to connect successfully.
31 <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_need_secrets"/>
32 <arg name="settings" type="a{sa{sv}}" direction="in" tp:type="String_String_Variant_Map_Map">
34 Describes the connection that may need secrets.
37 <arg name="setting_name" type="s" direction="out">
39 The setting name within the provided connection that requires secrets, if any.
43 <tp:error name="org.freedesktop.NetworkManager.VPN.Error.ConnectionInvalid"/>
47 <method name="Disconnect">
49 Disconnect the plugin.
51 <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_disconnect"/>
53 <tp:error name="org.freedesktop.NetworkManager.VPN.Error.StoppingInProgress"/>
54 <tp:error name="org.freedesktop.NetworkManager.VPN.Error.AlreadyStopped"/>
58 <method name="SetIp4Config">
60 Set IPv4 details on the connection.
62 <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_set_ip4_config"/>
63 <arg name="config" type="a{sv}" direction="in" tp:type="String_Variant_Map">
65 Ip4Config details for the conneciton.
70 <method name="SetFailure">
72 Indicate a failure to the plugin.
74 <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_set_failure"/>
75 <arg name="reason" type="s" direction="in">
77 The reason for the failure.
82 <property name="State" type="u" access="read" tp:type="NM_VPN_CONNECTION_STATE">
84 The state of the plugin.
88 <signal name="StateChanged">
90 Emitted when the plugin state changes.
92 <arg name="state" type="u" tp:type="NM_VPN_CONNECTION_STATE">
94 The new state of the plugin.
99 <signal name="Ip4Config">
101 The plugin obtained an IPv4 configuration.
103 <arg name="ip4config" type="a{sv}" tp:type="String_Variant_Map">
105 The IPv4 configuration.
110 <signal name="LoginBanner">
112 Emitted when the plugin receives a login banner from the VPN service.
114 <arg name="banner" type="s">
116 The login banner string.
121 <signal name="Failure">
123 Emitted when a failure in the VPN plugin occurs.
125 <arg name="reason" type="u" tp:type="NM_VPN_PLUGIN_FAILURE">
127 Reason code for the failure.
132 <tp:enum name="NM_VPN_PLUGIN_FAILURE" type="u">
133 <tp:enumvalue suffix="LOGIN_FAILED" value="0">
138 <tp:enumvalue suffix="CONNECT_FAILED" value="1">
143 <tp:enumvalue suffix="BAD_IP_CONFIG" value="2">
145 Invalid IP configuration returned from the VPN plugin.