diff options
| author | Michael Biebl <biebl@debian.org> | 2016-08-26 02:18:32 +0200 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2016-08-26 02:18:32 +0200 |
| commit | 7514efc2f38c9ace4557d4e69d68e7d380389030 (patch) | |
| tree | 7fb00fda86cfcc2ca377f191633a7cfdbfea7ca3 /docs/libnm/html/NMVpnEditorPlugin.html | |
| parent | d6201f5d8daada3d64a0a3e0038e14eebec683ce (diff) | |
Imported Upstream version 1.4.0 upstream/1.4.0
Diffstat (limited to 'docs/libnm/html/NMVpnEditorPlugin.html')
| -rw-r--r-- | docs/libnm/html/NMVpnEditorPlugin.html | 245 |
1 files changed, 229 insertions, 16 deletions
diff --git a/docs/libnm/html/NMVpnEditorPlugin.html b/docs/libnm/html/NMVpnEditorPlugin.html index d49d5fea..cae4d706 100644 --- a/docs/libnm/html/NMVpnEditorPlugin.html +++ b/docs/libnm/html/NMVpnEditorPlugin.html @@ -8,7 +8,7 @@ <link rel="up" href="ch06.html" title="VPN Plugin API Reference"> <link rel="prev" href="libnm-nm-vpn-dbus-interface.html" title="nm-vpn-dbus-interface"> <link rel="next" href="object-tree.html" title="Object Hierarchy"> -<meta name="generator" content="GTK-Doc V1.24 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.25 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -77,6 +77,14 @@ </tr> <tr> <td class="function_type"> +<span class="returnvalue">gsize</span> +</td> +<td class="function_name"> +<a class="link" href="NMVpnEditorPlugin.html#nm-vpn-editor-plugin-get-vt" title="nm_vpn_editor_plugin_get_vt ()">nm_vpn_editor_plugin_get_vt</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> <a class="link" href="NMConnection.html" title="NMConnection"><span class="returnvalue">NMConnection</span></a> * </td> <td class="function_name"> @@ -107,6 +115,29 @@ <a class="link" href="NMVpnEditorPlugin.html#nm-vpn-editor-plugin-load-from-file" title="nm_vpn_editor_plugin_load_from_file ()">nm_vpn_editor_plugin_load_from_file</a> <span class="c_punctuation">()</span> </td> </tr> +<tr> +<td class="function_type"> +<a class="link" href="NMVpnEditorPlugin.html" title="NMVpnEditorPlugin"><span class="returnvalue">NMVpnEditorPlugin</span></a> * +</td> +<td class="function_name"> +<a class="link" href="NMVpnEditorPlugin.html#nm-vpn-editor-plugin-load" title="nm_vpn_editor_plugin_load ()">nm_vpn_editor_plugin_load</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">struct <span class="returnvalue">_NMVpnPluginInfo</span> * +</td> +<td class="function_name"> +<a class="link" href="NMVpnEditorPlugin.html#nm-vpn-editor-plugin-get-plugin-info" title="nm_vpn_editor_plugin_get_plugin_info ()">nm_vpn_editor_plugin_get_plugin_info</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="NMVpnEditorPlugin.html#nm-vpn-editor-plugin-set-plugin-info" title="nm_vpn_editor_plugin_set_plugin_info ()">nm_vpn_editor_plugin_set_plugin_info</a> <span class="c_punctuation">()</span> +</td> +</tr> </tbody> </table></div> </div> @@ -187,6 +218,10 @@ <td class="datatype_keyword"> </td> <td class="function_name"><a class="link" href="NMVpnEditorPlugin.html#NMVpnEditor-struct" title="NMVpnEditor">NMVpnEditor</a></td> </tr> +<tr> +<td class="datatype_keyword"> </td> +<td class="function_name"><a class="link" href="NMVpnEditorPlugin.html#NMVpnEditorPluginVT" title="NMVpnEditorPluginVT">NMVpnEditorPluginVT</a></td> +</tr> </tbody> </table></div> </div> @@ -229,7 +264,7 @@ nm_vpn_editor_plugin_get_editor (<em class="parameter"><code><a class="link" hre <em class="parameter"><code><a class="link" href="NMConnection.html" title="NMConnection"><span class="type">NMConnection</span></a> *connection</code></em>, <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre> <div class="refsect3"> -<a name="id-1.7.3.11.4.4"></a><h4>Parameters</h4> +<a name="nm-vpn-editor-plugin-get-editor.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> @@ -256,7 +291,7 @@ nm_vpn_editor_plugin_get_editor (<em class="parameter"><code><a class="link" hre </table></div> </div> <div class="refsect3"> -<a name="id-1.7.3.11.4.5"></a><h4>Returns</h4> +<a name="nm-vpn-editor-plugin-get-editor.returns"></a><h4>Returns</h4> <p> a new <a class="link" href="NMVpnEditorPlugin.html#NMVpnEditor"><span class="type">NMVpnEditor</span></a> or <code class="literal">NULL</code> on error. </p> <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> @@ -269,13 +304,60 @@ nm_vpn_editor_plugin_get_capabilities (<em class="parameter"><code><a class="lin </div> <hr> <div class="refsect2"> +<a name="nm-vpn-editor-plugin-get-vt"></a><h3>nm_vpn_editor_plugin_get_vt ()</h3> +<pre class="programlisting"><span class="returnvalue">gsize</span> +nm_vpn_editor_plugin_get_vt (<em class="parameter"><code><a class="link" href="NMVpnEditorPlugin.html" title="NMVpnEditorPlugin"><span class="type">NMVpnEditorPlugin</span></a> *plugin</code></em>, + <em class="parameter"><code><a class="link" href="NMVpnEditorPlugin.html#NMVpnEditorPluginVT" title="NMVpnEditorPluginVT"><span class="type">NMVpnEditorPluginVT</span></a> *vt</code></em>, + <em class="parameter"><code><span class="type">gsize</span> vt_size</code></em>);</pre> +<p>Returns an opaque VT function table for the plugin to extend +functionality. The actual meaning of NMVpnEditorPluginVT is not +defined in public API of libnm, instead it must be agreed by +both the plugin and the caller. See the header-only file +'nm-vpn-editor-plugin-call.h' which defines the meaning.</p> +<div class="refsect3"> +<a name="nm-vpn-editor-plugin-get-vt.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>plugin</p></td> +<td class="parameter_description"><p>the <a class="link" href="NMVpnEditorPlugin.html" title="NMVpnEditorPlugin"><span class="type">NMVpnEditorPlugin</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>vt</p></td> +<td class="parameter_description"><p> buffer to be filled with the VT table of the plugin. </p></td> +<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td> +</tr> +<tr> +<td class="parameter_name"><p>vt_size</p></td> +<td class="parameter_description"><p>the size of the buffer. Can be 0 to only query the +size of plugin's VT.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="nm-vpn-editor-plugin-get-vt.returns"></a><h4>Returns</h4> +<p> the actual size of the <em class="parameter"><code>plugin</code></em> +'s virtual function table.</p> +</div> +<p class="since">Since: 1.4</p> +</div> +<hr> +<div class="refsect2"> <a name="nm-vpn-editor-plugin-import"></a><h3>nm_vpn_editor_plugin_import ()</h3> <pre class="programlisting"><a class="link" href="NMConnection.html" title="NMConnection"><span class="returnvalue">NMConnection</span></a> * nm_vpn_editor_plugin_import (<em class="parameter"><code><a class="link" href="NMVpnEditorPlugin.html" title="NMVpnEditorPlugin"><span class="type">NMVpnEditorPlugin</span></a> *plugin</code></em>, <em class="parameter"><code>const <span class="type">char</span> *path</code></em>, <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre> <div class="refsect3"> -<a name="id-1.7.3.11.6.4"></a><h4>Parameters</h4> +<a name="nm-vpn-editor-plugin-import.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> @@ -302,7 +384,7 @@ nm_vpn_editor_plugin_import (<em class="parameter"><code><a class="link" href="N </table></div> </div> <div class="refsect3"> -<a name="id-1.7.3.11.6.5"></a><h4>Returns</h4> +<a name="nm-vpn-editor-plugin-import.returns"></a><h4>Returns</h4> <p> a new <a class="link" href="NMConnection.html" title="NMConnection"><span class="type">NMConnection</span></a> imported from <em class="parameter"><code>path</code></em> , or <code class="literal">NULL</code> on error or if the file at <em class="parameter"><code>path</code></em> @@ -345,9 +427,10 @@ function.</p> is not an absolute path name, it assumes the file is in the plugin directory of NetworkManager. In any case, the call will do certain checks on the file before passing it to dlopen. -A consequence for that is, that you cannot omit the ".so" suffix.</p> +A consequence for that is, that you cannot omit the ".so" suffix +as you could for <a class="link" href="NMVpnEditorPlugin.html#nm-vpn-editor-plugin-load" title="nm_vpn_editor_plugin_load ()"><code class="function">nm_vpn_editor_plugin_load()</code></a>.</p> <div class="refsect3"> -<a name="id-1.7.3.11.9.6"></a><h4>Parameters</h4> +<a name="nm-vpn-editor-plugin-load-from-file.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> @@ -398,12 +481,125 @@ loading the shared library. </p></td> </table></div> </div> <div class="refsect3"> -<a name="id-1.7.3.11.9.7"></a><h4>Returns</h4> +<a name="nm-vpn-editor-plugin-load-from-file.returns"></a><h4>Returns</h4> <p> a new plugin instance or <code class="literal">NULL</code> on error. </p> <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.2</p> </div> +<hr> +<div class="refsect2"> +<a name="nm-vpn-editor-plugin-load"></a><h3>nm_vpn_editor_plugin_load ()</h3> +<pre class="programlisting"><a class="link" href="NMVpnEditorPlugin.html" title="NMVpnEditorPlugin"><span class="returnvalue">NMVpnEditorPlugin</span></a> * +nm_vpn_editor_plugin_load (<em class="parameter"><code>const <span class="type">char</span> *plugin_name</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *check_service</code></em>, + <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre> +<p>Load the shared libary <em class="parameter"><code>plugin_name</code></em> + and create a new +<a class="link" href="NMVpnEditorPlugin.html" title="NMVpnEditorPlugin"><span class="type">NMVpnEditorPlugin</span></a> instace via the <a class="link" href="NMVpnEditorPlugin.html#NMVpnEditorPluginFactory" title="NMVpnEditorPluginFactory ()"><span class="type">NMVpnEditorPluginFactory</span></a> +function.</p> +<p>This is similar to <a class="link" href="NMVpnEditorPlugin.html#nm-vpn-editor-plugin-load-from-file" title="nm_vpn_editor_plugin_load_from_file ()"><code class="function">nm_vpn_editor_plugin_load_from_file()</code></a>, but +it does no validation of the plugin name, instead passes it directly +to <code class="function">dlopen()</code>. If you have the full path to a plugin file, +<a class="link" href="NMVpnEditorPlugin.html#nm-vpn-editor-plugin-load-from-file" title="nm_vpn_editor_plugin_load_from_file ()"><code class="function">nm_vpn_editor_plugin_load_from_file()</code></a> is preferred.</p> +<div class="refsect3"> +<a name="nm-vpn-editor-plugin-load.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>plugin_name</p></td> +<td class="parameter_description"><p>The name of the shared library to load. +This path will be directly passed to <code class="function">dlopen()</code> without +further checks.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>check_service</p></td> +<td class="parameter_description"><p>if not-null, check that the loaded plugin advertises +the given service.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>error</p></td> +<td class="parameter_description"><p>on failure the error reason.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="nm-vpn-editor-plugin-load.returns"></a><h4>Returns</h4> +<p> a new plugin instance or <code class="literal">NULL</code> on error. </p> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> +</div> +<p class="since">Since: 1.4</p> +</div> +<hr> +<div class="refsect2"> +<a name="nm-vpn-editor-plugin-get-plugin-info"></a><h3>nm_vpn_editor_plugin_get_plugin_info ()</h3> +<pre class="programlisting">struct <span class="returnvalue">_NMVpnPluginInfo</span> * +nm_vpn_editor_plugin_get_plugin_info (<em class="parameter"><code><a class="link" href="NMVpnEditorPlugin.html" title="NMVpnEditorPlugin"><span class="type">NMVpnEditorPlugin</span></a> *plugin</code></em>);</pre> +<div class="refsect3"> +<a name="nm-vpn-editor-plugin-get-plugin-info.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>plugin</p></td> +<td class="parameter_description"><p>the <a class="link" href="NMVpnEditorPlugin.html" title="NMVpnEditorPlugin"><span class="type">NMVpnEditorPlugin</span></a> instance</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="nm-vpn-editor-plugin-get-plugin-info.returns"></a><h4>Returns</h4> +<p> if set, return the <span class="type">NMVpnPluginInfo</span> instance. </p> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> +</div> +<p class="since">Since: 1.4</p> +</div> +<hr> +<div class="refsect2"> +<a name="nm-vpn-editor-plugin-set-plugin-info"></a><h3>nm_vpn_editor_plugin_set_plugin_info ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +nm_vpn_editor_plugin_set_plugin_info (<em class="parameter"><code><a class="link" href="NMVpnEditorPlugin.html" title="NMVpnEditorPlugin"><span class="type">NMVpnEditorPlugin</span></a> *plugin</code></em>, + <em class="parameter"><code><span class="type">struct _NMVpnPluginInfo</span> *plugin_info</code></em>);</pre> +<p>Set or clear the plugin-info instance. +This takes a weak reference on <em class="parameter"><code>plugin_info</code></em> +, to avoid circular +reference as the plugin-info might also reference the editor-plugin.</p> +<div class="refsect3"> +<a name="nm-vpn-editor-plugin-set-plugin-info.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>plugin</p></td> +<td class="parameter_description"><p>the <a class="link" href="NMVpnEditorPlugin.html" title="NMVpnEditorPlugin"><span class="type">NMVpnEditorPlugin</span></a> instance</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>plugin_info</p></td> +<td class="parameter_description"><p> a <span class="type">NMVpnPluginInfo</span> instance or <code class="literal">NULL</code>. </p></td> +<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.4</p> +</div> </div> <div class="refsect1"> <a name="NMVpnEditorPlugin.other_details"></a><h2>Types and Values</h2> @@ -411,7 +607,7 @@ loading the shared library. </p></td> <a name="NMVpnEditorPluginCapability"></a><h3>enum NMVpnEditorPluginCapability</h3> <p>Flags that indicate certain capabilities of the plugin to editor programs.</p> <div class="refsect3"> -<a name="id-1.7.3.12.2.4"></a><h4>Members</h4> +<a name="NMVpnEditorPluginCapability.members"></a><h4>Members</h4> <div class="informaltable"><table width="100%" border="0"> <colgroup> <col width="300px" class="enum_members_name"> @@ -491,11 +687,17 @@ loading the shared library. </p></td> GError **error); char * (*get_suggested_filename) (NMVpnEditorPlugin *plugin, NMConnection *connection); + + void (*notify_plugin_info_set) (NMVpnEditorPlugin *plugin, + struct _NMVpnPluginInfo *plugin_info); + + const NMVpnEditorPluginVT *(*get_vt) (NMVpnEditorPlugin *plugin, + gsize *out_vt_size); } NMVpnEditorPluginInterface; </pre> <p>Interface for VPN editor plugins.</p> <div class="refsect3"> -<a name="id-1.7.3.12.6.5"></a><h4>Members</h4> +<a name="NMVpnEditorPluginInterface.members"></a><h4>Members</h4> <div class="informaltable"><table width="100%" border="0"> <colgroup> <col width="300px" class="struct_members_name"> @@ -504,11 +706,6 @@ loading the shared library. </p></td> </colgroup> <tbody> <tr> -<td class="struct_member_name"><p><span class="type">GTypeInterface</span> <em class="structfield"><code><a name="NMVpnEditorPluginInterface.g-iface"></a>g_iface</code></em>;</p></td> -<td class="struct_member_description"><p>the parent interface</p></td> -<td class="struct_member_annotations"> </td> -</tr> -<tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="NMVpnEditorPluginInterface.get-editor"></a>get_editor</code></em> ()</p></td> <td class="struct_member_description"><p>returns an <a class="link" href="NMVpnEditorPlugin.html#NMVpnEditor"><span class="type">NMVpnEditor</span></a>, pre-filled with values from <em class="parameter"><code>connection</code></em> if non-<code class="literal">NULL</code>.</p></td> @@ -546,6 +743,17 @@ name. Returned value will be <code class="literal">NULL</code> or a suggested f the caller.</p></td> <td class="struct_member_annotations"> </td> </tr> +<tr> +<td class="struct_member_name"><p><em class="structfield"><code><a name="NMVpnEditorPluginInterface.notify-plugin-info-set"></a>notify_plugin_info_set</code></em> ()</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="struct_member_name"><p><em class="structfield"><code><a name="NMVpnEditorPluginInterface.get-vt"></a>get_vt</code></em> ()</p></td> +<td class="struct_member_description"><p>return a virtual function table to implement further functions in +the plugin, without requiring to update libnm. Used by <a class="link" href="NMVpnEditorPlugin.html#nm-vpn-editor-plugin-get-vt" title="nm_vpn_editor_plugin_get_vt ()"><code class="function">nm_vpn_editor_plugin_get_vt()</code></a>.</p></td> +<td class="struct_member_annotations"> </td> +</tr> </tbody> </table></div> </div> @@ -555,6 +763,11 @@ the caller.</p></td> <a name="NMVpnEditor-struct"></a><h3>NMVpnEditor</h3> <pre class="programlisting">typedef struct _NMVpnEditor NMVpnEditor;</pre> </div> +<hr> +<div class="refsect2"> +<a name="NMVpnEditorPluginVT"></a><h3>NMVpnEditorPluginVT</h3> +<pre class="programlisting">typedef struct _NMVpnEditorPluginVT NMVpnEditorPluginVT;</pre> +</div> </div> <div class="refsect1"> <a name="NMVpnEditorPlugin.property-details"></a><h2>Property Details</h2> @@ -594,6 +807,6 @@ user_function (<a class="link" href="NMVpnEditorPlugin.html#NMVpnEditor"><span c </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.24</div> +<hr>Generated by GTK-Doc V1.25</div> </body> </html> \ No newline at end of file |