view PLUGIN_HOWTO @ 15786:b25acae693cd

Change connection.c:gaim_connection_error() to still work even if the message parameter is NULL. There's no reason to error-out of that function just because some yuppie didn't pass us an error message. But we still log a critical message, so those of you at home running with fatal_criticals will still crash. I noticed this because Jabber isn't handling <stream:error/> correctly right now. Anyone else notice this? The code is written to look for "stream:error", but our xmlnode stuff just sees "error" (even though the "stream:error" format is sent over the wire). I think it's because of the libxml change. To reproduce the problem, sign onto the same resource twice and note that the error message that Gaim gives you sucks.
author Mark Doliner <mark@kingant.net>
date Tue, 13 Mar 2007 07:33:08 +0000
parents 7acebc9d043f
children cc3c50816cc9
line wrap: on
line source

For information on writing a plugin for Gaim, go
http://gaim.sourceforge.net/api/ and see the HOWTOs in the
"Related Pages" section.

You can also generate this documentation locally by installing
doxygen and graphviz dot, then running "make docs" in the Gaim
source tree.  The documentation will be in the docs/html directory.

This next paragraph is old and possibly out of date:
Compilation of the plugins is fairly straight-forward; there is a
Makefile in this directory that has a rule for making the .so file
from a .c file. No modification of the Makefile should be necessary,
unless if you simply want to type 'make' to have it made; otherwise,
'make filename.so' will take filename.c and make the .so plugin from
it. If you need to link in with extra libraries, you can set the
environment variable PLUGIN_LIBS to be the libraries you want to link
with.

It should be possible to compile plugins outside of the Gaim source
tree, which is a much cleaner solution.