gplugin/gplugin
Clone
Summary
Browse
Changes
Graph
Close branch bugfix/valgrind-catchup
bugfix/valgrind-catchup
2020-03-20, Gary Kramlich
e8f3d3ed4fad
Close branch bugfix/valgrind-catchup
<?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>
GPlugin
was
designed
to
be
simple
to
implement
and
use.
Initialization
and
teardown
examples
can
be
found
below.
</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.
This
will
add
`$PREFIX/lib/application`.
*/
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>