summary refs log tree commit diff
path: root/introspection/nm-vpn-plugin.xml
diff options
context:
space:
mode:
Diffstat (limited to 'introspection/nm-vpn-plugin.xml')
-rw-r--r--introspection/nm-vpn-plugin.xml151
1 files changed, 151 insertions, 0 deletions
diff --git a/introspection/nm-vpn-plugin.xml b/introspection/nm-vpn-plugin.xml
new file mode 100644
index 00000000..72861f26
--- /dev/null
+++ b/introspection/nm-vpn-plugin.xml
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
+  <interface name="org.freedesktop.NetworkManager.VPN.Plugin">
+    <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.
+      </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">
+        <tp:docstring>
+          Describes the connection to be established.
+        </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:possible-errors>
+    </method>
+
+    <method name="NeedSecrets">
+      <tp:docstring>
+        Asks the plugin whether the provided connection will require secrets to connect successfully.
+      </tp:docstring>
+      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_need_secrets"/>
+      <arg name="settings" type="a{sa{sv}}" direction="in" tp:type="String_String_Variant_Map_Map">
+        <tp:docstring>
+          Describes the connection that may need secrets.
+        </tp:docstring>
+      </arg>
+      <arg name="setting_name" type="s" direction="out">
+        <tp:docstring>
+          The setting name within the provided connection that requires secrets, if any.
+        </tp:docstring>
+      </arg>
+      <tp:possible-errors>
+        <tp:error name="org.freedesktop.NetworkManager.VPN.Error.ConnectionInvalid"/>
+      </tp:possible-errors>
+    </method>
+
+    <method name="Disconnect">
+      <tp:docstring>
+        Disconnect the plugin.
+      </tp:docstring>
+      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_disconnect"/>
+      <tp:possible-errors>
+        <tp:error name="org.freedesktop.NetworkManager.VPN.Error.StoppingInProgress"/>
+        <tp:error name="org.freedesktop.NetworkManager.VPN.Error.AlreadyStopped"/>
+      </tp:possible-errors>
+    </method>
+
+    <method name="SetIp4Config">
+      <tp:docstring>
+        Set IPv4 details on the connection.
+      </tp:docstring>
+      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_set_ip4_config"/>
+      <arg name="config" type="a{sv}" direction="in" tp:type="String_Variant_Map">
+        <tp:docstring>
+          Ip4Config details for the conneciton.
+        </tp:docstring>
+      </arg>
+    </method>
+
+    <method name="SetFailure">
+      <tp:docstring>
+        Indicate a failure to the plugin.
+      </tp:docstring>
+      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_set_failure"/>
+      <arg name="reason" type="s" direction="in">
+        <tp:docstring>
+          The reason for the failure.
+        </tp:docstring>
+      </arg>
+    </method>
+
+    <property name="State" type="u" access="read" tp:type="NM_VPN_CONNECTION_STATE">
+      <tp:docstring>
+        The state of the plugin.
+      </tp:docstring>
+    </property>
+
+    <signal name="StateChanged">
+      <tp:docstring>
+        Emitted when the plugin state changes.
+      </tp:docstring>
+      <arg name="state" type="u" tp:type="NM_VPN_CONNECTION_STATE">
+        <tp:docstring>
+          The new state of the plugin.
+        </tp:docstring>
+      </arg>
+    </signal>
+
+    <signal name="Ip4Config">
+      <tp:docstring>
+        The plugin obtained an IPv4 configuration.
+      </tp:docstring>
+      <arg name="ip4config" type="a{sv}" tp:type="String_Variant_Map">
+        <tp:docstring>
+          The IPv4 configuration.
+        </tp:docstring>
+      </arg>
+    </signal>
+
+    <signal name="LoginBanner">
+      <tp:docstring>
+        Emitted when the plugin receives a login banner from the VPN service.
+      </tp:docstring>
+      <arg name="banner" type="s">
+        <tp:docstring>
+          The login banner string.
+        </tp:docstring>
+      </arg>
+    </signal>
+
+    <signal name="Failure">
+      <tp:docstring>
+        Emitted when a failure in the VPN plugin occurs.
+      </tp:docstring>
+      <arg name="reason" type="u" tp:type="NM_VPN_PLUGIN_FAILURE">
+        <tp:docstring>
+          Reason code for the failure.
+        </tp:docstring>
+      </arg>
+    </signal>
+
+    <tp:enum name="NM_VPN_PLUGIN_FAILURE" type="u">
+      <tp:enumvalue suffix="LOGIN_FAILED" value="0">
+        <tp:docstring>
+          Login failed.
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="CONNECT_FAILED" value="1">
+        <tp:docstring>
+          Connect failed.
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="BAD_IP_CONFIG" value="2">
+        <tp:docstring>
+          Invalid IP configuration returned from the VPN plugin.
+        </tp:docstring>
+      </tp:enumvalue>
+    </tp:enum>
+
+  </interface>
+</node>