grim/purple-objects-docbook

b58c3af1700c
added the has-a relationship for PurpleHMACCipher
<?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="about">
<title>About</title>
<simplesect id="why">
<title>Why use GObjects in libpurple?</title>
<para>
There are many benefits GObjects can bring to purple, some of
which we have already implemented ourselves and others that we've
considered adding in the past but no one has gotten to yet.
</para>
<para>
One of the biggest benefits is the type system. While it's a bit
more work to start up a GObject class, the benefit of using a
tested type system makes it worth it. Right now we're only lightly
using inheritance. For example: PurpleBlistNode is the base class
for PurpleBuddy, PurpleChat, PurpleContact, and PurpleGroup. There
are quite a few problems with the current setup. It's error prone,
there's no type checking, and it's impossible to subclass unless
the new "type" is added to libpurple itself.
</para>
</simplesect>
</chapter>