gplugin/gplugin
Clone
Summary
Browse
Changes
Graph
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>