Wed, 19 Apr 2000 07:57:20 +0000
[gaim-migrate @ 146]
Added event_back and event_buddy_back events.
| 93 | 1 | enum gaim_event { |
| 2 | event_signon = 0, | |
| 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 | 6 | event_im_recv, |
| 7 | event_im_send, | |
| 8 | event_buddy_signon, | |
| 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 | 12 | event_blist_update |
| 93 | 13 | }; |
| 14 | ||
| 15 | To add a signal handler, call the fuction gaim_signal_connect with the | |
| 16 | following arguments: | |
| 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 | 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 | 39 | |
| 40 | So here are the args that get passed to your functions in various events: | |
| 41 | ||
| 42 | event_signon: | |
|
94
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
93
diff
changeset
|
43 | (none) |
| 93 | 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 | 47 | |
| 48 | event_signoff: | |
| 49 | (none) | |
| 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 | 60 | event_im_recv: |
| 61 | char **who, char **text | |
| 62 | ||
| 63 | 'who' is the username of the person who sent the message. | |
| 64 | 'text' is the actual strict text (with HTML tags and all) of the | |
| 65 | message they sent. | |
| 66 | ||
| 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 | 70 | |
| 71 | event_im_send: | |
|
103
b1da69279129
[gaim-migrate @ 113]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
94
diff
changeset
|
72 | char *who, char **text |
| 93 | 73 | |
| 74 | 'who' is the username of the person you're sending the message to. | |
| 75 | 'text' is the actual strict text (with HTML tags and all) of the | |
| 76 | message you're sending. | |
| 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 | 79 | do so ;-) .) |
| 80 | ||
| 81 | event_buddy_signon: | |
| 82 | char *who | |
| 83 | ||
| 84 | 'who' is who signed on. | |
| 85 | ||
| 86 | event_buddy_signoff: | |
| 87 | char *who | |
| 88 | ||
| 89 | 'who' is who signed off. | |
| 116 | 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 | 101 | event_blist_update: |
| 102 | (none) | |
| 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) |