Mercurial > pidgin
view doc/plugin-ids.dox @ 9460:eae7e049d639
[gaim-migrate @ 10285]
" This patch completely eliminates the use of the old
numeric prpl identifiers.
I've noticed that some plugins (both in gaim's cvs and
external) continue to use the constants even though
they are essentially no longer valid - code that relies
on them being unique will fail - the new built-in prpls
(SILC and novell) ,and any recent external prpls don't
have numeric values.
The once side effect that the removal causes is that
the code for importing of the old .gaimrc and *.blist
files is a little more kludgy (using magic numbers
instead of the old constants). IMHO this isn't a big
deal as the code will go away eventually anyway.
**This patch also fixes the raw plugin so that i
compiles once again.
**Someone should make sure that the gaim-remote and raw
plugins still work. (If the raw doesn't work, it may be
unrelated as it hasn't been updated since the latest
significant MSN changes - i just made a minor change to
make it compile)" --Daniel Atallah
(13:44:44) Me: what think you of getting rid of prpl numbers?
(13:45:05) Sean: what do you mean?
(13:45:27) Me: right now they are listed as deprecated, but still used in a
few of our own plugins as well as in some 3rd party stuff
(13:45:32) Me: and the enum still exists in the core
(13:45:44) Me: and the newwer prpls such as novell don't use them
(13:45:59) Me: datallah has submitted a patch to get rid of them entirely
(13:46:31) Me: the only thing it would break would be the old blist import,
which he hacked into working with magic numbers, but which i tend to think
we could remove entirely anyway
(13:50:03) Sean: Let's get rid of them, then.
(13:50:10) Sean: and take out old .blist code too
(13:50:14) Me: cool
(13:52:37) Sean: we should get rid of .gaimrc code too, sometime.
(13:53:02) Sean: If anyone's seriously just now upgrading from 0.59.x, or
whatever, they deserve to lose their preferences.
(12:27:56) LSchiere: Paco-Paco: what do you think of getting rid of the
deprecated prpl numbers?
(12:28:14) Paco-Paco: LSchiere: I think it shouldh ave happened long ago
committer: Tailor Script <tailor@pidgin.im>
author | Luke Schierer <lschiere@pidgin.im> |
---|---|
date | Tue, 06 Jul 2004 18:06:43 +0000 |
parents | 3c3039aa7259 |
children | cf3eb9f311b2 |
line wrap: on
line source
/** @page plugin-ids Plugin IDs @section Introduction Every plugin contains a unique identifier to prevent duplicate plugin loading and conflicts. This, which will be called a plugin ID from here on, must follow a specific format. This format categorizes a plugin and makes duplicate IDs unlikely. @section Format The basic format of a plugin ID is as follows: <tt><i>type</i>-<i>username</i>-<i>pluginname</i></tt> The @em type indicator specifies the type of plugin. This must be one of the following: - core - Core plugin, capable of being loaded in any program using libgaim. It must not use any UI-specific code. - prpl - Protocol plugin, providing additional protocols to connect to. - lopl - Loader plugin, which loads scripts as plugins (like Perl or TCL). - gtk - GTK+ 2.x plugin. It may use GTK+ code, but cannot use any window toolkit code (such as X11 or Win32). - gtk-x11 - GTK+ 2.x plugin using X11 code. - gtk-win32 - GTK+ 2.x plugin using Win32 code. - qpe - Gaim for Qtopia plugin. The @em username must be a unique identifier for that person. It @em should be your Gaim website user ID (registered <a href="http://gaim.sourceforge.net/register.php">here</a>). If for some reason you cannot register there (it shouldn't be a problem!), you can use your SourceForge ID. Do @em not leave this field blank. The @em pluginname is the name of your plugin. It can be whatever you like, though it's common to keep it all lowercase. Do not use spaces! If you want a space, use a '-'. Please do not put a version indicator in the ID. The GaimPlugin structure already has a field for this. @section plugin-db Plugin Database Although it doesn't exist yet, in time there will be a plugin database on the Gaim website, where users can download and install new plugins. Plugins will be accessed by your plugin ID, which is one reason why it must be unique. */ // vim: syntax=c tw=75 et