summary refs log tree commit diff
path: root/docs/libnm-glib/html/libnm-glib-NMVPNPlugin.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/libnm-glib/html/libnm-glib-NMVPNPlugin.html')
-rw-r--r--docs/libnm-glib/html/libnm-glib-NMVPNPlugin.html495
1 files changed, 242 insertions, 253 deletions
diff --git a/docs/libnm-glib/html/libnm-glib-NMVPNPlugin.html b/docs/libnm-glib/html/libnm-glib-NMVPNPlugin.html
index 41a3ce7c..2b71816b 100644
--- a/docs/libnm-glib/html/libnm-glib-NMVPNPlugin.html
+++ b/docs/libnm-glib/html/libnm-glib-NMVPNPlugin.html
@@ -2,27 +2,30 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>libnm-glib Reference Manual: NMVPNPlugin</title>
+<title>NMVPNPlugin</title>
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="libnm-glib Reference Manual">
 <link rel="up" href="ch02.html" title="libnm-glib API Reference">
 <link rel="prev" href="NMVPNConnection.html" title="NMVPNConnection">
-<link rel="next" href="libnm-glib-NMVpnPluginUiWidget.html" title="NMVpnPluginUiWidget">
-<meta name="generator" content="GTK-Doc V1.20 (XML mode)">
+<link rel="next" href="libnm-glib-NMVpnPluginUi.html" title="NMVpnPluginUi">
+<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="10"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> 
-                  <a href="#libnm-glib-NMVPNPlugin.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span> 
-                  <a href="#libnm-glib-NMVPNPlugin.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="NMVPNConnection.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="libnm-glib-NMVpnPluginUiWidget.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="NMVPNConnection.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch02.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<th width="100%" align="center">libnm-glib Reference Manual</th>
+<td><a accesskey="n" href="libnm-glib-NMVpnPluginUi.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#libnm-glib-NMVPNPlugin.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#libnm-glib-NMVPNPlugin.description" class="shortcut">Description</a>
+</td></tr>
+</table>
 <div class="refentry">
 <a name="libnm-glib-NMVPNPlugin"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
@@ -30,348 +33,334 @@
 <h2><span class="refentrytitle"><a name="libnm-glib-NMVPNPlugin.top_of_page"></a>NMVPNPlugin</span></h2>
 <p>NMVPNPlugin</p>
 </td>
-<td class="gallery_image" valign="top" align="right"></td>
+<td valign="top" align="right"></td>
 </tr></table></div>
