annotate doc/SIGNAL-HOWTO.dox @ 20333:53afc5cce143

applied changes from d4b316d73ebaf93803ca2642e78b8821c3b5d5c7 through b219fc7a61d692d47953984814f7b4d882f20291 applied changes from b219fc7a61d692d47953984814f7b4d882f20291 through f8476716fbd7f56dd6fe9fd371a8f5429b12d483 applied changes from f8476716fbd7f56dd6fe9fd371a8f5429b12d483 through 2e96e2466f643bc1f895f5983c1c0ecb9730498c applied changes from 2e96e2466f643bc1f895f5983c1c0ecb9730498c through 16d908d77101c3eb83632a6b9febef6d5ee96481 applied changes from 16d908d77101c3eb83632a6b9febef6d5ee96481 through 9207c76719cf14838d6306432140b3f0da9225ae
author Luke Schierer <lschiere@pidgin.im>
date Fri, 19 Oct 2007 18:28:33 +0000
parents f3e0b1221765
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
19025
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
1 /** @page signal-howto Signals HOWTO
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
2
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
3 @section Introduction
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
4 The libpurple signals interface is used for general event notification, such
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
5 as plugins being loaded or unloaded, allowing the GUI frontend to respond
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
6 appropriately to changing internal data. Unfortunately, its use is not at all
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
7 obvious from the information in the header files. This document uses code
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
8 snippets from the Pidgin/libpurple plugin systems to illustrate the proper
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
9 use of signals.
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
10
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
11 @section overview Overview of Signals
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
12 Signals in libpurple are very similar to those in GTK+. When certain events
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
13 happen, a named signal is "emitted" from a certain object. Emitting the
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
14 signal triggers a series of callbacks that have been "connected" to that
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
15 signal for that object. These callbacks take appropriate action in response
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
16 to the signal.
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
17
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
18 @section registering_signal Registering a Signal
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
19 The first step of using a signal is registering it with libpurple so that
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
20 callbacks may be connected to it. This is done using purple_signal_register()
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
21 Here is a slightly modified example from @c purple_plugins_init in
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
22 @c libpurple/plugin.c :
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
23
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
24 @code
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
25 purple_signal_register( purple_plugins_get_handle(), /* Instance */
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
26 "plugin-load", /* Signal name */
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
27 purple_marshal_VOID__POINTER,/* Marshal function */
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
28 NULL, /* Callback return value type */
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
29 1, /* Number of callback arguments (not including void *data) */
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
30 purple_value_new(PURPLE_TYPE_SUBTYPE,PURPLE_SUBTYPE_PLUGIN) /* Type of first callback argument */
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
31 );
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
32 @endcode
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
33
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
34 @subsection Instance
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
35 A reference to the object from which this signal is emitted, and to which
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
36 potential callbacks should be connected. In this case, it will be the entire
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
37 plugin module emitting the signal.
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
38
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
39 @subsection signalname Signal Name
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
40 Unique identifier for the signal itself.
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
41
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
42 @subsection therest Callback function definition
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
43 The rest of the arguments specify the form of the callback function.
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
44
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
45 @subsubsection marshalfunc Marshal Function
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
46 @c purple_marshal_VOID__POINTER represents the callback function prototype,
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
47 not including a "data" argument, explained later. The form is
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
48 @c purple_marshal_RETURNVALUETYPE__ARG1TYPE_ARG2TYPE_ETC. See signals.h for
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
49 more possible types.
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
50
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
51 In this case, the callback will have the form
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
52 @code
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
53 void cb(void *arg1, void *data)
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
54 @endcode
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
55
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
56 If @c purple_marshal_BOOLEAN__POINTER_POINTER_POINTER were specified, it
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
57 would be:
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
58 @code
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
59 gboolean cb(void *arg1, void *arg2, void *arg3, void *data)
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
60 @endcode
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
61
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
62 The @c void @c *data argument at the end of each callback function
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
63 provides the data argument given to purple_signal_connect() .
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
64
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
65 @subsubsection cb_ret_type Callback return value type
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
66 In our case, this is NULL, meaning "returns void".
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
67 @todo This could be described better.
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
68
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
69 @subsubsection num_args Number of arguments
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
70 The number of arguments (not including @c data ) that the callback function
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
71 will take.
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
72
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
73 @subsubsection type_arg Type of argument
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
74 @c purple_value_new(PURPLE_TYPE_SUBTYPE,PURPLE_SUBTYPE_PLUGIN) specifies that
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
75 the first argument given to the callback will be a @c PurplePlugin* . You
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
76 will need as many "type of argument" arguments to purple_signal_register() as
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
77 you specified in "Number of arguments" above.
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
78
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
79 @todo Describe this more.
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
80
19684
f3e0b1221765 This will silence a few warnings when building the Doxygen docs.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 19025
diff changeset
81 @see value.h
19025
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
82
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
83 @section connect Connecting to the signal
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
84 Once the signal is registered, you can connect callbacks to it. First, you
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
85 must define a callback function, such as this one from gtkplugin.c :
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
86 @code
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
87 static void plugin_load_cb(PurplePlugin *plugin, gpointer data)
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
88 {
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
89 GtkTreeView *view = (GtkTreeView *)data;
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
90 plugin_loading_common(plugin, view, TRUE);
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
91 }
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
92 @endcode
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
93 Note that the callback function prototype matches that specified in the call
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
94 to purple_signal_register() above.
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
95
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
96 Once the callback function is defined, you can connect it to the signal.
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
97 Again from gtkplugin.c , in @c pidgin_plugin_dialog_show() :
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
98 @code
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
99 purple_signal_connect(purple_plugins_get_handle(), "plugin-load", /* What to connect to */
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
100 plugin_dialog, /* Object receiving the signal */
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
101 PURPLE_CALLBACK(plugin_load_cb), /* Callback function */
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
102 event_view, /* Data to pass to the callback function
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
103 );
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
104 @endcode
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
105
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
106 The first two arguments ("What to connect to") specify the object emitting
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
107 the signal (the plugin module) and what signal to listen for ("plugin-load").
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
108
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
109 The object receiving the signal is @c plugin_dialog , the Pidgin plugins
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
110 dialog. When @c plugin_dialog is deleted, then
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
111 @c purple_signals_disconnect_by_handle(plugin_dialog) should be called to
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
112 remove all signal connections it is associated with.
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
113
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
114 The callback function is given using a helper macro, and finally the
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
115 @c data argument to be passed to @c plugin_load_cb is given as @c event_view,
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
116 a pointer to the GTK widget that @c plugin_load_cb needs to update.
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
117
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
118 @section emit-signal Emitting a signal
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
119 Connecting callbacks to signals is all well and good, but how do you "fire"
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
120 the signal and trigger the callback? At some point, you must "emit" the
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
121 signal, which immediately calls all connected callbacks.
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
122
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
123 As seen in @c purple_plugin_load() in plugin.c :
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
124 @code
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
125 purple_signal_emit(purple_plugins_get_handle(), "plugin-load", plugin);
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
126 @endcode
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
127 This causes the signal "plugin-load" to be emitted from the plugin module
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
128 (given by @c purple_plugins_get_handle() ), with the newly loaded plugin as
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
129 the argument to pass to any registered callback functions.
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
130
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
131 In our example, @c plugin_load_cb is called immediately as
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
132 @code
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
133 plugin_load_cb(plugin, event_view);
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
134 @endcode
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
135 and does whatever it does.
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
136
c3e80350c270 - Added a lovely Doxygen signals tutorial
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
137 */