plugins/SIGNALS

Fri, 27 Apr 2001 22:21:53 +0000

author
Eric Warmenhoven <warmenhoven@yahoo.com>
date
Fri, 27 Apr 2001 22:21:53 +0000
changeset 1763
18c94e3947d5
parent 1749
d2d9df57c63e
child 1873
66c5f8b3f7fe
permissions
-rw-r--r--

[gaim-migrate @ 1773]
la la la

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,
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
23 event_error,
808
d628a65dc058 [gaim-migrate @ 818]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
24 event_quit,
1749
d2d9df57c63e [gaim-migrate @ 1759]
Sean Egan <seanegan@pidgin.im>
parents: 1404
diff changeset
25 event_new_conversation,
d2d9df57c63e [gaim-migrate @ 1759]
Sean Egan <seanegan@pidgin.im>
parents: 1404
diff changeset
26 event_set_info
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
27 };
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
28
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
29 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
30 following arguments:
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
31
94
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
32 void *, enum gaim_event, void *, void *
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
33
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
34 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
35 save it, right?
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
36 The second arg is hopefully obvious.
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
37 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
38 depending on which event you're dealing with.
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
39 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
40 argument.
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
41
94
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
42 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
43 following arguments:
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
44
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
45 void *, enum gaim_event, void *
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
46
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
47 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
48 The second arg is hopefully obvious.
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
49 The third arg is a pointer to the function you attached.
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
50
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 93
diff changeset
51 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
52 one. Sorry, that's just the way it works.
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
53
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
54 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
55
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
56 event_signon:
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
57 struct gaim_connection *gc
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
58
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
59 'gc' is the new connection.
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 event_signoff:
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
62 struct gaim_connection *gc
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
63
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
64 '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
65 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
66
133
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 117
diff changeset
67 event_away:
1404
e915b372f70a [gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1392
diff changeset
68 struct gaim_connection *gc, char *state, char *message
e915b372f70a [gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1392
diff changeset
69
e915b372f70a [gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1392
diff changeset
70 'gc' is the connection. Duh.
e915b372f70a [gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1392
diff changeset
71 'state' is confusing. We'll save that for now.
e915b372f70a [gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1392
diff changeset
72 'message' is the away message to be used.
133
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 117
diff changeset
73
1404
e915b372f70a [gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1392
diff changeset
74 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
75 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
76 is.
e915b372f70a [gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1392
diff changeset
77
e915b372f70a [gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1392
diff changeset
78 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
79 away; it only gives state information, and a possible message.
e915b372f70a [gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1392
diff changeset
80
e915b372f70a [gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1392
diff changeset
81 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
82 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
83 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
84
d8dee47cbeb7 [gaim-migrate @ 146]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 133
diff changeset
85 event_back:
d8dee47cbeb7 [gaim-migrate @ 146]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 133
diff changeset
86 (none)
d8dee47cbeb7 [gaim-migrate @ 146]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 133
diff changeset
87
1404
e915b372f70a [gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1392
diff changeset
88 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
89 removed eventually.
e915b372f70a [gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1392
diff changeset
90
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
91 event_im_recv:
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
92 struct gaim_connection *gc, char **who, char **text
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
93
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
94 'gc' is the connection that received the message.
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
95 'who' is the username of the person who sent the message.
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
96 '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
97 message they sent.
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
98
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
99 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
100 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
101 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
102
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
103 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
104 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
105 slightly modified and then recompiled.
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
106
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
107 event_im_send:
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
108 struct gaim_connection *gc, char *who, char **text
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
109
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
110 '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
111 '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
112 '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
113 message you're sending.
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
114
1392
d7e7f153bc08 [gaim-migrate @ 1402]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1058
diff changeset
115 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
116 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
117 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
118 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
119 in your plugin.
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
120
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
121 event_buddy_signon:
1038
850b893e1ac9 [gaim-migrate @ 1048]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1000
diff changeset
122 struct gaim_connection *gc, char *who
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
123
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
124 '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
125 reported that the buddy came online. Hopefully this will happen soon.)
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
126
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
127 event_buddy_signoff:
1038
850b893e1ac9 [gaim-migrate @ 1048]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1000
diff changeset
128 struct gaim_connection *gc, char *who
93
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
129
a62ef5a64629 [gaim-migrate @ 103]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
130 'who' is who signed off.
116
4df00c12350f [gaim-migrate @ 126]
Rob Flynn <gaim@robflynn.com>
parents: 103
diff changeset
131
133
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 117
diff changeset
132 event_buddy_away:
1038
850b893e1ac9 [gaim-migrate @ 1048]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1000
diff changeset
133 struct gaim_connection *gc, char *who
133
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 117
diff changeset
134
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 117
diff changeset
135 'who' is who went away.
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 117
diff changeset
136
136
d8dee47cbeb7 [gaim-migrate @ 146]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 133
diff changeset
137 event_buddy_back:
1038
850b893e1ac9 [gaim-migrate @ 1048]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1000
diff changeset
138 struct gaim_connection *gc, char *who
136
d8dee47cbeb7 [gaim-migrate @ 146]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 133
diff changeset
139
d8dee47cbeb7 [gaim-migrate @ 146]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 133
diff changeset
140 'who' is who is no longer away.
d8dee47cbeb7 [gaim-migrate @ 146]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 133
diff changeset
141
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
142 event_buddy_idle:
1038
850b893e1ac9 [gaim-migrate @ 1048]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1000
diff changeset
143 struct gaim_connection *gc, char *who
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
144
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
145 'who' is who went idle.
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
146
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
147 event_buddy_unidle:
1038
850b893e1ac9 [gaim-migrate @ 1048]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1000
diff changeset
148 struct gaim_connection *gc, char *who
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
149
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
150 'who' is who is no longer idle.
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
151
1058
e878d758cff6 [gaim-migrate @ 1068]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1038
diff changeset
152 event_blist_update:
e878d758cff6 [gaim-migrate @ 1068]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1038
diff changeset
153 (none)
e878d758cff6 [gaim-migrate @ 1068]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1038
diff changeset
154
e878d758cff6 [gaim-migrate @ 1068]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1038
diff changeset
155 called when the idle times are updated in the buddy list
e878d758cff6 [gaim-migrate @ 1068]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1038
diff changeset
156
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
157 event_chat_invited:
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
158 struct gaim_connection *gc, char *who, char *room, char *message
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
159
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
160 'gc' is the connection that received the invitation.
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
161 'who' is who invited you to a chat room.
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
162 'room' is the room they invited you to.
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
163 '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
164 an empty string.
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
165
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
166 event_chat_join:
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
167 struct gaim_connection *gc, char *room
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
168
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
169 'gc' is the connection that joined the room.
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
170 'room' is the chat room that you have just joined.
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
171
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
172 event_chat_leave:
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
173 struct gaim_connection *gc, char *room
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
174
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
175 'gc' is the connection that joined the room.
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
176 'room' is the chat room that you have just left.
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
177
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
178 event_chat_buddy_join:
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
179 struct gaim_connection *gc, char *room, char *who
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
180
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
181 'gc' is the connection that the chat room is attached to.
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
182 'room' is the room the person joined.
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
183 'who' is the screenname of the person who joined.
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
184
404
0881630e6d25 [gaim-migrate @ 414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 401
diff changeset
185 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
186 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
187 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
188 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
189 for though.)
0881630e6d25 [gaim-migrate @ 414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 401
diff changeset
190
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
191 event_chat_buddy_leave:
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
192 struct gaim_connection *gc, char *room, char *who
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
193
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
194 'gc' is the connection that the chat room is attached to.
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
195 'room' is the room the person left.
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
196 'who' is the screenname of the person who left.
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
197
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
198 event_chat_recv:
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
199 struct gaim_connection *gc, char *room, char *who, char *text
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
200
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
201 'gc' is the connection that received the message.
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
202 'room' should be obvious by now.
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
203 'who' should be too.
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
204 'text' is the message that got sent.
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
205
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
206 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
207 messages that you send. I didn't design it, AOL did.
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
208
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
209 event_chat_send:
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 836
diff changeset
210 struct gaim_connection *gc, char *room, char **text
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 message is about to be sent on.
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
213 'room'. Need I say more.
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
214 '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
215 TOC-escaped.
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
216
401
461437d36d04 [gaim-migrate @ 411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 392
diff changeset
217 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
218 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
219 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
220 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
221
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
222 event_warned:
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
223 char *who, int level
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
224
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
225 '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
226 an anonymous warning, or your warning level has dropped.
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
227 'level' is your new warning level.
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
228
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
229 event_error:
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
230 int error
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
231
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
232 'error' is the number of the error as defined by the TOC PROTOCOL
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
233 document, which can be found in the docs/ directory of the source
836
8981603d1f92 [gaim-migrate @ 846]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 808
diff changeset
234 tree. Note that if the person is using Oscar, this number is often
8981603d1f92 [gaim-migrate @ 846]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 808
diff changeset
235 plain wrong, and this event may not always be triggered on error.
8981603d1f92 [gaim-migrate @ 846]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 808
diff changeset
236 Experiment to find what is reliable.
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
237
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
238 event_quit:
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
239 (none)
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 136
diff changeset
240
392
d3edc6236c3f [gaim-migrate @ 402]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 391
diff changeset
241 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
242 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
243 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
244 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
245 fault, it's Seg's.
808
d628a65dc058 [gaim-migrate @ 818]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
246
d628a65dc058 [gaim-migrate @ 818]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
247 event_new_conversation:
d628a65dc058 [gaim-migrate @ 818]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
248 char *who
d628a65dc058 [gaim-migrate @ 818]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
249
d628a65dc058 [gaim-migrate @ 818]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
250 '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
251 conversation window is created. You can use find_conversation(char *)
d628a65dc058 [gaim-migrate @ 818]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 425
diff changeset
252 to then find the struct conversation * and modify those values.
1749
d2d9df57c63e [gaim-migrate @ 1759]
Sean Egan <seanegan@pidgin.im>
parents: 1404
diff changeset
253
d2d9df57c63e [gaim-migrate @ 1759]
Sean Egan <seanegan@pidgin.im>
parents: 1404
diff changeset
254 event_set_info:
d2d9df57c63e [gaim-migrate @ 1759]
Sean Egan <seanegan@pidgin.im>
parents: 1404
diff changeset
255 struct gaim_connection *gc, char *info
d2d9df57c63e [gaim-migrate @ 1759]
Sean Egan <seanegan@pidgin.im>
parents: 1404
diff changeset
256
d2d9df57c63e [gaim-migrate @ 1759]
Sean Egan <seanegan@pidgin.im>
parents: 1404
diff changeset
257 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
258 profile being sent.

mercurial