Mercurial > pidgin
annotate libpurple/server.h @ 22411:d9105ead88dc
When purple_buddy_icons_set_account_icon() is called, it unrefs the old PurpleStoredImage and refs the new one. Previously, it notified the prpl of the change in the buddy icon before updating pointer_icon_cache, which meant that if the prpl then called purple_buddy_icons_find_account_icon() it would get the old PurpleStoredImage (which is at this point not only old but also a pointer to invalid memory if unref'ing it caused it to be destroyed). This happens in jabber_set_info() as of 2.4.0, causing a crash when setting no-buddy-icon for an account after it has previously had an icon. I think this also means that XMPP accounts in 2.4.0 will also always set serverside the *last* icon set, not the current one, when changing icons, but I didn't test that.
The solution is simple: Update pointer_icon_cache earlier, setting the new img if there is one or removing the account entirely from the hash table if there isn't one now. This fixes both problems described above, making purple_buddy_icons_find_account_icon() return the new, current icon (or NULL) at all times.
author | Evan Schoenberg <evan.s@dreskin.net> |
---|---|
date | Tue, 04 Mar 2008 00:11:22 +0000 |
parents | 3232cc79fa51 |
children | 17cda378a2dd 92e71f6e10d4 |
rev | line source |
---|---|
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1 /** |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2 * @file server.h Server API |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3 * @ingroup core |
20074
6bf32c9e15a7
remove gpl boilerplate from doxygen docs
Sean Egan <seanegan@gmail.com>
parents:
19685
diff
changeset
|
4 */ |
6bf32c9e15a7
remove gpl boilerplate from doxygen docs
Sean Egan <seanegan@gmail.com>
parents:
19685
diff
changeset
|
5 |
6bf32c9e15a7
remove gpl boilerplate from doxygen docs
Sean Egan <seanegan@gmail.com>
parents:
19685
diff
changeset
|
6 /* purple |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
7 * |
15822 | 8 * Purple is the legal property of its developers, whose names are too numerous |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
9 * to list here. Please refer to the COPYRIGHT file distributed with this |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
10 * source distribution. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
11 * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
12 * This program is free software; you can redistribute it and/or modify |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
13 * it under the terms of the GNU General Public License as published by |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
14 * the Free Software Foundation; either version 2 of the License, or |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
15 * (at your option) any later version. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
16 * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
17 * This program is distributed in the hope that it will be useful, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
20 * GNU General Public License for more details. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
21 * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
22 * You should have received a copy of the GNU General Public License |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
23 * along with this program; if not, write to the Free Software |
19681
44b4e8bd759b
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
19461
diff
changeset
|
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
25 */ |
15822 | 26 #ifndef _PURPLE_SERVER_H_ |
27 #define _PURPLE_SERVER_H_ | |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
28 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
29 #include "account.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
30 #include "conversation.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
31 #include "prpl.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
32 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
33 #ifdef __cplusplus |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
34 extern "C" { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
35 #endif |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
36 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
37 /** |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
38 * Send a typing message to a given user over a given connection. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
39 * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
40 * TODO: Could probably move this into the conversation API. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
41 * |
16201
36b09c6f7957
Doxygen updates. This eliminated all the warnings from Doxygen.
Richard Laager <rlaager@wiktel.com>
parents:
15933
diff
changeset
|
42 * @param gc The connection over which to send the typing notification. |
36b09c6f7957
Doxygen updates. This eliminated all the warnings from Doxygen.
Richard Laager <rlaager@wiktel.com>
parents:
15933
diff
changeset
|
43 * @param name The user to send the typing notification to. |
15933
b449dc6b8a20
A little doxygen love and some tiny gaim->purpleisms
Mark Doliner <mark@kingant.net>
parents:
15822
diff
changeset
|
44 * @param state One of PURPLE_TYPING, PURPLE_TYPED, or PURPLE_NOT_TYPING. |
15822 | 45 * @return A quiet-period, specified in seconds, where Purple will not |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
46 * send any additional typing notification messages. Most |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
47 * protocols should return 0, which means that no additional |
15822 | 48 * PURPLE_TYPING messages need to be sent. If this is 5, for |
49 * example, then Purple will wait five seconds, and if the Purple | |
50 * user is still typing then Purple will send another PURPLE_TYPING | |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
51 * message. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
52 */ |
15822 | 53 unsigned int serv_send_typing(PurpleConnection *gc, const char *name, PurpleTypingState state); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
54 |
15822 | 55 void serv_move_buddy(PurpleBuddy *, PurpleGroup *, PurpleGroup *); |
56 int serv_send_im(PurpleConnection *, const char *, const char *, PurpleMessageFlags flags); | |
19461
1b5e786d137a
In the attention API, use the PURPLE_NOTIFY_MESSAGE flag to serv_got_im()
Jeffrey Connelly <jaconnel@calpoly.edu>
parents:
19426
diff
changeset
|
57 |
1b5e786d137a
In the attention API, use the PURPLE_NOTIFY_MESSAGE flag to serv_got_im()
Jeffrey Connelly <jaconnel@calpoly.edu>
parents:
19426
diff
changeset
|
58 /** Get information about an account's attention commands, from the prpl. |
1b5e786d137a
In the attention API, use the PURPLE_NOTIFY_MESSAGE flag to serv_got_im()
Jeffrey Connelly <jaconnel@calpoly.edu>
parents:
19426
diff
changeset
|
59 * |
1b5e786d137a
In the attention API, use the PURPLE_NOTIFY_MESSAGE flag to serv_got_im()
Jeffrey Connelly <jaconnel@calpoly.edu>
parents:
19426
diff
changeset
|
60 * @return The attention command numbered 'code' from the prpl's attention_types, or NULL. |
1b5e786d137a
In the attention API, use the PURPLE_NOTIFY_MESSAGE flag to serv_got_im()
Jeffrey Connelly <jaconnel@calpoly.edu>
parents:
19426
diff
changeset
|
61 */ |
1b5e786d137a
In the attention API, use the PURPLE_NOTIFY_MESSAGE flag to serv_got_im()
Jeffrey Connelly <jaconnel@calpoly.edu>
parents:
19426
diff
changeset
|
62 PurpleAttentionType *purple_get_attention_type_from_code(PurpleAccount *account, guint type_code); |
1b5e786d137a
In the attention API, use the PURPLE_NOTIFY_MESSAGE flag to serv_got_im()
Jeffrey Connelly <jaconnel@calpoly.edu>
parents:
19426
diff
changeset
|
63 |
1b5e786d137a
In the attention API, use the PURPLE_NOTIFY_MESSAGE flag to serv_got_im()
Jeffrey Connelly <jaconnel@calpoly.edu>
parents:
19426
diff
changeset
|
64 /** Send an attention request message. |
1b5e786d137a
In the attention API, use the PURPLE_NOTIFY_MESSAGE flag to serv_got_im()
Jeffrey Connelly <jaconnel@calpoly.edu>
parents:
19426
diff
changeset
|
65 * |
1b5e786d137a
In the attention API, use the PURPLE_NOTIFY_MESSAGE flag to serv_got_im()
Jeffrey Connelly <jaconnel@calpoly.edu>
parents:
19426
diff
changeset
|
66 * @param gc The connection to send the message on. |
1b5e786d137a
In the attention API, use the PURPLE_NOTIFY_MESSAGE flag to serv_got_im()
Jeffrey Connelly <jaconnel@calpoly.edu>
parents:
19426
diff
changeset
|
67 * @param who Whose attention to request. |
19685
f3e0b1221765
This will silence a few warnings when building the Doxygen docs.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
19681
diff
changeset
|
68 * @param type_code An index into the prpl's attention_types list determining the type |
19461
1b5e786d137a
In the attention API, use the PURPLE_NOTIFY_MESSAGE flag to serv_got_im()
Jeffrey Connelly <jaconnel@calpoly.edu>
parents:
19426
diff
changeset
|
69 * of the attention request command to send. 0 if prpl only defines one |
1b5e786d137a
In the attention API, use the PURPLE_NOTIFY_MESSAGE flag to serv_got_im()
Jeffrey Connelly <jaconnel@calpoly.edu>
parents:
19426
diff
changeset
|
70 * (for example, Yahoo and MSN), but some protocols define more (MySpaceIM). |
1b5e786d137a
In the attention API, use the PURPLE_NOTIFY_MESSAGE flag to serv_got_im()
Jeffrey Connelly <jaconnel@calpoly.edu>
parents:
19426
diff
changeset
|
71 * |
1b5e786d137a
In the attention API, use the PURPLE_NOTIFY_MESSAGE flag to serv_got_im()
Jeffrey Connelly <jaconnel@calpoly.edu>
parents:
19426
diff
changeset
|
72 * Note that you can't send arbitrary PurpleAttentionType's, because there is |
1b5e786d137a
In the attention API, use the PURPLE_NOTIFY_MESSAGE flag to serv_got_im()
Jeffrey Connelly <jaconnel@calpoly.edu>
parents:
19426
diff
changeset
|
73 * only a fixed set of attention commands. |
1b5e786d137a
In the attention API, use the PURPLE_NOTIFY_MESSAGE flag to serv_got_im()
Jeffrey Connelly <jaconnel@calpoly.edu>
parents:
19426
diff
changeset
|
74 */ |
1b5e786d137a
In the attention API, use the PURPLE_NOTIFY_MESSAGE flag to serv_got_im()
Jeffrey Connelly <jaconnel@calpoly.edu>
parents:
19426
diff
changeset
|
75 void serv_send_attention(PurpleConnection *gc, const char *who, guint type_code); |
1b5e786d137a
In the attention API, use the PURPLE_NOTIFY_MESSAGE flag to serv_got_im()
Jeffrey Connelly <jaconnel@calpoly.edu>
parents:
19426
diff
changeset
|
76 |
1b5e786d137a
In the attention API, use the PURPLE_NOTIFY_MESSAGE flag to serv_got_im()
Jeffrey Connelly <jaconnel@calpoly.edu>
parents:
19426
diff
changeset
|
77 /** Process an incoming attention message. |
1b5e786d137a
In the attention API, use the PURPLE_NOTIFY_MESSAGE flag to serv_got_im()
Jeffrey Connelly <jaconnel@calpoly.edu>
parents:
19426
diff
changeset
|
78 * |
1b5e786d137a
In the attention API, use the PURPLE_NOTIFY_MESSAGE flag to serv_got_im()
Jeffrey Connelly <jaconnel@calpoly.edu>
parents:
19426
diff
changeset
|
79 * @param gc The connection that received the attention message. |
1b5e786d137a
In the attention API, use the PURPLE_NOTIFY_MESSAGE flag to serv_got_im()
Jeffrey Connelly <jaconnel@calpoly.edu>
parents:
19426
diff
changeset
|
80 * @param who Who requested your attention. |
19685
f3e0b1221765
This will silence a few warnings when building the Doxygen docs.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
19681
diff
changeset
|
81 * @param type_code An index into the prpl's attention_types list determining the type |
19461
1b5e786d137a
In the attention API, use the PURPLE_NOTIFY_MESSAGE flag to serv_got_im()
Jeffrey Connelly <jaconnel@calpoly.edu>
parents:
19426
diff
changeset
|
82 * of the attention request command to send. |
1b5e786d137a
In the attention API, use the PURPLE_NOTIFY_MESSAGE flag to serv_got_im()
Jeffrey Connelly <jaconnel@calpoly.edu>
parents:
19426
diff
changeset
|
83 */ |
1b5e786d137a
In the attention API, use the PURPLE_NOTIFY_MESSAGE flag to serv_got_im()
Jeffrey Connelly <jaconnel@calpoly.edu>
parents:
19426
diff
changeset
|
84 void serv_got_attention(PurpleConnection *gc, const char *who, guint type_code); |
1b5e786d137a
In the attention API, use the PURPLE_NOTIFY_MESSAGE flag to serv_got_im()
Jeffrey Connelly <jaconnel@calpoly.edu>
parents:
19426
diff
changeset
|
85 |
15822 | 86 void serv_get_info(PurpleConnection *, const char *); |
87 void serv_set_info(PurpleConnection *, const char *); | |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
88 |
15822 | 89 void serv_add_permit(PurpleConnection *, const char *); |
90 void serv_add_deny(PurpleConnection *, const char *); | |
91 void serv_rem_permit(PurpleConnection *, const char *); | |
92 void serv_rem_deny(PurpleConnection *, const char *); | |
93 void serv_set_permit_deny(PurpleConnection *); | |
94 void serv_chat_invite(PurpleConnection *, int, const char *, const char *); | |
95 void serv_chat_leave(PurpleConnection *, int); | |
96 void serv_chat_whisper(PurpleConnection *, int, const char *, const char *); | |
97 int serv_chat_send(PurpleConnection *, int, const char *, PurpleMessageFlags flags); | |
98 void serv_alias_buddy(PurpleBuddy *); | |
99 void serv_got_alias(PurpleConnection *gc, const char *who, const char *alias); | |
19461
1b5e786d137a
In the attention API, use the PURPLE_NOTIFY_MESSAGE flag to serv_got_im()
Jeffrey Connelly <jaconnel@calpoly.edu>
parents:
19426
diff
changeset
|
100 |
22342
3232cc79fa51
This is part of a patch from felipec, also known as shx, that adds
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
20074
diff
changeset
|
101 /** |
3232cc79fa51
This is part of a patch from felipec, also known as shx, that adds
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
20074
diff
changeset
|
102 * A protocol plugin should call this when it retrieves a private alias from |
3232cc79fa51
This is part of a patch from felipec, also known as shx, that adds
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
20074
diff
changeset
|
103 * the server. Private aliases are the aliases the user sets, while public |
3232cc79fa51
This is part of a patch from felipec, also known as shx, that adds
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
20074
diff
changeset
|
104 * aliases are the aliases or display names that buddies set for themselves. |
3232cc79fa51
This is part of a patch from felipec, also known as shx, that adds
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
20074
diff
changeset
|
105 * |
3232cc79fa51
This is part of a patch from felipec, also known as shx, that adds
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
20074
diff
changeset
|
106 * @param gc The connection on which the alias was received. |
3232cc79fa51
This is part of a patch from felipec, also known as shx, that adds
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
20074
diff
changeset
|
107 * @param who The screen name of the buddy whose alias was received. |
3232cc79fa51
This is part of a patch from felipec, also known as shx, that adds
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
20074
diff
changeset
|
108 * @param alias The alias that was received. |
3232cc79fa51
This is part of a patch from felipec, also known as shx, that adds
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
20074
diff
changeset
|
109 */ |
3232cc79fa51
This is part of a patch from felipec, also known as shx, that adds
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
20074
diff
changeset
|
110 void purple_serv_got_private_alias(PurpleConnection *gc, const char *who, const char *alias); |
3232cc79fa51
This is part of a patch from felipec, also known as shx, that adds
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
20074
diff
changeset
|
111 |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
112 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
113 /** |
15822 | 114 * Receive a typing message from a remote user. Either PURPLE_TYPING |
115 * or PURPLE_TYPED. If the user has stopped typing then use | |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
116 * serv_got_typing_stopped instead. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
117 * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
118 * TODO: Could probably move this into the conversation API. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
119 * |
16201
36b09c6f7957
Doxygen updates. This eliminated all the warnings from Doxygen.
Richard Laager <rlaager@wiktel.com>
parents:
15933
diff
changeset
|
120 * @param gc The connection on which the typing message was received. |
36b09c6f7957
Doxygen updates. This eliminated all the warnings from Doxygen.
Richard Laager <rlaager@wiktel.com>
parents:
15933
diff
changeset
|
121 * @param name The name of the remote user. |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
122 * @param timeout If this is a number greater than 0, then |
15822 | 123 * Purple will wait this number of seconds and then |
124 * set this buddy to the PURPLE_NOT_TYPING state. This | |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
125 * is used by protocols that send repeated typing messages |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
126 * while the user is composing the message. |
16201
36b09c6f7957
Doxygen updates. This eliminated all the warnings from Doxygen.
Richard Laager <rlaager@wiktel.com>
parents:
15933
diff
changeset
|
127 * @param state The typing state received |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
128 */ |
15822 | 129 void serv_got_typing(PurpleConnection *gc, const char *name, int timeout, |
130 PurpleTypingState state); | |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
131 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
132 /** |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
133 * TODO: Could probably move this into the conversation API. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
134 */ |
15822 | 135 void serv_got_typing_stopped(PurpleConnection *gc, const char *name); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
136 |
15822 | 137 void serv_got_im(PurpleConnection *gc, const char *who, const char *msg, |
138 PurpleMessageFlags flags, time_t mtime); | |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
139 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
140 /** |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
141 * @param data The hash function should be g_str_hash() and the equal |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
142 * function should be g_str_equal(). |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
143 */ |
15933
b449dc6b8a20
A little doxygen love and some tiny gaim->purpleisms
Mark Doliner <mark@kingant.net>
parents:
15822
diff
changeset
|
144 void serv_join_chat(PurpleConnection *, GHashTable *data); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
145 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
146 /** |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
147 * @param data The hash function should be g_str_hash() and the equal |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
148 * function should be g_str_equal(). |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
149 */ |
15933
b449dc6b8a20
A little doxygen love and some tiny gaim->purpleisms
Mark Doliner <mark@kingant.net>
parents:
15822
diff
changeset
|
150 void serv_reject_chat(PurpleConnection *, GHashTable *data); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
151 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
152 /** |
16201
36b09c6f7957
Doxygen updates. This eliminated all the warnings from Doxygen.
Richard Laager <rlaager@wiktel.com>
parents:
15933
diff
changeset
|
153 * Called by a prpl when an account is invited into a chat. |
36b09c6f7957
Doxygen updates. This eliminated all the warnings from Doxygen.
Richard Laager <rlaager@wiktel.com>
parents:
15933
diff
changeset
|
154 * |
36b09c6f7957
Doxygen updates. This eliminated all the warnings from Doxygen.
Richard Laager <rlaager@wiktel.com>
parents:
15933
diff
changeset
|
155 * @param gc The connection on which the invite arrived. |
36b09c6f7957
Doxygen updates. This eliminated all the warnings from Doxygen.
Richard Laager <rlaager@wiktel.com>
parents:
15933
diff
changeset
|
156 * @param name The name of the chat you're being invited to. |
36b09c6f7957
Doxygen updates. This eliminated all the warnings from Doxygen.
Richard Laager <rlaager@wiktel.com>
parents:
15933
diff
changeset
|
157 * @param who The username of the person inviting the account. |
36b09c6f7957
Doxygen updates. This eliminated all the warnings from Doxygen.
Richard Laager <rlaager@wiktel.com>
parents:
15933
diff
changeset
|
158 * @param message The optional invite message. |
36b09c6f7957
Doxygen updates. This eliminated all the warnings from Doxygen.
Richard Laager <rlaager@wiktel.com>
parents:
15933
diff
changeset
|
159 * @param data The components necessary if you want to call serv_join_chat(). |
36b09c6f7957
Doxygen updates. This eliminated all the warnings from Doxygen.
Richard Laager <rlaager@wiktel.com>
parents:
15933
diff
changeset
|
160 * The hash function should be g_str_hash() and the equal |
36b09c6f7957
Doxygen updates. This eliminated all the warnings from Doxygen.
Richard Laager <rlaager@wiktel.com>
parents:
15933
diff
changeset
|
161 * function should be g_str_equal(). |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
162 */ |
15822 | 163 void serv_got_chat_invite(PurpleConnection *gc, const char *name, |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
164 const char *who, const char *message, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
165 GHashTable *data); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
166 |
15822 | 167 PurpleConversation *serv_got_joined_chat(PurpleConnection *gc, |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
168 int id, const char *name); |
15822 | 169 void serv_got_chat_left(PurpleConnection *g, int id); |
170 void serv_got_chat_in(PurpleConnection *g, int id, const char *who, | |
171 PurpleMessageFlags flags, const char *message, time_t mtime); | |
172 void serv_send_file(PurpleConnection *gc, const char *who, const char *file); | |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
173 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
174 #ifdef __cplusplus |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
175 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
176 #endif |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
177 |
15822 | 178 #endif /* _PURPLE_SERVER_H_ */ |