diff options
Diffstat (limited to 'introspection/nm-vpn-plugin.xml')
-rw-r--r-- | introspection/nm-vpn-plugin.xml | 76 |
1 files changed, 75 insertions, 1 deletions
diff --git a/introspection/nm-vpn-plugin.xml b/introspection/nm-vpn-plugin.xml index 5fb11622a..07397c2b9 100644 --- a/introspection/nm-vpn-plugin.xml +++ b/introspection/nm-vpn-plugin.xml @@ -5,9 +5,11 @@ <tp:docstring> This interface is provided by plugins providing VPN services to the NetworkManager daemon. </tp:docstring> + <method name="Connect"> <tp:docstring> - Tells the plugin to connect. + Tells the plugin to connect. Interactive secrets requests (eg, emitting + the SecretsRequired signal) are not allowed. </tp:docstring> <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_connect"/> <arg name="connection" type="a{sa{sv}}" direction="in" tp:type="String_String_Variant_Map_Map"> @@ -21,6 +23,36 @@ <tp:error name="org.freedesktop.NetworkManager.VPN.Error.StoppingInProgress"/> <tp:error name="org.freedesktop.NetworkManager.VPN.Error.BadArguments"/> <tp:error name="org.freedesktop.NetworkManager.VPN.Error.LaunchFailed"/> + <tp:error name="org.freedesktop.NetworkManager.VPN.Error.WrongState"/> + </tp:possible-errors> + </method> + + <method name="ConnectInteractive"> + <tp:docstring> + Tells the plugin to connect, allowing interactive secrets requests (eg + the plugin is allowed to emit the SecretsRequired signal if the VPN + service indicates that it needs additional secrets during the connect + process). + </tp:docstring> + <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_connect_interactive"/> + <arg name="connection" type="a{sa{sv}}" direction="in" tp:type="String_String_Variant_Map_Map"> + <tp:docstring> + Describes the connection to be established. + </tp:docstring> + </arg> + <arg name="details" type="a{sv}" direction="in" tp:type="String_Variant_Map"> + <tp:docstring> + Additional details about the Connect process. + </tp:docstring> + </arg> + <tp:possible-errors> + <tp:error name="org.freedesktop.NetworkManager.VPN.Error.StartingInProgress"/> + <tp:error name="org.freedesktop.NetworkManager.VPN.Error.AlreadyStarted"/> + <tp:error name="org.freedesktop.NetworkManager.VPN.Error.StoppingInProgress"/> + <tp:error name="org.freedesktop.NetworkManager.VPN.Error.BadArguments"/> + <tp:error name="org.freedesktop.NetworkManager.VPN.Error.LaunchFailed"/> + <tp:error name="org.freedesktop.NetworkManager.VPN.Error.WrongState"/> + <tp:error name="org.freedesktop.NetworkManager.VPN.Error.InteractiveNotSupported"/> </tp:possible-errors> </method> @@ -122,6 +154,48 @@ </arg> </signal> + <signal name="SecretsRequired"> + <tp:docstring> + Emitted during an ongoing ConnectInteractive() request when the plugin + has determined that new secrets are required. NetworkManager will then + call the NewSecrets() method with a connection hash including the new + secrets. + </tp:docstring> + <arg name="message" type="s" direction="out"> + <tp:docstring> + Informational message, if any, about the request. For example, if + a second PIN is required, could indicate to the user to wait for + the token code to change until entering the next PIN. + </tp:docstring> + </arg> + <arg name="secrets" type="as" direction="out"> + <tp:docstring> + Array of strings of VPN secret names which the plugin thinks + secrets may be required for, or other VPN-specific data to be + processed by the VPN's front-end. + </tp:docstring> + </arg> + </signal> + + <method name="NewSecrets"> + <tp:docstring> + Called in response to a SecretsRequired signal to deliver updated secrets + or other information to the plugin. + </tp:docstring> + <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_new_secrets"/> + <arg name="connection" type="a{sa{sv}}" direction="in" tp:type="String_String_Variant_Map_Map"> + <tp:docstring> + Describes the connection including the new secrets. + </tp:docstring> + </arg> + <tp:possible-errors> + <tp:error name="org.freedesktop.NetworkManager.VPN.Error.WrongState"/> + <tp:error name="org.freedesktop.NetworkManager.VPN.Error.BadArguments"/> + <tp:error name="org.freedesktop.NetworkManager.VPN.Error.LaunchFailed"/> + <tp:error name="org.freedesktop.NetworkManager.VPN.Error.InteractiveNotSupported"/> + </tp:possible-errors> + </method> + <signal name="Config"> <tp:docstring> The plugin obtained generic configuration information. |