+<div class="refsynopsisdiv">
+<a name="libnm-glib-NMVPNPlugin.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">#define             <a class="link" href="libnm-glib-NMVPNPlugin.html#NM-VPN-PLUGIN-DBUS-SERVICE-NAME:CAPS" title="NM_VPN_PLUGIN_DBUS_SERVICE_NAME">NM_VPN_PLUGIN_DBUS_SERVICE_NAME</a>
+#define             <a class="link" href="libnm-glib-NMVPNPlugin.html#NM-VPN-PLUGIN-STATE:CAPS" title="NM_VPN_PLUGIN_STATE">NM_VPN_PLUGIN_STATE</a>
+enum                <a class="link" href="libnm-glib-NMVPNPlugin.html#NMVPNPluginError" title="enum NMVPNPluginError">NMVPNPluginError</a>;
+                    <a class="link" href="libnm-glib-NMVPNPlugin.html#NMVPNPlugin" title="NMVPNPlugin">NMVPNPlugin</a>;
+                    <a class="link" href="libnm-glib-NMVPNPlugin.html#NMVPNPluginClass" title="NMVPNPluginClass">NMVPNPluginClass</a>;
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a>              <a class="link" href="libnm-glib-NMVPNPlugin.html#nm-vpn-plugin-error-quark" title="nm_vpn_plugin_error_quark ()">nm_vpn_plugin_error_quark</a>           (<em class="parameter"><code><span class="type">void</span></code></em>);
+<a href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGConnection.html#DBusGConnection"><span class="returnvalue">DBusGConnection</span></a> *   <a class="link" href="libnm-glib-NMVPNPlugin.html#nm-vpn-plugin-get-connection" title="nm_vpn_plugin_get_connection ()">nm_vpn_plugin_get_connection</a>        (<em class="parameter"><code><a class="link" href="libnm-glib-NMVPNPlugin.html#NMVPNPlugin" title="NMVPNPlugin"><span class="type">NMVPNPlugin</span></a> *plugin</code></em>);
+<span class="returnvalue">NMVPNServiceState</span>   <a class="link" href="libnm-glib-NMVPNPlugin.html#nm-vpn-plugin-get-state" title="nm_vpn_plugin_get_state ()">nm_vpn_plugin_get_state</a>             (<em class="parameter"><code><a class="link" href="libnm-glib-NMVPNPlugin.html#NMVPNPlugin" title="NMVPNPlugin"><span class="type">NMVPNPlugin</span></a> *plugin</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="libnm-glib-NMVPNPlugin.html#nm-vpn-plugin-set-state" title="nm_vpn_plugin_set_state ()">nm_vpn_plugin_set_state</a>             (<em class="parameter"><code><a class="link" href="libnm-glib-NMVPNPlugin.html#NMVPNPlugin" title="NMVPNPlugin"><span class="type">NMVPNPlugin</span></a> *plugin</code></em>,
+                                                         <em class="parameter"><code><span class="type">NMVPNServiceState</span> state</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="libnm-glib-NMVPNPlugin.html#nm-vpn-plugin-secrets-required" title="nm_vpn_plugin_secrets_required ()">nm_vpn_plugin_secrets_required</a>      (<em class="parameter"><code><a class="link" href="libnm-glib-NMVPNPlugin.html#NMVPNPlugin" title="NMVPNPlugin"><span class="type">NMVPNPlugin</span></a> *plugin</code></em>,
+                                                         <em class="parameter"><code>const <span class="type">char</span> *message</code></em>,
+                                                         <em class="parameter"><code>const <span class="type">char</span> **hints</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="libnm-glib-NMVPNPlugin.html#nm-vpn-plugin-set-login-banner" title="nm_vpn_plugin_set_login_banner ()">nm_vpn_plugin_set_login_banner</a>      (<em class="parameter"><code><a class="link" href="libnm-glib-NMVPNPlugin.html#NMVPNPlugin" title="NMVPNPlugin"><span class="type">NMVPNPlugin</span></a> *plugin</code></em>,
+                                                         <em class="parameter"><code>const <span class="type">char</span> *banner</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="libnm-glib-NMVPNPlugin.html#nm-vpn-plugin-failure" title="nm_vpn_plugin_failure ()">nm_vpn_plugin_failure</a>               (<em class="parameter"><code><a class="link" href="libnm-glib-NMVPNPlugin.html#NMVPNPlugin" title="NMVPNPlugin"><span class="type">NMVPNPlugin</span></a> *plugin</code></em>,
+                                                         <em class="parameter"><code><span class="type">NMVPNPluginFailure</span> reason</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="libnm-glib-NMVPNPlugin.html#nm-vpn-plugin-set-config" title="nm_vpn_plugin_set_config ()">nm_vpn_plugin_set_config</a>            (<em class="parameter"><code><a class="link" href="libnm-glib-NMVPNPlugin.html#NMVPNPlugin" title="NMVPNPlugin"><span class="type">NMVPNPlugin</span></a> *plugin</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> *config</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="libnm-glib-NMVPNPlugin.html#nm-vpn-plugin-set-ip4-config" title="nm_vpn_plugin_set_ip4_config ()">nm_vpn_plugin_set_ip4_config</a>        (<em class="parameter"><code><a class="link" href="libnm-glib-NMVPNPlugin.html#NMVPNPlugin" title="NMVPNPlugin"><span class="type">NMVPNPlugin</span></a> *plugin</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> *ip4_config</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="libnm-glib-NMVPNPlugin.html#nm-vpn-plugin-set-ip6-config" title="nm_vpn_plugin_set_ip6_config ()">nm_vpn_plugin_set_ip6_config</a>        (<em class="parameter"><code><a class="link" href="libnm-glib-NMVPNPlugin.html#NMVPNPlugin" title="NMVPNPlugin"><span class="type">NMVPNPlugin</span></a> *plugin</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> *ip6_config</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="libnm-glib-NMVPNPlugin.html#nm-vpn-plugin-disconnect" title="nm_vpn_plugin_disconnect ()">nm_vpn_plugin_disconnect</a>            (<em class="parameter"><code><a class="link" href="libnm-glib-NMVPNPlugin.html#NMVPNPlugin" title="NMVPNPlugin"><span class="type">NMVPNPlugin</span></a> *plugin</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **err</code></em>);
+</pre>
+</div>
+<div class="refsect1">
+<a name="libnm-glib-NMVPNPlugin.description"></a><h2>Description</h2>
+<p>
+</p>
+</div>
 <div class="refsect1">
-<a name="libnm-glib-NMVPNPlugin.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<a name="libnm-glib-NMVPNPlugin.details"></a><h2>Details</h2>
+<div class="refsect2">
+<a name="NM-VPN-PLUGIN-DBUS-SERVICE-NAME:CAPS"></a><h3>NM_VPN_PLUGIN_DBUS_SERVICE_NAME</h3>
+<pre class="programlisting">#define NM_VPN_PLUGIN_DBUS_SERVICE_NAME "service-name"
+</pre>
+<p>
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="NM-VPN-PLUGIN-STATE:CAPS"></a><h3>NM_VPN_PLUGIN_STATE</h3>
+<pre class="programlisting">#define NM_VPN_PLUGIN_STATE             "state"
+</pre>
+<p>
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="NMVPNPluginError"></a><h3>enum NMVPNPluginError</h3>
+<pre class="programlisting">typedef enum {
+	NM_VPN_PLUGIN_ERROR_GENERAL,                   /*&lt; nick=General &gt;*/
+	NM_VPN_PLUGIN_ERROR_STARTING_IN_PROGRESS,      /*&lt; nick=StartingInProgress &gt;*/
+	NM_VPN_PLUGIN_ERROR_ALREADY_STARTED,           /*&lt; nick=AlreadyStarted &gt;*/
+	NM_VPN_PLUGIN_ERROR_STOPPING_IN_PROGRESS,      /*&lt; nick=StoppingInProgress &gt;*/
+	NM_VPN_PLUGIN_ERROR_ALREADY_STOPPED,           /*&lt; nick=AlreadyStopped &gt;*/
+	NM_VPN_PLUGIN_ERROR_WRONG_STATE,               /*&lt; nick=WrongState &gt;*/
+	NM_VPN_PLUGIN_ERROR_BAD_ARGUMENTS,             /*&lt; nick=BadArguments &gt;*/
+	NM_VPN_PLUGIN_ERROR_LAUNCH_FAILED,             /*&lt; nick=LaunchFailed &gt;*/
+	NM_VPN_PLUGIN_ERROR_CONNECTION_INVALID,        /*&lt; nick=ConnectionInvalid &gt;*/
+	NM_VPN_PLUGIN_ERROR_INTERACTIVE_NOT_SUPPORTED  /*&lt; nick=InteractiveNotSupported &gt;*/
+} NMVPNPluginError;
+</pre>
+<p>
+Returned by the VPN service plugin to indicate errors.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
+<col align="left" valign="top">
+<col>
 </colgroup>
 <tbody>
 <tr>
-<td class="function_type">
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a>
-</td>
-<td class="function_name">
-<a class="link" href="libnm-glib-NMVPNPlugin.html#nm-vpn-plugin-error-quark" title="nm_vpn_plugin_error_quark ()">nm_vpn_plugin_error_quark</a> <span class="c_punctuation">()</span>
+<td><p><a name="NM-VPN-PLUGIN-ERROR-GENERAL:CAPS"></a><span class="term"><code class="literal">NM_VPN_PLUGIN_ERROR_GENERAL</code></span></p></td>
+<td>general failure
 </td>
 </tr>
 <tr>
-<td class="function_type">
-<a href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGConnection.html#DBusGConnection"><span class="returnvalue">DBusGConnection</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="libnm-glib-NMVPNPlugin.html#nm-vpn-plugin-get-connection" title="nm_vpn_plugin_get_connection ()">nm_vpn_plugin_get_connection</a> <span class="c_punctuation">()</span>
+<td><p><a name="NM-VPN-PLUGIN-ERROR-STARTING-IN-PROGRESS:CAPS"></a><span class="term"><code class="literal">NM_VPN_PLUGIN_ERROR_STARTING_IN_PROGRESS</code></span></p></td>
+<td>the plugin is already starting,
+ and another connect request was received
 </td>
 </tr>
 <tr>
-<td class="function_type">
-<span class="returnvalue">NMVPNServiceState</span>
-</td>
-<td class="function_name">
-<a class="link" href="libnm-glib-NMVPNPlugin.html#nm-vpn-plugin-get-state" title="nm_vpn_plugin_get_state ()">nm_vpn_plugin_get_state</a> <span class="c_punctuation">()</span>
+<td><p><a name="NM-VPN-PLUGIN-ERROR-ALREADY-STARTED:CAPS"></a><span class="term"><code class="literal">NM_VPN_PLUGIN_ERROR_ALREADY_STARTED</code></span></p></td>
+<td>the plugin is already connected, and
+ another connect request was received
 </td>
 </tr>
 <tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="libnm-glib-NMVPNPlugin.html#nm-vpn-plugin-set-state" title="nm_vpn_plugin_set_state ()">nm_vpn_plugin_set_state</a> <span class="c_punctuation">()</span>
+<td><p><a name="NM-VPN-PLUGIN-ERROR-STOPPING-IN-PROGRESS:CAPS"></a><span class="term"><code class="literal">NM_VPN_PLUGIN_ERROR_STOPPING_IN_PROGRESS</code></span></p></td>
+<td>the plugin is already stopping,
+ and another stop request was received
 </td>
 </tr>
 <tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="libnm-glib-NMVPNPlugin.html#nm-vpn-plugin-set-login-banner" title="nm_vpn_plugin_set_login_banner ()">nm_vpn_plugin_set_login_banner</a> <span class="c_punctuation">()</span>
+<td><p><a name="NM-VPN-PLUGIN-ERROR-ALREADY-STOPPED:CAPS"></a><span class="term"><code class="literal">NM_VPN_PLUGIN_ERROR_ALREADY_STOPPED</code></span></p></td>
+<td>the plugin is already stopped, and
+ another disconnect request was received
 </td>
 </tr>
 <tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="libnm-glib-NMVPNPlugin.html#nm-vpn-plugin-failure" title="nm_vpn_plugin_failure ()">nm_vpn_plugin_failure</a> <span class="c_punctuation">()</span>
+<td><p><a name="NM-VPN-PLUGIN-ERROR-WRONG-STATE:CAPS"></a><span class="term"><code class="literal">NM_VPN_PLUGIN_ERROR_WRONG_STATE</code></span></p></td>
+<td>the operation could not be performed in
+ this state
 </td>
 </tr>
 <tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="libnm-glib-NMVPNPlugin.html#nm-vpn-plugin-set-config" title="nm_vpn_plugin_set_config ()">nm_vpn_plugin_set_config</a> <span class="c_punctuation">()</span>
+<td><p><a name="NM-VPN-PLUGIN-ERROR-BAD-ARGUMENTS:CAPS"></a><span class="term"><code class="literal">NM_VPN_PLUGIN_ERROR_BAD_ARGUMENTS</code></span></p></td>
+<td>the operation could not be performed as
+ the request contained malformed arguments, or arguments of unexpected type.
+ Usually means that one of the VPN setting data items or secrets was not of
+ the expected type (ie int, string, bool, etc).
 </td>
 </tr>
 <tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="libnm-glib-NMVPNPlugin.html#nm-vpn-plugin-set-ip4-config" title="nm_vpn_plugin_set_ip4_config ()">nm_vpn_plugin_set_ip4_config</a> <span class="c_punctuation">()</span>
+<td><p><a name="NM-VPN-PLUGIN-ERROR-LAUNCH-FAILED:CAPS"></a><span class="term"><code class="literal">NM_VPN_PLUGIN_ERROR_LAUNCH_FAILED</code></span></p></td>
+<td>a child process failed to launch
 </td>
 </tr>
 <tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="libnm-glib-NMVPNPlugin.html#nm-vpn-plugin-set-ip6-config" title="nm_vpn_plugin_set_ip6_config ()">nm_vpn_plugin_set_ip6_config</a> <span class="c_punctuation">()</span>
+<td><p><a name="NM-VPN-PLUGIN-ERROR-CONNECTION-INVALID:CAPS"></a><span class="term"><code class="literal">NM_VPN_PLUGIN_ERROR_CONNECTION_INVALID</code></span></p></td>
+<td>the operation could not be performed
+ because the connection was invalid.  Usually means that the connection's
+ VPN setting was missing some required data item or secret.
 </td>
 </tr>
 <tr>
-<td class="function_type">
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-</td>
-<td class="function_name">
-<a class="link" href="libnm-glib-NMVPNPlugin.html#nm-vpn-plugin-disconnect" title="nm_vpn_plugin_disconnect ()">nm_vpn_plugin_disconnect</a> <span class="c_punctuation">()</span>
+<td><p><a name="NM-VPN-PLUGIN-ERROR-INTERACTIVE-NOT-SUPPORTED:CAPS"></a><span class="term"><code class="literal">NM_VPN_PLUGIN_ERROR_INTERACTIVE_NOT_SUPPORTED</code></span></p></td>
+<td>the operation could not be
+ performed as the plugin does not support interactive operations, such as
+ <code class="function">ConnectInteractive()</code> or <code class="function">NewSecrets()</code>
 </td>
 </tr>
 </tbody>
 </table></div>
 </div>
-<div class="refsect1">
-<a name="libnm-glib-NMVPNPlugin.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="name">
-<col class="description">
-</colgroup>
-<tbody>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="libnm-glib-NMVPNPlugin.html#NM-VPN-PLUGIN-DBUS-SERVICE-NAME:CAPS" title="NM_VPN_PLUGIN_DBUS_SERVICE_NAME">NM_VPN_PLUGIN_DBUS_SERVICE_NAME</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="libnm-glib-NMVPNPlugin.html#NM-VPN-PLUGIN-STATE:CAPS" title="NM_VPN_PLUGIN_STATE">NM_VPN_PLUGIN_STATE</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="libnm-glib-NMVPNPlugin.html#NMVPNPluginError" title="enum NMVPNPluginError">NMVPNPluginError</a></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="libnm-glib-NMVPNPlugin.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="screen">
+<hr>
+<div class="refsect2">
+<a name="NMVPNPlugin"></a><h3>NMVPNPlugin</h3>
+<pre class="programlisting">typedef struct {
+	GObject parent;
+} NMVPNPlugin;
 </pre>
-</div>
-<div class="refsect1">
-<a name="libnm-glib-NMVPNPlugin.description"></a><h2>Description</h2>
 <p>
 </p>
 </div>
-<div class="refsect1">
-<a name="libnm-glib-NMVPNPlugin.functions_details"></a><h2>Functions</h2>
+<hr>
 <div class="refsect2">
-<a name="nm-vpn-plugin-error-quark"></a><h3>nm_vpn_plugin_error_quark ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a>
-nm_vpn_plugin_error_quark (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<a name="NMVPNPluginClass"></a><h3>NMVPNPluginClass</h3>
+<pre class="programlisting">typedef struct {
+	GObjectClass parent;
+
+	/* virtual methods */
+	gboolean (*connect)      (NMVPNPlugin   *plugin,
+	                          NMConnection  *connection,
+	                          GError       **err);
+
+	gboolean (*need_secrets) (NMVPNPlugin *plugin,
+	                          NMConnection *connection,
+	                          char **setting_name,
+	                          GError **error);
+
+	gboolean (*disconnect)   (NMVPNPlugin   *plugin,
+	                          GError       **err);
+
+	/* Signals */
+	void (*state_changed)  (NMVPNPlugin *plugin,
+	                        NMVPNServiceState state);
+
+	void (*ip4_config)     (NMVPNPlugin *plugin,
+	                        GHashTable  *ip4_config);
+
+	void (*login_banner)   (NMVPNPlugin *plugin,
+	                        const char *banner);
+
+	void (*failure)        (NMVPNPlugin *plugin,
+	                        NMVPNPluginFailure reason);
+
+	void (*quit)           (NMVPNPlugin *plugin);
+
+	void (*config)         (NMVPNPlugin *plugin,
+	                        GHashTable  *config);
+
+	void (*ip6_config)     (NMVPNPlugin *plugin,
+	                        GHashTable  *config);
+
+	/* more methods */
+	gboolean (*new_secrets)  (NMVPNPlugin *plugin,
+	                          NMConnection *connection,
+	                          GError **error);
+
+	gboolean (*connect_interactive) (NMVPNPlugin *plugin,
+	                                 NMConnection *connection,
+	                                 GHashTable *details,
+	                                 GError **error);
+
+	/* Padding for future expansion */
+	void (*_reserved1) (void);
+	void (*_reserved2) (void);
+} NMVPNPluginClass;
+</pre>
 <p>
 </p>
-<div class="refsect3">
-<a name="id-1.3.28.7.2.5"></a><h4>Returns</h4>
-<p></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
-<a name="nm-vpn-plugin-get-connection"></a><h3>nm_vpn_plugin_get_connection ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGConnection.html#DBusGConnection"><span class="returnvalue">DBusGConnection</span></a> *
-nm_vpn_plugin_get_connection (<em class="parameter"><code><span class="type">NMVPNPlugin</span> *plugin</code></em>);</pre>
+<a name="nm-vpn-plugin-error-quark"></a><h3>nm_vpn_plugin_error_quark ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a>              nm_vpn_plugin_error_quark           (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
 <p>
 </p>
-<div class="refsect3">
-<a name="id-1.3.28.7.3.5"></a><h4>Returns</h4>
-<p></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
-<a name="nm-vpn-plugin-get-state"></a><h3>nm_vpn_plugin_get_state ()</h3>
-<pre class="programlisting"><span class="returnvalue">NMVPNServiceState</span>
-nm_vpn_plugin_get_state (<em class="parameter"><code><span class="type">NMVPNPlugin</span> *plugin</code></em>);</pre>
+<a name="nm-vpn-plugin-get-connection"></a><h3>nm_vpn_plugin_get_connection ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGConnection.html#DBusGConnection"><span class="returnvalue">DBusGConnection</span></a> *   nm_vpn_plugin_get_connection        (<em class="parameter"><code><a class="link" href="libnm-glib-NMVPNPlugin.html#NMVPNPlugin" title="NMVPNPlugin"><span class="type">NMVPNPlugin</span></a> *plugin</code></em>);</pre>
 <p>
 </p>
-<div class="refsect3">
-<a name="id-1.3.28.7.4.5"></a><h4>Returns</h4>
-<p></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
-<a name="nm-vpn-plugin-set-state"></a><h3>nm_vpn_plugin_set_state ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-nm_vpn_plugin_set_state (<em class="parameter"><code><span class="type">NMVPNPlugin</span> *plugin</code></em>,
-                         <em class="parameter"><code><span class="type">NMVPNServiceState</span> state</code></em>);</pre>
+<a name="nm-vpn-plugin-get-state"></a><h3>nm_vpn_plugin_get_state ()</h3>
+<pre class="programlisting"><span class="returnvalue">NMVPNServiceState</span>   nm_vpn_plugin_get_state             (<em class="parameter"><code><a class="link" href="libnm-glib-NMVPNPlugin.html#NMVPNPlugin" title="NMVPNPlugin"><span class="type">NMVPNPlugin</span></a> *plugin</code></em>);</pre>
 <p>
 </p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="nm-vpn-plugin-set-login-banner"></a><h3>nm_vpn_plugin_set_login_banner ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-nm_vpn_plugin_set_login_banner (<em class="parameter"><code><span class="type">NMVPNPlugin</span> *plugin</code></em>,
-                                <em class="parameter"><code>const <span class="type">char</span> *banner</code></em>);</pre>
+<a name="nm-vpn-plugin-set-state"></a><h3>nm_vpn_plugin_set_state ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                nm_vpn_plugin_set_state             (<em class="parameter"><code><a class="link" href="libnm-glib-NMVPNPlugin.html#NMVPNPlugin" title="NMVPNPlugin"><span class="type">NMVPNPlugin</span></a> *plugin</code></em>,
+                                                         <em class="parameter"><code><span class="type">NMVPNServiceState</span> state</code></em>);</pre>
 <p>
 </p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="nm-vpn-plugin-failure"></a><h3>nm_vpn_plugin_failure ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-nm_vpn_plugin_failure (<em class="parameter"><code><span class="type">NMVPNPlugin</span> *plugin</code></em>,
-                       <em class="parameter"><code><span class="type">NMVPNPluginFailure</span> reason</code></em>);</pre>
+<a name="nm-vpn-plugin-secrets-required"></a><h3>nm_vpn_plugin_secrets_required ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                nm_vpn_plugin_secrets_required      (<em class="parameter"><code><a class="link" href="libnm-glib-NMVPNPlugin.html#NMVPNPlugin" title="NMVPNPlugin"><span class="type">NMVPNPlugin</span></a> *plugin</code></em>,
+                                                         <em class="parameter"><code>const <span class="type">char</span> *message</code></em>,
+                                                         <em class="parameter"><code>const <span class="type">char</span> **hints</code></em>);</pre>
 <p>
+Called by VPN plugin implementations to signal to NetworkManager that secrets
+are required during the connection process.  This signal may be used to
+request new secrets when the secrets originally provided by NetworkManager
+are insufficient, or the VPN process indicates that it needs additional
+information to complete the request.
 </p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>plugin</code></em> :</span></p></td>
+<td>the <a class="link" href="libnm-glib-NMVPNPlugin.html#NMVPNPlugin" title="NMVPNPlugin"><span class="type">NMVPNPlugin</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
+<td>an information message about why secrets are required, if any</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>hints</code></em> :</span></p></td>
+<td>VPN specific secret names for required new secrets</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 0.9.10</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="nm-vpn-plugin-set-config"></a><h3>nm_vpn_plugin_set_config ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-nm_vpn_plugin_set_config (<em class="parameter"><code><span class="type">NMVPNPlugin</span> *plugin</code></em>,
-                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> *config</code></em>);</pre>
+<a name="nm-vpn-plugin-set-login-banner"></a><h3>nm_vpn_plugin_set_login_banner ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                nm_vpn_plugin_set_login_banner      (<em class="parameter"><code><a class="link" href="libnm-glib-NMVPNPlugin.html#NMVPNPlugin" title="NMVPNPlugin"><span class="type">NMVPNPlugin</span></a> *plugin</code></em>,
+                                                         <em class="parameter"><code>const <span class="type">char</span> *banner</code></em>);</pre>
 <p>
 </p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="nm-vpn-plugin-set-ip4-config"></a><h3>nm_vpn_plugin_set_ip4_config ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-nm_vpn_plugin_set_ip4_config (<em class="parameter"><code><span class="type">NMVPNPlugin</span> *plugin</code></em>,
-                              <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> *ip4_config</code></em>);</pre>
+<a name="nm-vpn-plugin-failure"></a><h3>nm_vpn_plugin_failure ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                nm_vpn_plugin_failure               (<em class="parameter"><code><a class="link" href="libnm-glib-NMVPNPlugin.html#NMVPNPlugin" title="NMVPNPlugin"><span class="type">NMVPNPlugin</span></a> *plugin</code></em>,
+                                                         <em class="parameter"><code><span class="type">NMVPNPluginFailure</span> reason</code></em>);</pre>
 <p>
 </p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="nm-vpn-plugin-set-ip6-config"></a><h3>nm_vpn_plugin_set_ip6_config ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-nm_vpn_plugin_set_ip6_config (<em class="parameter"><code><span class="type">NMVPNPlugin</span> *plugin</code></em>,
-                              <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> *ip6_config</code></em>);</pre>
+<a name="nm-vpn-plugin-set-config"></a><h3>nm_vpn_plugin_set_config ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                nm_vpn_plugin_set_config            (<em class="parameter"><code><a class="link" href="libnm-glib-NMVPNPlugin.html#NMVPNPlugin" title="NMVPNPlugin"><span class="type">NMVPNPlugin</span></a> *plugin</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> *config</code></em>);</pre>
 <p>
 </p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="nm-vpn-plugin-disconnect"></a><h3>nm_vpn_plugin_disconnect ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-nm_vpn_plugin_disconnect (<em class="parameter"><code><span class="type">NMVPNPlugin</span> *plugin</code></em>,
-                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **err</code></em>);</pre>
+<a name="nm-vpn-plugin-set-ip4-config"></a><h3>nm_vpn_plugin_set_ip4_config ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                nm_vpn_plugin_set_ip4_config        (<em class="parameter"><code><a class="link" href="libnm-glib-NMVPNPlugin.html#NMVPNPlugin" title="NMVPNPlugin"><span class="type">NMVPNPlugin</span></a> *plugin</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> *ip4_config</code></em>);</pre>
 <p>
 </p>
-<div class="refsect3">
-<a name="id-1.3.28.7.11.5"></a><h4>Returns</h4>
-<p></p>
-</div>
-</div>
 </div>
-<div class="refsect1">
-<a name="libnm-glib-NMVPNPlugin.other_details"></a><h2>Types and Values</h2>
+<hr>
 <div class="refsect2">
-<a name="NM-VPN-PLUGIN-DBUS-SERVICE-NAME:CAPS"></a><h3>NM_VPN_PLUGIN_DBUS_SERVICE_NAME</h3>
-<pre class="programlisting">#define NM_VPN_PLUGIN_DBUS_SERVICE_NAME "service-name"
-</pre>
+<a name="nm-vpn-plugin-set-ip6-config"></a><h3>nm_vpn_plugin_set_ip6_config ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                nm_vpn_plugin_set_ip6_config        (<em class="parameter"><code><a class="link" href="libnm-glib-NMVPNPlugin.html#NMVPNPlugin" title="NMVPNPlugin"><span class="type">NMVPNPlugin</span></a> *plugin</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> *ip6_config</code></em>);</pre>
 <p>
 </p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="NM-VPN-PLUGIN-STATE:CAPS"></a><h3>NM_VPN_PLUGIN_STATE</h3>
-<pre class="programlisting">#define NM_VPN_PLUGIN_STATE             "state"
-</pre>
+<a name="nm-vpn-plugin-disconnect"></a><h3>nm_vpn_plugin_disconnect ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            nm_vpn_plugin_disconnect            (<em class="parameter"><code><a class="link" href="libnm-glib-NMVPNPlugin.html#NMVPNPlugin" title="NMVPNPlugin"><span class="type">NMVPNPlugin</span></a> *plugin</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **err</code></em>);</pre>
 <p>
 </p>
 </div>
-<hr>
-<div class="refsect2">
-<a name="NMVPNPluginError"></a><h3>enum NMVPNPluginError</h3>
-<p>Returned by the VPN service plugin to indicate errors.</p>
-<div class="refsect3">
-<a name="id-1.3.28.8.4.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="300px" class="enum_members_name">
-<col class="enum_members_description">
-<col width="200px" class="enum_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="enum_member_name"><p><a name="NM-VPN-PLUGIN-ERROR-GENERAL:CAPS"></a>NM_VPN_PLUGIN_ERROR_GENERAL</p></td>
-<td class="enum_member_description">
-<p>general failure</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="NM-VPN-PLUGIN-ERROR-STARTING-IN-PROGRESS:CAPS"></a>NM_VPN_PLUGIN_ERROR_STARTING_IN_PROGRESS</p></td>
-<td class="enum_member_description">
-<p>the plugin is already starting,
- and another connect request was received</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="NM-VPN-PLUGIN-ERROR-ALREADY-STARTED:CAPS"></a>NM_VPN_PLUGIN_ERROR_ALREADY_STARTED</p></td>
-<td class="enum_member_description">
-<p>the plugin is already connected, and
- another connect request was received</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="NM-VPN-PLUGIN-ERROR-STOPPING-IN-PROGRESS:CAPS"></a>NM_VPN_PLUGIN_ERROR_STOPPING_IN_PROGRESS</p></td>
-<td class="enum_member_description">
-<p>the plugin is already stopping,
- and another stop request was received</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="NM-VPN-PLUGIN-ERROR-ALREADY-STOPPED:CAPS"></a>NM_VPN_PLUGIN_ERROR_ALREADY_STOPPED</p></td>
-<td class="enum_member_description">
-<p>the plugin is already stopped, and
- another disconnect request was received</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="NM-VPN-PLUGIN-ERROR-WRONG-STATE:CAPS"></a>NM_VPN_PLUGIN_ERROR_WRONG_STATE</p></td>
-<td class="enum_member_description">
-<p>the operation could not be performed in
- this state</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="NM-VPN-PLUGIN-ERROR-BAD-ARGUMENTS:CAPS"></a>NM_VPN_PLUGIN_ERROR_BAD_ARGUMENTS</p></td>
-<td class="enum_member_description">
-<p>the operation could not be performed as
- the request contained malformed arguments, or arguments of unexpected type.
- Usually means that one of the VPN setting data items or secrets was not of
- the expected type (ie int, string, bool, etc).</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="NM-VPN-PLUGIN-ERROR-LAUNCH-FAILED:CAPS"></a>NM_VPN_PLUGIN_ERROR_LAUNCH_FAILED</p></td>
-<td class="enum_member_description">
-<p>a child process failed to launch</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="NM-VPN-PLUGIN-ERROR-CONNECTION-INVALID:CAPS"></a>NM_VPN_PLUGIN_ERROR_CONNECTION_INVALID</p></td>
-<td class="enum_member_description">
-<p>the operation could not be performed
- because the connection was invalid.  Usually means that the connection's
- VPN setting was missing some required data item or secret.</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
 </div>
 </div>
 <div class="footer">
 <hr>
-          Generated by GTK-Doc V1.20</div>
+          Generated by GTK-Doc V1.19</div>
 </body>
 </html>
\ No newline at end of file