plugins/SIGNALS

Wed, 20 Aug 2003 11:08:19 +0000

author
Christian Hammond <chipx86@chipx86.com>
date
Wed, 20 Aug 2003 11:08:19 +0000
changeset 6529
5a0984a84166
parent 6020
4562d8066263
permissions
-rw-r--r--

[gaim-migrate @ 7046]
The fortunateprofile.pl script works again. At least, I think it works, but
it's never worked here, but all the events and suff work, so that's good,
and i added a test.pl that people acan also see. now I'm going to bebd.

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,
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
12 event_buddy_idle,
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
13 event_buddy_unidle,
1058
e878d758cff6 [gaim-migrate @ 1068]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1038
diff changeset
14 event_blist_update,
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
15 event_chat_invited,
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
16 event_chat_join,
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
17 event_chat_leave,
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
18 event_chat_buddy_join,
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
19 event_chat_buddy_leave,
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
20 event_chat_recv,
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
21 event_chat_send,
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
22 event_warned,
808
d628a65dc058 [gaim-migrate @ 818]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
23 event_quit,
1749
d2d9df57c63e [gaim-migrate @ 1759]
Sean Egan <seanegan@pidgin.im>
parents: 1404
diff changeset
24 event_new_conversation,
2102
2d024ad2e07b [gaim-migrate @ 2112]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1873
diff changeset
25 event_set_info,
2d024ad2e07b [gaim-migrate @ 2112]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1873
diff changeset
26 event_draw_menu,
2104
8d12ab6f798c [gaim-migrate @ 2114]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2102
diff changeset
27 event_im_displayed_sent,
2345
2d59281e13fd [gaim-migrate @ 2358]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2273
diff changeset
28 event_im_displayed_rcvd,
2993
0340d0a8b810 [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2359
diff changeset
29 event_chat_send_invite,
0340d0a8b810 [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2359
diff changeset
30 event_got_typing,
3461
0a08212ccb02 [gaim-migrate @ 3510]
Sean Egan <seanegan@pidgin.im>
parents: 3190
diff changeset
31 event_del_conversation,
3517
ef03be2348a5 [gaim-migrate @ 3590]
Sean Egan <seanegan@pidgin.im>
parents: 3461
diff changeset
32 event_connecting,
6020
4562d8066263 [gaim-migrate @ 6470]
Sean Egan <seanegan@pidgin.im>
parents: 4491
diff changeset
33 event_switch_conversation,
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
34 };
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
35
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
36 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
37 following arguments:
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
38
94
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
39 void *, enum gaim_event, void *, void *
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
40
3190
6a7b058d3de5 [gaim-migrate @ 3207]
Sean Egan <seanegan@pidgin.im>
parents: 3163
diff changeset
41 The first arg is the handle that was passed to gaim_plugin_init. You did
94
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
42 save it, right?
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
43 The second arg is hopefully obvious.
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
44 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
45 depending on which event you're dealing with.
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
46 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
47 argument.
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
48
94
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
49 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
50 following arguments:
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
51
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
52 void *, enum gaim_event, void *
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
53
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
54 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
55 The second arg is hopefully obvious.
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
56 The third arg is a pointer to the function you attached.
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
57
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
58 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
59 one. Sorry, that's just the way it works.
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
60
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
61 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
62
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
63 event_signon:
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
64 struct gaim_connection *gc
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
65
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
66 'gc' is the new connection.
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
67
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
68 event_signoff:
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
69 struct gaim_connection *gc
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
70
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
71 'gc' is the connection that is about to go offline. This is called before
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
72 serv_close is, so you still have a chance to get one last message out.
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
73
133
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 117
diff changeset
74 event_away:
1404
e915b372f70a [gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1392
diff changeset
75 struct gaim_connection *gc, char *state, char *message
e915b372f70a [gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1392
diff changeset
76
e915b372f70a [gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1392
diff changeset
77 'gc' is the connection. Duh.
e915b372f70a [gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1392
diff changeset
78 'state' is confusing. We'll save that for now.
e915b372f70a [gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1392
diff changeset
79 'message' is the away message to be used.
133
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 117
diff changeset
80
1404
e915b372f70a [gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1392
diff changeset
81 Each protocol sets up what away states it can have. These are all char *,
e915b372f70a [gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1392
diff changeset
82 and when the connection goes away it uses one of those. That's what state
e915b372f70a [gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1392
diff changeset
83 is.
e915b372f70a [gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1392
diff changeset
84
e915b372f70a [gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1392
diff changeset
85 There's no way of telling from state and message whether you're actually
e915b372f70a [gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1392
diff changeset
86 away; it only gives state information, and a possible message.
e915b372f70a [gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1392
diff changeset
87
e915b372f70a [gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1392
diff changeset
88 However, the protocols also are very nice (usually) and will set gc->away
e915b372f70a [gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1392
diff changeset
89 if they're in an away-like state (e.g. Away or N/A for ICQ, etc). You can
e915b372f70a [gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1392
diff changeset
90 use that for a more rigid (read "boolean") way of checking away-ness.
136
d8dee47cbeb7 [gaim-migrate @ 146]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 133
diff changeset
91
d8dee47cbeb7 [gaim-migrate @ 146]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 133
diff changeset
92 event_back:
d8dee47cbeb7 [gaim-migrate @ 146]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 133
diff changeset
93 (none)
d8dee47cbeb7 [gaim-migrate @ 146]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 133
diff changeset
94
1404
e915b372f70a [gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1392
diff changeset
95 This is deprecated and will not be called again. It will probably be
e915b372f70a [gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1392
diff changeset
96 removed eventually.
e915b372f70a [gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1392
diff changeset
97
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
98 event_im_recv:
3163
8b5447fbbb9f [gaim-migrate @ 3179]
Sean Egan <seanegan@pidgin.im>
parents: 2993
diff changeset
99 struct gaim_connection *gc, char **who, char **text, guint32 *flags
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
100
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
101 'gc' is the connection that received the message.
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
102 'who' is the username of the person who sent the message.
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
103 '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
104 message they sent.
2273
b7c08d737d81 [gaim-migrate @ 2283]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2104
diff changeset
105 'flags' is message flags.
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
106
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
107 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
108 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
109 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
110
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
111 gc was placed as the first arg as opposed to the third for intuitiveness.
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
112 Unfortunately, it means that most plugins that use this event need to be
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
113 slightly modified and then recompiled.
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
114
2273
b7c08d737d81 [gaim-migrate @ 2283]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2104
diff changeset
115 flags is actually a bit mask. AND with IM_FLAG_AWAY to see if they were
b7c08d737d81 [gaim-migrate @ 2283]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2104
diff changeset
116 away, etc.
b7c08d737d81 [gaim-migrate @ 2283]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2104
diff changeset
117
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
118 event_im_send:
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
119 struct gaim_connection *gc, char *who, char **text
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
120
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
121 'gc' is the connection that you are about to send the message through.
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
122 '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
123 '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
124 message you're sending.
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
125
1392
d7e7f153bc08 [gaim-migrate @ 1402]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1058
diff changeset
126 Note that you can modify outgoing text. The **text points to a g_malloc'd
d7e7f153bc08 [gaim-migrate @ 1402]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1058
diff changeset
127 data chunk that contains the text. If your plugin changes it, it should
d7e7f153bc08 [gaim-migrate @ 1402]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1058
diff changeset
128 either not add length to the string, or g_free *text and g_malloc a new
d7e7f153bc08 [gaim-migrate @ 1402]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1058
diff changeset
129 segment. Since plugins can modify this, you should not try and remember it
d7e7f153bc08 [gaim-migrate @ 1402]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1058
diff changeset
130 in your plugin.
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
131
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
132 event_buddy_signon:
1038
850b893e1ac9 [gaim-migrate @ 1048]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1000
diff changeset
133 struct gaim_connection *gc, char *who
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
134
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
135 'who' is who signed on. (There is currently no way to see which connection
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
136 reported that the buddy came online. Hopefully this will happen soon.)
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
137
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
138 event_buddy_signoff:
1038
850b893e1ac9 [gaim-migrate @ 1048]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1000
diff changeset
139 struct gaim_connection *gc, char *who
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
140
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
141 'who' is who signed off.
116
4df00c12350f [gaim-migrate @ 126]
Rob Flynn <gaim@robflynn.com>
parents: 103
diff changeset
142
133
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 117
diff changeset
143 event_buddy_away:
1038
850b893e1ac9 [gaim-migrate @ 1048]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1000
diff changeset
144 struct gaim_connection *gc, char *who
133
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 117
diff changeset
145
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 117
diff changeset
146 'who' is who went away.
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 117
diff changeset
147
136
d8dee47cbeb7 [gaim-migrate @ 146]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 133
diff changeset
148 event_buddy_back:
1038
850b893e1ac9 [gaim-migrate @ 1048]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1000
diff changeset
149 struct gaim_connection *gc, char *who
136
d8dee47cbeb7 [gaim-migrate @ 146]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 133
diff changeset
150
d8dee47cbeb7 [gaim-migrate @ 146]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 133
diff changeset
151 'who' is who is no longer away.
d8dee47cbeb7 [gaim-migrate @ 146]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 133
diff changeset
152
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
153 event_buddy_idle:
1038
850b893e1ac9 [gaim-migrate @ 1048]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1000
diff changeset
154 struct gaim_connection *gc, char *who
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
155
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
156 'who' is who went idle.
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
157
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
158 event_buddy_unidle:
1038
850b893e1ac9 [gaim-migrate @ 1048]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1000
diff changeset
159 struct gaim_connection *gc, char *who
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
160
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
161 'who' is who is no longer idle.
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
162
1058
e878d758cff6 [gaim-migrate @ 1068]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1038
diff changeset
163 event_blist_update:
e878d758cff6 [gaim-migrate @ 1068]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1038
diff changeset
164 (none)
e878d758cff6 [gaim-migrate @ 1068]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1038
diff changeset
165
e878d758cff6 [gaim-migrate @ 1068]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1038
diff changeset
166 called when the idle times are updated in the buddy list
e878d758cff6 [gaim-migrate @ 1068]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1038
diff changeset
167
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
168 event_chat_invited:
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
169 struct gaim_connection *gc, char *who, char *room, char *message
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
170
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
171 'gc' is the connection that received the invitation.
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
172 'who' is who invited you to a chat room.
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
173 'room' is the room they invited you to.
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
174 'message' is the (optional) message they sent to invite you, and may be
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
175 an empty string.
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
176
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
177 event_chat_join:
2345
2d59281e13fd [gaim-migrate @ 2358]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2273
diff changeset
178 struct gaim_connection *gc, int id, char *room
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
179
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
180 'gc' is the connection that joined the room.
2345
2d59281e13fd [gaim-migrate @ 2358]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2273
diff changeset
181 'id' is the id of the room. See, each room is given an id unique
2d59281e13fd [gaim-migrate @ 2358]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2273
diff changeset
182 within the connection. The struct conversation*'s in gc->buddy_chats
2d59281e13fd [gaim-migrate @ 2358]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2273
diff changeset
183 have an 'id' field that's only used if it's is_chat member is TRUE.
2d59281e13fd [gaim-migrate @ 2358]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2273
diff changeset
184 'id' is the *only* way to detect which chat room you actually mean,
2d59281e13fd [gaim-migrate @ 2358]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2273
diff changeset
185 because the name of the chat room is not always unique (for example,
2d59281e13fd [gaim-migrate @ 2358]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2273
diff changeset
186 MSN always uses "MSN Chat" as its name, since group chats in MSN
2d59281e13fd [gaim-migrate @ 2358]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2273
diff changeset
187 don't actually have names).
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
188 'room' is the chat room that you have just joined.
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
189
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
190 event_chat_leave:
2345
2d59281e13fd [gaim-migrate @ 2358]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2273
diff changeset
191 struct gaim_connection *gc, int
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
192
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
193 'gc' is the connection that joined the room.
2345
2d59281e13fd [gaim-migrate @ 2358]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2273
diff changeset
194 'id' is the id of the chat room that you have just left.
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
195
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
196 event_chat_buddy_join:
2345
2d59281e13fd [gaim-migrate @ 2358]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2273
diff changeset
197 struct gaim_connection *gc, int id, char *who
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
198
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
199 'gc' is the connection that the chat room is attached to.
2345
2d59281e13fd [gaim-migrate @ 2358]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2273
diff changeset
200 'id' is the id of the room the person joined.
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
201 'who' is the screenname of the person who joined.
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
202
404
0881630e6d25 [gaim-migrate @ 414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 401
diff changeset
203 This is also triggered upon entering the room for every person in the
0881630e6d25 [gaim-migrate @ 414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 401
diff changeset
204 room, including yourself. (E.g. if you join a room that already had 3
0881630e6d25 [gaim-migrate @ 414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 401
diff changeset
205 people in it this will be called 4 times, once for each of them and
0881630e6d25 [gaim-migrate @ 414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 401
diff changeset
206 once again for you. You will not always be the last one this is called
0881630e6d25 [gaim-migrate @ 414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 401
diff changeset
207 for though.)
0881630e6d25 [gaim-migrate @ 414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 401
diff changeset
208
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
209 event_chat_buddy_leave:
2345
2d59281e13fd [gaim-migrate @ 2358]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2273
diff changeset
210 struct gaim_connection *gc, int id, char *who
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
211
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
212 'gc' is the connection that the chat room is attached to.
2345
2d59281e13fd [gaim-migrate @ 2358]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2273
diff changeset
213 'id' is the id of the room the person left.
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
214 'who' is the screenname of the person who left.
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
215
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
216 event_chat_recv:
3163
8b5447fbbb9f [gaim-migrate @ 3179]
Sean Egan <seanegan@pidgin.im>
parents: 2993
diff changeset
217 struct gaim_connection *gc, int id, char **who, char **text
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
218
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
219 'gc' is the connection that received the message.
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
220 'who' should be too.
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
221 'text' is the message that got sent.
2345
2d59281e13fd [gaim-migrate @ 2358]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2273
diff changeset
222 'id' is the id of the room that received the message (see
2d59281e13fd [gaim-migrate @ 2358]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2273
diff changeset
223 event_chat_join)
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
224
3163
8b5447fbbb9f [gaim-migrate @ 3179]
Sean Egan <seanegan@pidgin.im>
parents: 2993
diff changeset
225 Like event_im_recv, you are allowed and encouraged to change
8b5447fbbb9f [gaim-migrate @ 3179]
Sean Egan <seanegan@pidgin.im>
parents: 2993
diff changeset
226 these values
8b5447fbbb9f [gaim-migrate @ 3179]
Sean Egan <seanegan@pidgin.im>
parents: 2993
diff changeset
227
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
228 Note that because of the bizarre way chat works, you also receive
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
229 messages that you send. I didn't design it, AOL did.
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
230
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
231 event_chat_send:
2345
2d59281e13fd [gaim-migrate @ 2358]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2273
diff changeset
232 struct gaim_connection *gc, int id, char **text
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
233
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
234 'gc' is the connection that the message is about to be sent on.
2345
2d59281e13fd [gaim-migrate @ 2358]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2273
diff changeset
235 'id' is the id of the room to which you're sending the message.
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
236 'text' is what you're about to say, linkified/HTML-ized, but not
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
237 TOC-escaped.
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
238
401
461437d36d04 [gaim-migrate @ 411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 392
diff changeset
239 Be aware that you receive messages you send (as noted above). This
461437d36d04 [gaim-migrate @ 411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 392
diff changeset
240 event will be called before you actually send the message though.
1392
d7e7f153bc08 [gaim-migrate @ 1402]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1058
diff changeset
241 The **text pointer behaves the same as the **text pointer for the
d7e7f153bc08 [gaim-migrate @ 1402]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1058
diff changeset
242 event_im_send event above; so read the note about it there.
401
461437d36d04 [gaim-migrate @ 411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 392
diff changeset
243
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
244 event_warned:
1873
66c5f8b3f7fe [gaim-migrate @ 1883]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1749
diff changeset
245 struct gaim_connection *gc, char *who, int level
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
246
1873
66c5f8b3f7fe [gaim-migrate @ 1883]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1749
diff changeset
247 'gc' is the account that got warned.
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
248 'who' is who warned you. Note that this can be NULL, indicating either
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
249 an anonymous warning, or your warning level has dropped.
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
250 'level' is your new warning level.
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
251
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
252 event_quit:
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
253 (none)
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
254
392
d3edc6236c3f [gaim-migrate @ 402]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 391
diff changeset
255 Called when gaim quits normally. This can be called from either the
d3edc6236c3f [gaim-migrate @ 402]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 391
diff changeset
256 signed on state or the signed off state (from either the Cancel button
d3edc6236c3f [gaim-migrate @ 402]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 391
diff changeset
257 in the login window or the Quit option in the File menu on the buddy
425
bc3f0933ce54 [gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 404
diff changeset
258 list). If gaim dies or is murdered, this won't be called. It's not my
bc3f0933ce54 [gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 404
diff changeset
259 fault, it's Seg's.
808
d628a65dc058 [gaim-migrate @ 818]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
260
d628a65dc058 [gaim-migrate @ 818]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
261 event_new_conversation:
d628a65dc058 [gaim-migrate @ 818]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
262 char *who
d628a65dc058 [gaim-migrate @ 818]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
263
d628a65dc058 [gaim-migrate @ 818]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
264 'who' is who the conversation is with. This gets called when a new
d628a65dc058 [gaim-migrate @ 818]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
265 conversation window is created. You can use find_conversation(char *)
d628a65dc058 [gaim-migrate @ 818]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
266 to then find the struct conversation * and modify those values.
1749
d2d9df57c63e [gaim-migrate @ 1759]
Sean Egan <seanegan@pidgin.im>
parents: 1404
diff changeset
267
d2d9df57c63e [gaim-migrate @ 1759]
Sean Egan <seanegan@pidgin.im>
parents: 1404
diff changeset
268 event_set_info:
d2d9df57c63e [gaim-migrate @ 1759]
Sean Egan <seanegan@pidgin.im>
parents: 1404
diff changeset
269 struct gaim_connection *gc, char *info
d2d9df57c63e [gaim-migrate @ 1759]
Sean Egan <seanegan@pidgin.im>
parents: 1404
diff changeset
270
d2d9df57c63e [gaim-migrate @ 1759]
Sean Egan <seanegan@pidgin.im>
parents: 1404
diff changeset
271 Called when the user sends his profile to the server. 'info' is the
d2d9df57c63e [gaim-migrate @ 1759]
Sean Egan <seanegan@pidgin.im>
parents: 1404
diff changeset
272 profile being sent.
2102
2d024ad2e07b [gaim-migrate @ 2112]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1873
diff changeset
273
2d024ad2e07b [gaim-migrate @ 2112]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1873
diff changeset
274 event_draw_menu:
2d024ad2e07b [gaim-migrate @ 2112]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1873
diff changeset
275 GtkWidget *menu, char *name
2d024ad2e07b [gaim-migrate @ 2112]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1873
diff changeset
276
2d024ad2e07b [gaim-migrate @ 2112]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1873
diff changeset
277 Called when you right-click on a buddy.
2d024ad2e07b [gaim-migrate @ 2112]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1873
diff changeset
278
2d024ad2e07b [gaim-migrate @ 2112]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1873
diff changeset
279 'menu' is the menu that is about to be displayed.
2d024ad2e07b [gaim-migrate @ 2112]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1873
diff changeset
280 'name' is the name of the buddy that was clicked.
2d024ad2e07b [gaim-migrate @ 2112]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1873
diff changeset
281
2104
8d12ab6f798c [gaim-migrate @ 2114]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2102
diff changeset
282 event_im_displayed_sent:
2102
2d024ad2e07b [gaim-migrate @ 2112]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1873
diff changeset
283 struct gaim_connection *gc, char *who, char **what
2d024ad2e07b [gaim-migrate @ 2112]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1873
diff changeset
284
2d024ad2e07b [gaim-migrate @ 2112]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1873
diff changeset
285 This is called after what you send is displayed but before it's
2d024ad2e07b [gaim-migrate @ 2112]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1873
diff changeset
286 actually sent. That is, when the user clicks the "send" button
2d024ad2e07b [gaim-migrate @ 2112]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1873
diff changeset
287 in an IM window, first it gets passed to event_im_send handlers,
2d024ad2e07b [gaim-migrate @ 2112]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1873
diff changeset
288 then it gets displayed, then it gets passed to these handlers, and
2d024ad2e07b [gaim-migrate @ 2112]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1873
diff changeset
289 then it gets sent over the wire. This is useful for when you want
2104
8d12ab6f798c [gaim-migrate @ 2114]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2102
diff changeset
290 to encrypt something on the way out.
2102
2d024ad2e07b [gaim-migrate @ 2112]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1873
diff changeset
291
2104
8d12ab6f798c [gaim-migrate @ 2114]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2102
diff changeset
292 'gc' is the connection the message is sent on.
8d12ab6f798c [gaim-migrate @ 2114]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2102
diff changeset
293 'who' is who the message is for.
2102
2d024ad2e07b [gaim-migrate @ 2112]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1873
diff changeset
294 'what' is what was sent. It's expected that you modify this. If
2d024ad2e07b [gaim-migrate @ 2112]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1873
diff changeset
295 you set *what to NULL the message won't be sent, but the preferred
2d024ad2e07b [gaim-migrate @ 2112]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1873
diff changeset
296 way of doing this is to attach to event_im_send so that it really
2d024ad2e07b [gaim-migrate @ 2112]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1873
diff changeset
297 won't be displayed at all.
2104
8d12ab6f798c [gaim-migrate @ 2114]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2102
diff changeset
298
8d12ab6f798c [gaim-migrate @ 2114]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2102
diff changeset
299 event_im_displayed_rcvd:
3517
ef03be2348a5 [gaim-migrate @ 3590]
Sean Egan <seanegan@pidgin.im>
parents: 3461
diff changeset
300 struct gaim_connection *gc, char *who, char *what, guint32 flags, time_t time
2104
8d12ab6f798c [gaim-migrate @ 2114]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2102
diff changeset
301
8d12ab6f798c [gaim-migrate @ 2114]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2102
diff changeset
302 This is called after what you receive is displayed. This is useful
8d12ab6f798c [gaim-migrate @ 2114]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2102
diff changeset
303 for displaying an autoresponse after the message that triggered it.
8d12ab6f798c [gaim-migrate @ 2114]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2102
diff changeset
304 There are a bunch of things that are odd about this, especially
8d12ab6f798c [gaim-migrate @ 2114]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2102
diff changeset
305 when dealing with being away, so be careful.
8d12ab6f798c [gaim-migrate @ 2114]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2102
diff changeset
306
8d12ab6f798c [gaim-migrate @ 2114]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2102
diff changeset
307 'gc' is the connection the message was received on.
8d12ab6f798c [gaim-migrate @ 2114]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2102
diff changeset
308 'who' is who sent the message.
8d12ab6f798c [gaim-migrate @ 2114]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2102
diff changeset
309 'what' is what was sent.
2273
b7c08d737d81 [gaim-migrate @ 2283]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2104
diff changeset
310 'flags' is flags on the message.
3517
ef03be2348a5 [gaim-migrate @ 3590]
Sean Egan <seanegan@pidgin.im>
parents: 3461
diff changeset
311 'time' is the time the message was received--it may be very different from the
ef03be2348a5 [gaim-migrate @ 3590]
Sean Egan <seanegan@pidgin.im>
parents: 3461
diff changeset
312 time this signal gets called
2345
2d59281e13fd [gaim-migrate @ 2358]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2273
diff changeset
313
2d59281e13fd [gaim-migrate @ 2358]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2273
diff changeset
314 event_chat_send_invite:
2359
27c1207ca513 [gaim-migrate @ 2372]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2345
diff changeset
315 struct gaim_connection *gc, int id, char *who, char **msg
2345
2d59281e13fd [gaim-migrate @ 2358]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2273
diff changeset
316
2d59281e13fd [gaim-migrate @ 2358]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2273
diff changeset
317 This is called just before you're about to invite someone. It's
2d59281e13fd [gaim-migrate @ 2358]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2273
diff changeset
318 useful for if you want to pass someone a key so that they can
2d59281e13fd [gaim-migrate @ 2358]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2273
diff changeset
319 participate in a group encrypted chat (ahem).
2d59281e13fd [gaim-migrate @ 2358]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2273
diff changeset
320
2d59281e13fd [gaim-migrate @ 2358]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2273
diff changeset
321 'gc' is the connection the invite is sent on.
2d59281e13fd [gaim-migrate @ 2358]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2273
diff changeset
322 'id' is the id of the room you're inviting them to.
2d59281e13fd [gaim-migrate @ 2358]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2273
diff changeset
323 'who' is who you're inviting.
2359
27c1207ca513 [gaim-migrate @ 2372]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2345
diff changeset
324 'msg' is the message they'll receive when they're invited. It may be
27c1207ca513 [gaim-migrate @ 2372]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2345
diff changeset
325 NULL. Setting this to NULL won't stop the invitation from going thru.
2993
0340d0a8b810 [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2359
diff changeset
326
0340d0a8b810 [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2359
diff changeset
327 event_got_typing:
0340d0a8b810 [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2359
diff changeset
328 struct gaim_connection *gc, char *who
0340d0a8b810 [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2359
diff changeset
329
0340d0a8b810 [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2359
diff changeset
330 This is called when a buddy starts typing you and is called
0340d0a8b810 [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2359
diff changeset
331 differently depending on the protocol. MSN requires that a
0340d0a8b810 [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2359
diff changeset
332 conversation is already in progress, and may send more than
0340d0a8b810 [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2359
diff changeset
333 one notification while typing. OSCAR can receive typing
0340d0a8b810 [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2359
diff changeset
334 notifications in direct IMs, and Yahoo can receive them any
0340d0a8b810 [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2359
diff changeset
335 time.
0340d0a8b810 [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2359
diff changeset
336
0340d0a8b810 [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2359
diff changeset
337 'gc' is the connection the typing is sent to.
0340d0a8b810 [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2359
diff changeset
338 'who' is the person typing to you.
3517
ef03be2348a5 [gaim-migrate @ 3590]
Sean Egan <seanegan@pidgin.im>
parents: 3461
diff changeset
339
3461
0a08212ccb02 [gaim-migrate @ 3510]
Sean Egan <seanegan@pidgin.im>
parents: 3190
diff changeset
340 event_del_conversation:
0a08212ccb02 [gaim-migrate @ 3510]
Sean Egan <seanegan@pidgin.im>
parents: 3190
diff changeset
341 struct conversation *c
0a08212ccb02 [gaim-migrate @ 3510]
Sean Egan <seanegan@pidgin.im>
parents: 3190
diff changeset
342
0a08212ccb02 [gaim-migrate @ 3510]
Sean Egan <seanegan@pidgin.im>
parents: 3190
diff changeset
343 This is called when a conversation window is closed. It is
0a08212ccb02 [gaim-migrate @ 3510]
Sean Egan <seanegan@pidgin.im>
parents: 3190
diff changeset
344 called before any memory is deallocated so you are able to
0a08212ccb02 [gaim-migrate @ 3510]
Sean Egan <seanegan@pidgin.im>
parents: 3190
diff changeset
345 access any data related to the conversation without breaking
0a08212ccb02 [gaim-migrate @ 3510]
Sean Egan <seanegan@pidgin.im>
parents: 3190
diff changeset
346 anything.
0a08212ccb02 [gaim-migrate @ 3510]
Sean Egan <seanegan@pidgin.im>
parents: 3190
diff changeset
347
3570
4da512b20e12 [gaim-migrate @ 3666]
Sean Egan <seanegan@pidgin.im>
parents: 3554
diff changeset
348 'c' is the conversation being closed.
4da512b20e12 [gaim-migrate @ 3666]
Sean Egan <seanegan@pidgin.im>
parents: 3554
diff changeset
349
3554
2e890297b051 [gaim-migrate @ 3644]
Robert McQueen <robot101@debian.org>
parents: 3517
diff changeset
350 event_connecting:
4491
715515ab95da [gaim-migrate @ 4766]
Nathan Walp <nwalp@pidgin.im>
parents: 3570
diff changeset
351 struct gaim_account *u
3517
ef03be2348a5 [gaim-migrate @ 3590]
Sean Egan <seanegan@pidgin.im>
parents: 3461
diff changeset
352
ef03be2348a5 [gaim-migrate @ 3590]
Sean Egan <seanegan@pidgin.im>
parents: 3461
diff changeset
353 This is called when Gaim attempts to bring a user on-line. The
3554
2e890297b051 [gaim-migrate @ 3644]
Robert McQueen <robot101@debian.org>
parents: 3517
diff changeset
354 boolean u->connecting is set to true, and connecting_count
3517
ef03be2348a5 [gaim-migrate @ 3590]
Sean Egan <seanegan@pidgin.im>
parents: 3461
diff changeset
355 incremented. The attempt can end with event_signon or event_signoff
ef03be2348a5 [gaim-migrate @ 3590]
Sean Egan <seanegan@pidgin.im>
parents: 3461
diff changeset
356 being called, depending upon whether the attempt was a sucess or
ef03be2348a5 [gaim-migrate @ 3590]
Sean Egan <seanegan@pidgin.im>
parents: 3461
diff changeset
357 a failure. In both cases, u->connecting is set to false and the
ef03be2348a5 [gaim-migrate @ 3590]
Sean Egan <seanegan@pidgin.im>
parents: 3461
diff changeset
358 counter decremented.
3570
4da512b20e12 [gaim-migrate @ 3666]
Sean Egan <seanegan@pidgin.im>
parents: 3554
diff changeset
359
3554
2e890297b051 [gaim-migrate @ 3644]
Robert McQueen <robot101@debian.org>
parents: 3517
diff changeset
360 'u' is the account being connected.
6020
4562d8066263 [gaim-migrate @ 6470]
Sean Egan <seanegan@pidgin.im>
parents: 4491
diff changeset
361
4562d8066263 [gaim-migrate @ 6470]
Sean Egan <seanegan@pidgin.im>
parents: 4491
diff changeset
362 event_conversation_switch:
4562d8066263 [gaim-migrate @ 6470]
Sean Egan <seanegan@pidgin.im>
parents: 4491
diff changeset
363 GaimConversation *c
4562d8066263 [gaim-migrate @ 6470]
Sean Egan <seanegan@pidgin.im>
parents: 4491
diff changeset
364
4562d8066263 [gaim-migrate @ 6470]
Sean Egan <seanegan@pidgin.im>
parents: 4491
diff changeset
365 This is called when a new conversation has become the active conversation
4562d8066263 [gaim-migrate @ 6470]
Sean Egan <seanegan@pidgin.im>
parents: 4491
diff changeset
366 in its GaimWindow.
4562d8066263 [gaim-migrate @ 6470]
Sean Egan <seanegan@pidgin.im>
parents: 4491
diff changeset
367
4562d8066263 [gaim-migrate @ 6470]
Sean Egan <seanegan@pidgin.im>
parents: 4491
diff changeset
368 Using this in conjuction with GTK's focus-in-event will allow you to trigger
4562d8066263 [gaim-migrate @ 6470]
Sean Egan <seanegan@pidgin.im>
parents: 4491
diff changeset
369 callbacks anytime a conversation receives focus.
4562d8066263 [gaim-migrate @ 6470]
Sean Egan <seanegan@pidgin.im>
parents: 4491
diff changeset
370
4562d8066263 [gaim-migrate @ 6470]
Sean Egan <seanegan@pidgin.im>
parents: 4491
diff changeset
371 'c' is the conversation that has just received focus.

mercurial