summary refs log tree commit diff
path: root/introspection/org.freedesktop.NetworkManager.VPN.Plugin.xml
diff options
context:
space:
mode:
Diffstat (limited to 'introspection/org.freedesktop.NetworkManager.VPN.Plugin.xml')
-rw-r--r--introspection/org.freedesktop.NetworkManager.VPN.Plugin.xml202
1 files changed, 202 insertions, 0 deletions
diff --git a/introspection/org.freedesktop.NetworkManager.VPN.Plugin.xml b/introspection/org.freedesktop.NetworkManager.VPN.Plugin.xml
new file mode 100644
index 00000000..7eed9721
--- /dev/null
+++ b/introspection/org.freedesktop.NetworkManager.VPN.Plugin.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<node name="/">
+
+  <!--
+      org.freedesktop.NetworkManager.VPN.Plugin:
+
+      This interface is provided by plugins providing VPN services to the
+      NetworkManager daemon.
+  -->
+  <interface name="org.freedesktop.NetworkManager.VPN.Plugin">
+    <annotation name="org.gtk.GDBus.C.Name" value="VpnPlugin"/>
+
+    <!--
+        Connect:
+        @connection: Describes the connection to be established.
+
+        Tells the plugin to connect. Interactive secrets requests (eg, emitting
+        the SecretsRequired signal) are not allowed.
+    -->
+    <method name="Connect">
+      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_connect"/>
+      <arg name="connection" type="a{sa{sv}}" direction="in"/>
+    </method>
+
+    <!--
+        ConnectInteractive:
+        @connection: Describes the connection to be established.
+        @details: Additional details about the Connect process.
+
+        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).
+    -->
+    <method name="ConnectInteractive">
+      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_connect_interactive"/>
+      <arg name="connection" type="a{sa{sv}}" direction="in"/>
+      <arg name="details" type="a{sv}" direction="in"/>
+    </method>
+
+    <!--
+        NeedSecrets:
+        @settings: Describes the connection that may need secrets.
+        @setting_name: The setting name within the provided connection that requires secrets, if any.
+
+        Asks the plugin whether the provided connection will require secrets to
+        connect successfully.
+    -->
+    <method name="NeedSecrets">
+      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_need_secrets"/>
+      <arg name="settings" type="a{sa{sv}}" direction="in"/>
+      <arg name="setting_name" type="s" direction="out"/>
+    </method>
+
+    <!--
+        Disconnect:
+
+        Disconnect the plugin.
+    -->
+    <method name="Disconnect">
+      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_disconnect"/>
+    </method>
+
+    <!--
+        SetConfig:
+        @config: Generic configuration details for the connection.
+
+        Set generic connection details on the connection.
+    -->
+    <method name="SetConfig">
+      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_set_config"/>
+      <arg name="config" type="a{sv}" direction="in"/>
+    </method>
+
+    <!--
+        SetIp4Config:
+        @config: Ip4Config details for the connection. You must call SetConfig() before calling this.
+
+        Set IPv4 details on the connection.
+    -->
+    <method name="SetIp4Config">
+      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_set_ip4_config"/>
+      <arg name="config" type="a{sv}" direction="in"/>
+    </method>
+
+    <!--
+        SetIp6Config:
+        @config: Ip6Config details for the connection. You must call SetConfig() before calling this.
+
+        Set IPv6 details on the connection.
+    -->
+    <method name="SetIp6Config">
+      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_set_ip6_config"/>
+      <arg name="config" type="a{sv}" direction="in"/>
+    </method>
+
+    <!--
+        SetFailure:
+        @reason: The reason for the failure.
+
+        Indicate a failure to the plugin.
+    -->
+    <method name="SetFailure">
+      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_set_failure"/>
+      <arg name="reason" type="s" direction="in"/>
+    </method>
+
+    <!--
+        State:
+
+        The state of the plugin.
+
+        Returns: <link linkend="NMVpnServiceState">NMVpnServiceState</link>
+    -->
+    <property name="State" type="u" access="read"/>
+
+    <!--
+        StateChanged:
+        @state: (<link linkend="NMVpnServiceState">NMVpnServiceState</link>) The new state of the plugin.
+
+        Emitted when the plugin state changes.
+    -->
+    <signal name="StateChanged">
+      <arg name="state" type="u"/>
+    </signal>
+
+    <!--
+        SecretsRequired:
+        @message: 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.
+        @secrets: 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.
+
+        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.
+    -->
+    <signal name="SecretsRequired">
+      <arg name="message" type="s" direction="out"/>
+      <arg name="secrets" type="as" direction="out"/>
+    </signal>
+
+    <!--
+        NewSecrets:
+        @connection: Describes the connection including the new secrets.
+
+        Called in response to a SecretsRequired signal to deliver updated secrets
+        or other information to the plugin.
+    -->
+    <method name="NewSecrets">
+      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_new_secrets"/>
+      <arg name="connection" type="a{sa{sv}}" direction="in"/>
+    </method>
+
+    <!--
+        Config:
+        @config: The configuration information.
+
+        The plugin obtained generic configuration information.
+    -->
+    <signal name="Config">
+      <arg name="config" type="a{sv}"/>
+    </signal>
+
+    <!--
+        Ip4Config:
+        @ip4config: The IPv4 configuration.
+
+        The plugin obtained an IPv4 configuration.
+    -->
+    <signal name="Ip4Config">
+      <arg name="ip4config" type="a{sv}"/>
+    </signal>
+
+    <!--
+        Ip6Config:
+        @ip6config: The IPv6 configuration.
+
+        The plugin obtained an IPv6 configuration.
+    -->
+    <signal name="Ip6Config">
+      <arg name="ip6config" type="a{sv}"/>
+    </signal>
+
+    <!--
+        LoginBanner:
+        @banner: The login banner string.
+
+        Emitted when the plugin receives a login banner from the VPN service.
+    -->
+    <signal name="LoginBanner">
+      <arg name="banner" type="s"/>
+    </signal>
+
+    <!--
+        Failure:
+        @reason: (<link linkend="NMVpnPluginFailure">NMVpnPluginFailure</link>) Reason code for the failure.
+
+        Emitted when a failure in the VPN plugin occurs.
+    -->
+    <signal name="Failure">
+      <arg name="reason" type="u"/>
+    </signal>
+  </interface>
+</node>