doc/plugin-ids.dox

Tue, 18 Sep 2007 16:32:46 +0000

author
Will Thompson <resiak@pidgin.im>
date
Tue, 18 Sep 2007 16:32:46 +0000
branch
cpw.resiak.disconnectreason
changeset 20436
5db94d66f5d7
parent 16257
66f737e6b718
child 20897
2608e9e07913
permissions
-rw-r--r--

merge of 'bc4b48f6fbaaf411c3e9245a9d0e3f22d763aacf'
and 'f7a11b4aef9753768661d36921787fad7693ad43'

7335
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1 /** @page plugin-ids Plugin IDs
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
3 @section Introduction
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
4 Every plugin contains a unique identifier to prevent duplicate plugin
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
5 loading and conflicts. This, which will be called a plugin ID from here
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
6 on, must follow a specific format. This format categorizes a plugin and
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
7 makes duplicate IDs unlikely.
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
8
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
9
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
10 @section Format
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
11 The basic format of a plugin ID is as follows:
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
12
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13 <tt><i>type</i>-<i>username</i>-<i>pluginname</i></tt>
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
14
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15 The @em type indicator specifies the type of plugin. This must be one
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
16 of the following:
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
17
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18 - core - Core plugin, capable of being loaded in any program using
16257
66f737e6b718 More renaming.
Richard Laager <rlaager@pidgin.im>
parents: 13925
diff changeset
19 libpurple. It must not use any UI-specific code.
7335
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
20 - prpl - Protocol plugin, providing additional protocols to
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
21 connect to.
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
22 - lopl - Loader plugin, which loads scripts as plugins (like Perl
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
23 or TCL).
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
24 - gtk - GTK+ 2.x plugin. It may use GTK+ code, but cannot use any
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
25 window toolkit code (such as X11 or Win32).
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
26 - gtk-x11 - GTK+ 2.x plugin using X11 code.
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
27 - gtk-win32 - GTK+ 2.x plugin using Win32 code.
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
28 - qpe - Gaim for Qtopia plugin.
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
29
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
30 The @em username must be a unique identifier for that person. It
13925
cf8ee500a599 [gaim-migrate @ 16326]
Riley Patterson <therylz@users.sourceforge.net>
parents: 7335
diff changeset
31 @em should be your SourceForge ID. Do @em not leave this field
7335
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
32 blank.
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
33
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
34 The @em pluginname is the name of your plugin. It can be whatever you like,
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
35 though it's common to keep it all lowercase. Do not use spaces! If you
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
36 want a space, use a '-'. Please do not put a version indicator in the ID.
16257
66f737e6b718 More renaming.
Richard Laager <rlaager@pidgin.im>
parents: 13925
diff changeset
37 The PurplePlugin structure already has a field for this.
7335
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
38
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
39
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
40 @section plugin-db Plugin Database
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
41 Although it doesn't exist yet, in time there will be a plugin database
16257
66f737e6b718 More renaming.
Richard Laager <rlaager@pidgin.im>
parents: 13925
diff changeset
42 on the Pidgin website, where users can download and install new plugins.
7335
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
43 Plugins will be accessed by your plugin ID, which is one reason why it
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
44 must be unique.
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
45
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
46 */
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
47
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
48 // vim: syntax=c tw=75 et

mercurial