annotate doc/C-HOWTO.dox @ 27393:57fdb7853fc7

Create a purple_markup_escape_text() function and use it in one place in oscar. This function is identical to glib's g_markup_escape_text() except that it does not replace ' with ' ' is not a valid HTML entity in HTML 4, and IE7 displays it as the raw characters and not as an apostrophe. gtk of course displays it as an apostrophe, but gtk seems to have no problems with unescaped apostrophes I really don't know why g_markup_escape_text() escapes this character. So this change should not affect Pidgin at all, and it should help any user of libpurple who displays our HTML in IE (or possibly other web browsers--I'm not sure how webkit handles ') Are people ok with this change? We should probably change a lot of other places to use this function instead of the glib one. Basically anything that converts text to html should use this. I think anything that escapes XML should continue using g_markup_escape_text(). And entry_key_pressed() in Finch can be changed to use this instead of g_markup_escape_text() and purple_strreplace()
author Mark Doliner <mark@kingant.net>
date Mon, 06 Jul 2009 23:46:56 +0000
parents e0bcb8cfda74
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10468
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
1 /** @page c-howto C Plugin HOWTO
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
2
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
3 @section Introduction
16199
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
4 C plugins are native plugins. They have complete access to all of the API,
10468
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
5 and can do basically whatever they want. All of the protocol plugins, as
16199
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
6 well as the Mono, Perl, and Tcl loader plugins are written in C.
10468
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
7
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
8 @section getting_started Getting Started
16199
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
9 To develop a plugin you need to have the libpurple and (for UI plugins) the
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
10 Pidgin/Finch source code or development headers. It is generally a good idea
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
11 to compile against the same version of Pidgin that you are running. You may
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
12 also want to develop against the code in our Monotone repository if you need
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
13 to use a new feature. Please do not abuse our Monotone repository, however.
10468
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
14
16199
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
15 All plugins must have @c PURPLE_PLUGINS defined and the definition must be
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
16 before including any libpurple, Pidgin, or Finch header files. Failure to do
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
17 so can lead to strange errors that are hard to diagnose. Just don't forget!
10468
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
18
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
19 @section hello_world Hello World!
16199
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
20 I know every tutorial has a hello world, so why should libpurple be any
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
21 different?
10468
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
22
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
23 @code
16199
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
24 #define PURPLE_PLUGINS
10468
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
25
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
26 #include <glib.h>
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
27
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
28 #include "notify.h"
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
29 #include "plugin.h"
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
30 #include "version.h"
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
31
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
32 static gboolean
16199
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
33 plugin_load(PurplePlugin *plugin) {
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
34 purple_notify_message(plugin, PURPLE_NOTIFY_MSG_INFO, "Hello World!",
10468
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
35 "This is the Hello World! plugin :)", NULL, NULL, NULL);
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
36
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
37 return TRUE;
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
38 }
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
39
16199
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
40 static PurplePluginInfo info = {
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
41 PURPLE_PLUGIN_MAGIC,
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
42 PURPLE_MAJOR_VERSION,
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
43 PURPLE_MINOR_VERSION,
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
44 PURPLE_PLUGIN_STANDARD,
10468
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
45 NULL,
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
46 0,
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
47 NULL,
16199
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
48 PURPLE_PRIORITY_DEFAULT,
10468
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
49
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
50 "core-hello_world",
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
51 "Hello World!",
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
52 VERSION,
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
53
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
54 "Hello World Plugin",
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
55 "Hello World Plugin",
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
56 NULL,
16199
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
57 "http://helloworld.tld",
10468
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
58
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
59 plugin_load,
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
60 NULL,
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
61 NULL,
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
62
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
63 NULL,
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
64 NULL,
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
65 NULL,
18537
52f3e904a250 Patch from John Bailey (rekkanoryo) to update the C Howto.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 16199
diff changeset
66 NULL,
52f3e904a250 Patch from John Bailey (rekkanoryo) to update the C Howto.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 16199
diff changeset
67 NULL,
52f3e904a250 Patch from John Bailey (rekkanoryo) to update the C Howto.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 16199
diff changeset
68 NULL,
52f3e904a250 Patch from John Bailey (rekkanoryo) to update the C Howto.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 16199
diff changeset
69 NULL,
10468
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
70 NULL
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
71 };
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
72
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
73 static void
16199
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
74 init_plugin(PurplePlugin *plugin)
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
75 {
10468
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
76 }
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
77
16199
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
78 PURPLE_INIT_PLUGIN(hello_world, init_plugin, info);
10468
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
79
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
80 @endcode
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
81
16199
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
82 Okay, so what does all this mean? We start off by defining @c PURPLE_PLUGINS
10468
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
83 like described before. Next we include glib.h, mainly for gboolean and the
16199
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
84 glib wrappers of the standard C types.
10468
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
85
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
86 Next, we include plugin.h which has all the plugin specific stuff that we
16199
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
87 need. For example: @c PurplePlugin, @c PurplePluginInfo,
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
88 @c PURPLE_PLUGIN_MAGIC, and @c PURPLE_INIT_PLUGIN().
10468
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
89
16199
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
90 Our last include is version.h which defines @c PURPLE_MAJOR_VERSION, and
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
91 @c PURPLE_MINOR_VERSION. There is not much you need to know about these,
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
92 except that they are required and will stop your plugin from crashing Pidgin
18537
52f3e904a250 Patch from John Bailey (rekkanoryo) to update the C Howto.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 16199
diff changeset
93 when something has changed that your plugin does not know about yet.
10468
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
94
18537
52f3e904a250 Patch from John Bailey (rekkanoryo) to update the C Howto.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 16199
diff changeset
95 @c plugin_load is not required. It is called when the plugin is loaded so
52f3e904a250 Patch from John Bailey (rekkanoryo) to update the C Howto.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 16199
diff changeset
96 that you can initialize any variables and so on. In this plugin we'll just
10469
51b87da4e9f0 [gaim-migrate @ 11751]
Mark Doliner <mark@kingant.net>
parents: 10468
diff changeset
97 use it to display a message.
10468
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
98
16199
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
99 Next we have the @c PurplePluginInfo structure. Every plugin MUST have one of
10468
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
100 these. Below is a code snipet of the same struct used in @c hello_world with
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
101 comments describing what each is.
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
102
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
103 @code
16199
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
104 static PurplePluginInfo info = {
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
105 PURPLE_PLUGIN_MAGIC, /* Plugin magic, this must always be
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
106 PURPLE_PLUGIN_MAGIC.
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
107 */
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
108 PURPLE_MAJOR_VERSION, /* This is also defined in libpurple. It helps
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
109 libpurple's plugin system determine which
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
110 version of libpurple this plugin was
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
111 compiled for, and whether loading it will
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
112 cause problems.
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
113 */
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
114 PURPLE_MINOR_VERSION, /* See previous */
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
115 PURPLE_PLUGIN_STANDARD, /* PurplePluginType: There are 4 different
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
116 values for this field. The first is
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
117 PURPLE_PLUGIN_UNKNOWN, which should not be
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
118 used. The second is PURPLE_PLUGIN_STANDARD;
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
119 this is the value most plugins will use.
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
120 Next, we have PURPLE_PLUGIN_LOADER; this is
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
121 the type you want to load if your plugin
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
122 is going to make it possible to load non-
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
123 native plugins. For example, the Perl and
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
124 Tcl loader plugins are of this type.
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
125 Last, we have PURPLE_PLUGIN_PROTOCOL. If
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
126 your plugin is going to allow the user to
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
127 connect to another network, this is the
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
128 type you'd want to use.
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
129 */
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
130 NULL, /* This field is the UI requirement. If you're
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
131 writing a core plugin, this must be NULL
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
132 and the plugin must not contain any UI
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
133 code. If you're writing a Pidgin plugin,
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
134 you need to use PIDGIN_PLUGIN_TYPE. If you
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
135 are writing a Finch plugin, you would use
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
136 FINCH_PLUGIN_TYPE.
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
137 */
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
138 0, /* This field is for plugin flags. Currently,
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
139 the only flag available to plugins is
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
140 invisible (PURPLE_PLUGIN_FLAG_INVISIBLE).
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
141 It causes the plugin to NOT appear in the
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
142 list of plugins.
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
143 */
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
144 NULL, /* This is a GList of plugin dependencies. In
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
145 other words, a GList of plugin id's that
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
146 your plugin depends on. Set this value to
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
147 NULL no matter what. If your plugin has
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
148 dependencies, set them at run-time in the
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
149 plugin_init function.
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
150 */
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
151 PURPLE_PRIORITY_DEFAULT,/* This is the priority libpurple with give your
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
152 plugin. There are three possible values
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
153 for this field, PURPLE_PRIORITY_DEFAULT,
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
154 PURPLE_PRIORITY_HIGHEST, and
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
155 PURPLE_PRIORITY_LOWEST
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
156 */
10468
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
157
16199
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
158 "core-hello_world", /* This is your plugin's id. There is a whole
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
159 page dedicated to this in the Related Pages
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
160 section of the API docs.
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
161 */
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
162 "Hello World!", /* This is your plugin's name. This is what
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
163 will be displayed for your plugin in the UI.
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
164 */
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
165 1.1, /* This is the version of your plugin. */
10468
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
166
16199
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
167 "Hello World Plugin", /* This is the summary of your plugin. It
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
168 should be a short little blurb. The UI
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
169 determines where, if at all, to display
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
170 this.
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
171 */
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
172 "Hello World Plugin", /* This is the description of your plugin. It
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
173 can be as long and as descriptive as you
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
174 like. And like the summary, it's up to the
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
175 UI where, if at all, to display this (and
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
176 how much to display).
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
177 */
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
178 NULL, /* This is where you can put your name and
23180
e0bcb8cfda74 Use "email" and "Email" consistently. This is potentially controversial,
Richard Laager <rlaager@wiktel.com>
parents: 20807
diff changeset
179 email address.
16199
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
180 */
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
181 "http://helloworld.tld",/* This is the website for the plugin. This
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
182 tells users where to find new versions,
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
183 report bugs, etc.
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
184 */
10468
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
185
16199
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
186 plugin_load, /* This is a pointer to a function for
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
187 libpurple to call when it is loading the
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
188 plugin. It should be of the type:
10468
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
189
16199
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
190 gboolean plugin_load(PurplePlugin *plugin)
10468
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
191
16199
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
192 Returning FALSE will stop the loading of the
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
193 plugin. Anything else would evaluate as
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
194 TRUE and the plugin will continue to load.
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
195 */
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
196 NULL, /* Same as above except it is called when
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
197 libpurple tries to unload your plugin. It
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
198 should be of the type:
10468
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
199
16199
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
200 gboolean plugin_unload(PurplePlugin *plugin)
10468
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
201
16199
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
202 Returning TRUE will tell libpurple to
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
203 continue unloading while FALSE will stop
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
204 the unloading of your plugin.
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
205 */
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
206 NULL, /* Similar to the two above members, except
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
207 this is called when libpurple tries to
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
208 destory the plugin. This is generally only
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
209 called when for some reason or another the
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
210 plugin fails to probe correctly. It should
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
211 be of the type:
10468
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
212
16199
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
213 void plugin_destroy(PurplePlugin *plugin)
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
214 */
10468
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
215
16199
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
216 NULL, /* This is a pointer to a UI-specific struct.
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
217 For a Pidgin plugin it will be a pointer to a
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
218 PidginPluginUiInfo struct, for example.
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
219 */
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
220 NULL, /* This is a pointer to either a
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
221 PurplePluginLoaderInfo struct or a
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
222 PurplePluginProtocolInfo struct, and is
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
223 beyond the scope of this document.
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
224 */
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
225 NULL, /* This is a pointer to a PurplePluginUiInfo
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
226 struct. It is a core/ui split way for
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
227 core plugins to have a UI configuration
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
228 frame. You can find an example of this
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
229 code in:
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
230 libpurple/plugins/pluginpref_example.c
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
231 */
18537
52f3e904a250 Patch from John Bailey (rekkanoryo) to update the C Howto.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 16199
diff changeset
232 NULL, /* This is a function pointer where you can define
16199
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
233 "plugin actions". The UI controls how
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
234 they're displayed. It should be of the
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
235 type:
10468
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
236
16199
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
237 GList *function_name(PurplePlugin *plugin,
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
238 gpointer context)
10468
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
239
16199
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
240 It must return a GList of
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
241 PurplePluginActions.
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
242 */
18537
52f3e904a250 Patch from John Bailey (rekkanoryo) to update the C Howto.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 16199
diff changeset
243 NULL, /* This is a pointer reserved for future use.
52f3e904a250 Patch from John Bailey (rekkanoryo) to update the C Howto.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 16199
diff changeset
244 We set it to NULL to indicate we don't
52f3e904a250 Patch from John Bailey (rekkanoryo) to update the C Howto.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 16199
diff changeset
245 need it.
52f3e904a250 Patch from John Bailey (rekkanoryo) to update the C Howto.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 16199
diff changeset
246 */
52f3e904a250 Patch from John Bailey (rekkanoryo) to update the C Howto.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 16199
diff changeset
247 NULL, /* This is a pointer reserved for future use.
52f3e904a250 Patch from John Bailey (rekkanoryo) to update the C Howto.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 16199
diff changeset
248 We set it to NULL to indicate we don't
52f3e904a250 Patch from John Bailey (rekkanoryo) to update the C Howto.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 16199
diff changeset
249 need it.
52f3e904a250 Patch from John Bailey (rekkanoryo) to update the C Howto.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 16199
diff changeset
250 */
52f3e904a250 Patch from John Bailey (rekkanoryo) to update the C Howto.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 16199
diff changeset
251 NULL, /* This is a pointer reserved for future use.
52f3e904a250 Patch from John Bailey (rekkanoryo) to update the C Howto.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 16199
diff changeset
252 We set it to NULL to indicate we don't
52f3e904a250 Patch from John Bailey (rekkanoryo) to update the C Howto.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 16199
diff changeset
253 need it.
52f3e904a250 Patch from John Bailey (rekkanoryo) to update the C Howto.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 16199
diff changeset
254 */
52f3e904a250 Patch from John Bailey (rekkanoryo) to update the C Howto.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 16199
diff changeset
255 NULL /* This is a pointer reserved for future use.
52f3e904a250 Patch from John Bailey (rekkanoryo) to update the C Howto.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 16199
diff changeset
256 We set it to NULL to indicate we don't
52f3e904a250 Patch from John Bailey (rekkanoryo) to update the C Howto.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 16199
diff changeset
257 need it.
52f3e904a250 Patch from John Bailey (rekkanoryo) to update the C Howto.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 16199
diff changeset
258 */
10468
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
259 };
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
260 @endcode
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
261
16199
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
262 Finally we have @c init_plugin and @c PURPLE_INIT_PLUGIN. @c init_plugin is
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
263 a function that gets called when libpurple probes the plugin. Most plugins
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
264 will add their preferences to the pref tree here--more about that later.
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
265 @c PURPLE_INIT_PLUGIN is a macro that EVERY plugin MUST have.
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
266 @c PURPLE_INIT_PLUGIN tells libpurple some very basic things about your
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
267 plugin, like what name to use if the plugin is compiled staticly, the
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
268 @c init_plugin function, and the name of the PurplePluginInfo structure. As
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
269 you may have guessed, this also gets read when libpurple is probing your
17e8b8805688 Effect the rename in the C-HOWTO and clean it up.
Richard Laager <rlaager@wiktel.com>
parents: 15802
diff changeset
270 plugin. If this is missing, the plugin will not load.
10468
87d2f1a7f984 [gaim-migrate @ 11750]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
271 */
20807
e0613cf8c493 Add some links from signal documentation back to the documentation for the
Will Thompson <will.thompson@collabora.co.uk>
parents: 18537
diff changeset
272 // vim: syntax=c.doxygen