1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>visu_plugins</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="index.html" title="V_Sim API - Reference Manual">
<link rel="up" href="core.html" title="Part I. Core">
<link rel="prev" href="v-sim-visu-dump.html" title="visu_dump">
<link rel="next" href="ch01.html" title="Core tools">
<meta name="generator" content="GTK-Doc V1.14 (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="2">
<tr valign="middle">
<td><a accesskey="p" href="v-sim-visu-dump.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="core.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">V_Sim API - Reference Manual</th>
<td><a accesskey="n" href="ch01.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#v-sim-visu-plugins.synopsis" class="shortcut">Top</a>
|
<a href="#v-sim-visu-plugins.description" class="shortcut">Description</a>
</td></tr>
</table>
<div class="refentry" title="visu_plugins">
<a name="v-sim-visu-plugins"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="v-sim-visu-plugins.top_of_page"></a>visu_plugins</span></h2>
<p>visu_plugins — Introduces the basic handling of plug-ins.</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv" title="Synopsis">
<a name="v-sim-visu-plugins.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> (<a class="link" href="v-sim-visu-plugins.html#VisuPluginInitFunc" title="VisuPluginInitFunc ()">*VisuPluginInitFunc</a>) (<em class="parameter"><code><span class="type">void</span></code></em>);
const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * (<a class="link" href="v-sim-visu-plugins.html#VisuPluginInfoFunc" title="VisuPluginInfoFunc ()">*VisuPluginInfoFunc</a>) (<em class="parameter"><code><span class="type">void</span></code></em>);
<a class="link" href="v-sim-visu-plugins.html#VisuPlugin" title="VisuPlugin">VisuPlugin</a>;
<span class="returnvalue">void</span> <a class="link" href="v-sim-visu-plugins.html#visu-plugins-init" title="visu_plugins_init ()">visu_plugins_init</a> ();
<a href="/usr/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a>* <a class="link" href="v-sim-visu-plugins.html#visu-plugins-getListLoaded" title="visu_plugins_getListLoaded ()">visu_plugins_getListLoaded</a> ();
const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a>* <a class="link" href="v-sim-visu-plugins.html#visu-plugin-getName" title="visu_plugin_getName ()">visu_plugin_getName</a> (<em class="parameter"><code><a class="link" href="v-sim-visu-plugins.html#VisuPlugin" title="VisuPlugin"><span class="type">VisuPlugin</span></a> *plug</code></em>);
const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a>* <a class="link" href="v-sim-visu-plugins.html#visu-plugin-getDescription" title="visu_plugin_getDescription ()">visu_plugin_getDescription</a> (<em class="parameter"><code><a class="link" href="v-sim-visu-plugins.html#VisuPlugin" title="VisuPlugin"><span class="type">VisuPlugin</span></a> *plug</code></em>);
const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a>* <a class="link" href="v-sim-visu-plugins.html#visu-plugin-getIconPath" title="visu_plugin_getIconPath ()">visu_plugin_getIconPath</a> (<em class="parameter"><code><a class="link" href="v-sim-visu-plugins.html#VisuPlugin" title="VisuPlugin"><span class="type">VisuPlugin</span></a> *plug</code></em>);
const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a>* <a class="link" href="v-sim-visu-plugins.html#visu-plugin-getAuthors" title="visu_plugin_getAuthors ()">visu_plugin_getAuthors</a> (<em class="parameter"><code><a class="link" href="v-sim-visu-plugins.html#VisuPlugin" title="VisuPlugin"><span class="type">VisuPlugin</span></a> *plug</code></em>);
<span class="returnvalue">void</span> <a class="link" href="v-sim-visu-plugins.html#visu-plugin-initGtk" title="visu_plugin_initGtk ()">visu_plugin_initGtk</a> (<em class="parameter"><code><a class="link" href="v-sim-visu-plugins.html#VisuPlugin" title="VisuPlugin"><span class="type">VisuPlugin</span></a> *plug</code></em>);
</pre>
</div>
<div class="refsect1" title="Description">
<a name="v-sim-visu-plugins.description"></a><h2>Description</h2>
<p>
</p>
<p>
Plug-ins are made of shared library presenting some common routines. These routines are of kind:
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem"><p>
<a href="v-sim-visu-plugins.html#pluginsInitFunc"><code class="function">pluginsInitFunc()</code></a>, such a routine is called at V_Sim startup. It should initialise all things required by the module. For instance, if the module is used to add a load method for atomic rendering, it should call <a class="link" href="VisuRendering.html#visu-rendering-addFileFormat" title="visu_rendering_addFileFormat ()"><code class="function">visu_rendering_addFileFormat()</code></a> to declare itself to V_Sim.
</p></li>
<li class="listitem"><p>
<a href="v-sim-visu-plugins.html#pluginsDescriptionFunc"><code class="function">pluginsDescriptionFunc()</code></a>, is used to get a short description of the plug-in.
</p></li>
<li class="listitem"><p>
<a href="v-sim-visu-plugins.html#pluginsAuthorsFunc"><code class="function">pluginsAuthorsFunc()</code></a>, gives a list of authors for the plug-in.
</p></li>
<li class="listitem"><p>
<a href="v-sim-visu-plugins.html#pluginsIconFunc"><code class="function">pluginsIconFunc()</code></a>, returns a path where a small icon representing the plug-in can be found.
</p></li>
</ul></div>
<p>
All these routines must be named using the name of the module. When the module is loaded into memory, V_Sim will try to find these methods and will store them into the <a class="link" href="v-sim-visu-plugins.html#VisuPlugin" title="VisuPlugin"><span class="type">VisuPlugin</span></a> structure for future calls.
</p>
<p>
</p>
<p>
At the present time, only the Unix version is functional. Moreover, currently, no stable API is available from the main program. This should be corrected quickly.
</p>
<p>
</p>
</div>
<div class="refsect1" title="Details">
<a name="v-sim-visu-plugins.details"></a><h2>Details</h2>
<div class="refsect2" title="VisuPluginInitFunc ()">
<a name="VisuPluginInitFunc"></a><h3>VisuPluginInitFunc ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> (*VisuPluginInitFunc) (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>
This kind of method should exist in all plugins with the
name '{module_name}Init'. It is called by V_Sim when the module is loaded.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> TRUE if it loads correctly.
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="VisuPluginInfoFunc ()">
<a name="VisuPluginInfoFunc"></a><h3>VisuPluginInfoFunc ()</h3>
<pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * (*VisuPluginInfoFunc) (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>
This kind of method should exist in all plugins it give a description of
what the plugin does. It must be named '{module_name}Get_description'.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> a string in UTF-8 owned by the plugin.
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="VisuPlugin">
<a name="VisuPlugin"></a><h3>VisuPlugin</h3>
<pre class="programlisting">typedef struct _VisuPlugin VisuPlugin;</pre>
<p>
Short way to address <a class="link" href="v-sim-visu-plugins.html#VisuPlugin" title="VisuPlugin"><span class="type">_VisuPlugin</span></a> objects.
</p>
</div>
<hr>
<div class="refsect2" title="visu_plugins_init ()">
<a name="visu-plugins-init"></a><h3>visu_plugins_init ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> visu_plugins_init ();</pre>
<p>
Initialise this part of code. Should not be called (called once
by V_Sim on startup only). It try to load
all plugins found in the installation directory and in the user directory.
</p>
</div>
<hr>
<div class="refsect2" title="visu_plugins_getListLoaded ()">
<a name="visu-plugins-getListLoaded"></a><h3>visu_plugins_getListLoaded ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a>* visu_plugins_getListLoaded ();</pre>
<p>
On startup, plugins are loaded according to a list present in the configuration
file. It is possible to access the list of all loaded plugins with this method.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> a <a href="/usr/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> owned by V_Sim of <a class="link" href="v-sim-visu-plugins.html#VisuPlugin" title="VisuPlugin"><span class="type">VisuPlugin</span></a> objects.. <acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> VisuPlugin. <acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym> VisuPlugin. </td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="visu_plugin_getName ()">
<a name="visu-plugin-getName"></a><h3>visu_plugin_getName ()</h3>
<pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a>* visu_plugin_getName (<em class="parameter"><code><a class="link" href="v-sim-visu-plugins.html#VisuPlugin" title="VisuPlugin"><span class="type">VisuPlugin</span></a> *plug</code></em>);</pre>
<p>
Return a string with the name.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>plug</code></em> :</span></p></td>
<td>a <a class="link" href="v-sim-visu-plugins.html#VisuPlugin" title="VisuPlugin"><span class="type">VisuPlugin</span></a> object.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> a private string.
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 3.6</p>
</div>
<hr>
<div class="refsect2" title="visu_plugin_getDescription ()">
<a name="visu-plugin-getDescription"></a><h3>visu_plugin_getDescription ()</h3>
<pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a>* visu_plugin_getDescription (<em class="parameter"><code><a class="link" href="v-sim-visu-plugins.html#VisuPlugin" title="VisuPlugin"><span class="type">VisuPlugin</span></a> *plug</code></em>);</pre>
<p>
Return a string with the description of the plugin.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>plug</code></em> :</span></p></td>
<td>a <a class="link" href="v-sim-visu-plugins.html#VisuPlugin" title="VisuPlugin"><span class="type">VisuPlugin</span></a> object.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> a private string.
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 3.6</p>
</div>
<hr>
<div class="refsect2" title="visu_plugin_getIconPath ()">
<a name="visu-plugin-getIconPath"></a><h3>visu_plugin_getIconPath ()</h3>
<pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a>* visu_plugin_getIconPath (<em class="parameter"><code><a class="link" href="v-sim-visu-plugins.html#VisuPlugin" title="VisuPlugin"><span class="type">VisuPlugin</span></a> *plug</code></em>);</pre>
<p>
Return a string with the path to find an icon representing the plugin.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>plug</code></em> :</span></p></td>
<td>a <a class="link" href="v-sim-visu-plugins.html#VisuPlugin" title="VisuPlugin"><span class="type">VisuPlugin</span></a> object.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> a private string.
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 3.6</p>
</div>
<hr>
<div class="refsect2" title="visu_plugin_getAuthors ()">
<a name="visu-plugin-getAuthors"></a><h3>visu_plugin_getAuthors ()</h3>
<pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a>* visu_plugin_getAuthors (<em class="parameter"><code><a class="link" href="v-sim-visu-plugins.html#VisuPlugin" title="VisuPlugin"><span class="type">VisuPlugin</span></a> *plug</code></em>);</pre>
<p>
Return a string with the list of authors.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>plug</code></em> :</span></p></td>
<td>a <a class="link" href="v-sim-visu-plugins.html#VisuPlugin" title="VisuPlugin"><span class="type">VisuPlugin</span></a> object.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> a private string.
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 3.6</p>
</div>
<hr>
<div class="refsect2" title="visu_plugin_initGtk ()">
<a name="visu-plugin-initGtk"></a><h3>visu_plugin_initGtk ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> visu_plugin_initGtk (<em class="parameter"><code><a class="link" href="v-sim-visu-plugins.html#VisuPlugin" title="VisuPlugin"><span class="type">VisuPlugin</span></a> *plug</code></em>);</pre>
<p>
Run the <code class="function">initGtk()</code> method of the plugin, if it exists.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>plug</code></em> :</span></p></td>
<td>a <a class="link" href="v-sim-visu-plugins.html#VisuPlugin" title="VisuPlugin"><span class="type">VisuPlugin</span></a> object.
</td>
</tr></tbody>
</table></div>
<p class="since">Since 3.6</p>
</div>
</div>
</div>
<div class="footer">
<hr>
Generated by GTK-Doc V1.14</div>
</body>
</html>
|