gplugin/gplugin

Merge develop into default for the release
v0.29.0
2019-11-07, Gary Kramlich
fc9c95c883ae
Merge develop into default for the release
<?xml version='1.0' encoding="UTF-8"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
]>
<chapter id="chapter-embedding">
<title>Embedding GPlugin</title>
<simplesect id="intro">
<para>
You can embed GPlugin into any language that has GObject-Introspection
support, but in this example we're going to look at embedding GPlugin
into a C based project.
</para>
<para>
Using GPlugin is pretty simple and I'd like to think straight forward
since that's the way I designed it.
</para>
</simplesect>
<simplesect id="initialization">
<para>
During the start up of your application you need to add the following
code:
<informalexample><programlisting>
/* Initialize the GPlugin library */
gplugin_init();
/* Tell GPlugin to look for plugins in its default paths */
gplugin_manager_add_default_paths();
/* Optionally tell GPlugin to look for plugins in application specific
* paths.
*/
gplugin_manager_add_app_paths(PREFIX, "application");
/* Once you're ready to find/load plugins call g_plugin_manager_refresh.
*/
gplugin_manager_refresh();
</programlisting></informalexample>
</para>
</simplesect>
<simplesect id="shutdown">
<para>
When your application is shutting down you need to uninitialize GPlugin
by calling
<informalexample><programlisting>
gplugin_uninit();
</programlisting></informalexample>
</para>
</simplesect>
</chapter>