grim/purple-objects-docbook
Clone
Summary
Browse
Changes
Graph
added a separate page for hashes and removed them from the ciphers hierarchy
2009-07-20, Gary Kramlich
3c6fcfa74ae9
added a separate page for hashes and removed them from the ciphers hierarchy
<?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=
"plugins"
>
<title>
Plugins
</title>
<para>
Plugins
won't
change
too
much
when
it
comes
to
plugin
developers,
but
theres
a
bit
that
will
change
in
the
backend
to
make
better
use
of
the
type
system.
</para>
<para>
The
obvious
changes
in
<xref
linkend=
"plugin-hierarchy"
/>
is
that
PurplePlugin
is
now
an
abstract
class
and
there
is
a
new
PurpleNativePlugin
class.
These
changes
have
been
made
to
avoid
having
to
shoehorn
the
Perl,
TCL,
and
Mono
plugins
into
the
C
centric
PurplePlugin
that
we
currently
have.
The
PurplePluginLoader's
will
do
the
actual
work
of
translating
between
the
purple
C/GObject
API
and
the
language
to
which
the
loader
is
implementing.
</para>
<figure
id=
"plugin-hierarchy"
>
<title>
Plugin
Object
Hierarchy
</title>
<graphic
fileref=
"graphs/plugins.png"
/>
</figure>
<para>
Theres
a
noticable
size
difference
in
the
PurplePlugin
shown
in
<xref
linkend=
"plugin-class"
/>
.
All
of
the
meta
information
has
been
moved
to
the
new
boxed
type
PurplePluginInfo.
The
versioning
info
has
been
moved
to
be
loader
dependent
as
well.
PurplePluginType
is
thrown
out
since
we
can
the
use
of
interfaces
for
PurpleProtocolPlugin,
PurplePluginLoader,
and
so
on,
are
all
interfaces
and
can
be
checked
by
the
usual
GObject
methods.
</para>
<figure
id=
"plugin-class"
>
<title>
Plugin
Class
</title>
<graphic
fileref=
"graphs/plugin.png"
/>
</figure>
<figure
id=
"plugin-info"
>
<title>
Plugin
Info
Struct
</title>
<graphic
fileref=
"graphs/plugin-info.png"
/>
</figure>
<figure
id=
"plugin-state"
>
<title>
Plugin
State
Enum
</title>
<graphic
fileref=
"graphs/plugin-state.png"
/>
</figure>
</chapter>