plugins/SIGNALS

Wed, 19 Apr 2000 07:57:20 +0000

author
Eric Warmenhoven <warmenhoven@yahoo.com>
date
Wed, 19 Apr 2000 07:57:20 +0000
changeset 136
d8dee47cbeb7
parent 133
418de720c20d
child 391
677e4414a83f
permissions
-rw-r--r--

[gaim-migrate @ 146]
Added event_back and event_buddy_back events.

93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1 enum gaim_event {
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
2 event_signon = 0,
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
3 event_signoff,
133
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 117
diff changeset
4 event_away,
136
d8dee47cbeb7 [gaim-migrate @ 146]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 133
diff changeset
5 event_back,
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
6 event_im_recv,
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
7 event_im_send,
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
8 event_buddy_signon,
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
9 event_buddy_signoff,
133
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 117
diff changeset
10 event_buddy_away,
136
d8dee47cbeb7 [gaim-migrate @ 146]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 133
diff changeset
11 event_buddy_back,
116
4df00c12350f [gaim-migrate @ 126]
Rob Flynn <gaim@robflynn.com>
parents: 103
diff changeset
12 event_blist_update
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
13 };
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
14
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
15 To add a signal handler, call the fuction gaim_signal_connect with the
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
16 following arguments:
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
17
94
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
18 void *, enum gaim_event, void *, void *
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
19
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
20 The first arg is the handle that was passed to gaim_signal_init. You did
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
21 save it, right?
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
22 The second arg is hopefully obvious.
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
23 The third arg is a pointer to a function that takes various args
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
24 depending on which event you're dealing with.
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
25 The fourth arg is any data you want to send to your function, as a final
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
26 argument.
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
27
94
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
28 To remove a signal handler, call the function gaim_signal_disconnect with the
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
29 following arguments:
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
30
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
31 void *, enum gaim_event, void *
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
32
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
33 The first arg is the handle that was passed to gaim_signal_init.
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
34 The second arg is hopefully obvious.
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
35 The third arg is a pointer to the function you attached.
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
36
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
37 Note that it deletes *all* functions matching the function you pass, not just
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
38 one. Sorry, that's just the way it works.
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
39
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
40 So here are the args that get passed to your functions in various events:
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
41
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
42 event_signon:
94
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
43 (none)
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
44
94
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
45 Note that you can get the username (which would probably be the only
136
d8dee47cbeb7 [gaim-migrate @ 146]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 133
diff changeset
46 useful information here) from other places. (Read gaim.h for details.)
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
47
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
48 event_signoff:
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
49 (none)
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
50
133
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 117
diff changeset
51 event_away:
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 117
diff changeset
52 (none)
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 117
diff changeset
53
136
d8dee47cbeb7 [gaim-migrate @ 146]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 133
diff changeset
54 Note that the away message that's being used can be retrieved from a
d8dee47cbeb7 [gaim-migrate @ 146]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 133
diff changeset
55 global variable. (Read gaim.h for details.)
d8dee47cbeb7 [gaim-migrate @ 146]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 133
diff changeset
56
d8dee47cbeb7 [gaim-migrate @ 146]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 133
diff changeset
57 event_back:
d8dee47cbeb7 [gaim-migrate @ 146]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 133
diff changeset
58 (none)
d8dee47cbeb7 [gaim-migrate @ 146]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 133
diff changeset
59
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
60 event_im_recv:
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
61 char **who, char **text
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
62
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
63 'who' is the username of the person who sent the message.
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
64 'text' is the actual strict text (with HTML tags and all) of the
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
65 message they sent.
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
66
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
67 Note that you can modify these values. (You are encouraged to do so!)
94
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
68 Note that *other* plugins can also modify these values, so you should
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
69 check that they are not NULL, and try not to leave them as NULL.
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
70
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
71 event_im_send:
103
b1da69279129 [gaim-migrate @ 113]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 94
diff changeset
72 char *who, char **text
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
73
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
74 'who' is the username of the person you're sending the message to.
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
75 'text' is the actual strict text (with HTML tags and all) of the
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
76 message you're sending.
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
77
103
b1da69279129 [gaim-migrate @ 113]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 94
diff changeset
78 Note that you can modify outgoing text. (You are _not_ encouraged to
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
79 do so ;-) .)
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
80
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
81 event_buddy_signon:
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
82 char *who
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
83
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
84 'who' is who signed on.
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
85
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
86 event_buddy_signoff:
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
87 char *who
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
88
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
89 'who' is who signed off.
116
4df00c12350f [gaim-migrate @ 126]
Rob Flynn <gaim@robflynn.com>
parents: 103
diff changeset
90
133
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 117
diff changeset
91 event_buddy_away:
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 117
diff changeset
92 char *who
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 117
diff changeset
93
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 117
diff changeset
94 'who' is who went away.
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 117
diff changeset
95
136
d8dee47cbeb7 [gaim-migrate @ 146]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 133
diff changeset
96 event_buddy_back:
d8dee47cbeb7 [gaim-migrate @ 146]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 133
diff changeset
97 char *who
d8dee47cbeb7 [gaim-migrate @ 146]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 133
diff changeset
98
d8dee47cbeb7 [gaim-migrate @ 146]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 133
diff changeset
99 'who' is who is no longer away.
d8dee47cbeb7 [gaim-migrate @ 146]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 133
diff changeset
100
116
4df00c12350f [gaim-migrate @ 126]
Rob Flynn <gaim@robflynn.com>
parents: 103
diff changeset
101 event_blist_update:
4df00c12350f [gaim-migrate @ 126]
Rob Flynn <gaim@robflynn.com>
parents: 103
diff changeset
102 (none)
4df00c12350f [gaim-migrate @ 126]
Rob Flynn <gaim@robflynn.com>
parents: 103
diff changeset
103
117
9bfffaeec690 [gaim-migrate @ 127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 116
diff changeset
104 This event is called when the buddylist is updated (automatically every
9bfffaeec690 [gaim-migrate @ 127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 116
diff changeset
105 20 seconds)

mercurial