view PLUGIN_HOWTO @ 15681:14d85ee22d78

Added a new GaimEventLoopUiOps item, input_get_error(). This function allows the UI to return the current error status on a socket/input. If the UI does not implement it (as Pidgin and gntgaim do not, since glib's handling of sockets is sane), it is just a wrapper around getsockopt(). Implemented or not, its return values should match those of getsockopt() with a level of SOL_SOCKET and an option of SO_ERROR. For curious souls, Adium will be using this to provide a working version of getsockopt(); the CoreFoundation CFSocket class which is used for socket read/write calls getsockopt() with SO_ERROR itself, thereby clearing the error flag [as documented in getsockopt()'s behavior], so depending upon it for determining if an error occurred leads to significant misbehavior.
author Evan Schoenberg <evan.s@dreskin.net>
date Fri, 23 Feb 2007 05:17:20 +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.