Mercurial > pidgin
comparison plugins/ChangeLog @ 1047:ece2d1543b20
[gaim-migrate @ 1057]
Plugins now use GModule. Protocol plugins can be dynamically updated.
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Wed, 01 Nov 2000 22:30:36 +0000 |
parents | daad2440a642 |
children | 4ebde910e95c |
comparison
equal
deleted
inserted
replaced
1046:4593605da0e2 | 1047:ece2d1543b20 |
---|---|
1 version 0.11.0: | 1 version 0.11.0: |
2 Gaim is now multi-connection based. This represents a significant | 2 Gaim is now multi-connection based. This represents a significant |
3 change. Most of the code was modified, though most of the modifications | 3 change. Most of the code was modified, though most of the modifications |
4 were small (referencing an int as part of a struct as opposed to as a | 4 were small (referencing an int as part of a struct as opposed to as a |
5 global int). Such changes will require most plugins to be modified to | 5 global int). Plugins need to be modified to match the new function |
6 match the new function declarations and such. | 6 declarations and such. |
7 | 7 |
8 The plugin system itself was only slightly modified. However, the | 8 Gaim now uses GModule from the GLib library for plugins. This brings |
9 arguments passed to signal handlers have been modified in some cases. | 9 a few changes. gaim_plugin_init is now passed a GModule *, which it |
10 Look at the updates SIGNALS file to see what the new arguments passed | 10 should use for all of its callbacks. gaim_plugin_init now returns |
11 to your handlers are. In some cases the only change necessary will be | 11 char * instead of int instead of void. If gaim_plugin_init returns |
12 to modify the function declaration; in many cases the changes will be | 12 NULL then gaim assumes everything was OK and proceeds. Otherwise, it |
13 much more substantial. The only thing really to say here is that there | 13 displays the error message and unloads your plugin. There is no more |
14 is no more event_blist_update. This event may make a comeback, but | 14 gaim_plugin_error (at least, that gaim itself will use. You may wish |
15 that seems doubtful at this point. The good news is that you shouldn't | 15 to simply return gaim_plugin_error() in gaim_plugin_init). |
16 need it anymore anyway. | 16 |
17 Because gaim now uses GModule, plugins are opened with RTLD_GLOBAL. I | |
18 had previously wanted to avoid this, but there are simply too many | |
19 benefits gained from using GModule to reject it for this reason. This | |
20 means that plugins can now call each other's functions. Beware, this | |
21 has good and bad implications. If you call a function, it will look | |
22 first in your plugin, and then in gaim's global symbol table, including | |
23 other plugins. | |
17 | 24 |
18 The new system allows for protocol plugins. New protocols (including | 25 The new system allows for protocol plugins. New protocols (including |
19 Yahoo, MSN, IRC, ICQ, etc) can be loaded dynamically. However, most | 26 Yahoo, MSN, IRC, ICQ, etc) can be loaded dynamically. However, most |
20 of these plugins are going to be controlled by the gaim maintainers. | 27 of these plugins are going to be controlled by the gaim maintainers. |
21 If you have interest in writing a protocol plugin, please talk to one | 28 If you have interest in writing a protocol plugin, please talk to one |