src/protocols/yahoo/yahoochat.h

Thu, 24 Nov 2005 20:47:46 +0000

author
Stu Tomlinson <nosnilmot@pidgin.im>
date
Thu, 24 Nov 2005 20:47:46 +0000
changeset 12216
d80739091a63
parent 9917
2fbb3c9fab2b
child 12402
8881356b600c
permissions
-rw-r--r--

[gaim-migrate @ 14518]
Remove GaimConvImFlags and GaimConvChatFlags - use GaimMessageFlags
everywhere instead.

Add a new GAIM_MESSAGE_IMAGES flag, and set it when sending a message
containing images.

When sending a message, the core will now always send "html" to the prpls,
just like it expects to receive html from the prpls for received messages.
This will allow text prpls such as SILC to support IM images and differentiate
them from user input. Previously gaim_unescape_html() was used before passing
the message to the prpl, now the prpl does this itself if it needs it.

I think I updated all the prpls correctly, but I'm not so sure about sametime.

6729
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
1 /**
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
2 * @file yahoochat.h The Yahoo! protocol plugin, chat and conference stuff
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
3 *
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
4 * gaim
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
5 *
8046
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 6729
diff changeset
6 * Gaim is the legal property of its developers, whose names are too numerous
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 6729
diff changeset
7 * to list here. Please refer to the COPYRIGHT file distributed with this
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 6729
diff changeset
8 * source distribution.
6729
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
9 *
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
10 * This program is free software; you can redistribute it and/or modify
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
11 * it under the terms of the GNU General Public License as published by
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
12 * the Free Software Foundation; either version 2 of the License, or
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
13 * (at your option) any later version.
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
14 *
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
15 * This program is distributed in the hope that it will be useful,
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
18 * GNU General Public License for more details.
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
19 *
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
20 * You should have received a copy of the GNU General Public License
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
21 * along with this program; if not, write to the Free Software
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
23 */
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
24
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
25 #ifndef _YAHOOCHAT_H_
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
26 #define _YAHOOCHAT_H_
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
27
8113
6a2ffc66c022 [gaim-migrate @ 8817]
Tim Ringenbach <marv@pidgin.im>
parents: 8046
diff changeset
28 #include "roomlist.h"
6a2ffc66c022 [gaim-migrate @ 8817]
Tim Ringenbach <marv@pidgin.im>
parents: 8046
diff changeset
29
6729
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
30 void yahoo_process_conference_invite(GaimConnection *gc, struct yahoo_packet *pkt);
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
31 void yahoo_process_conference_decline(GaimConnection *gc, struct yahoo_packet *pkt);
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
32 void yahoo_process_conference_logon(GaimConnection *gc, struct yahoo_packet *pkt);
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
33 void yahoo_process_conference_logoff(GaimConnection *gc, struct yahoo_packet *pkt);
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
34 void yahoo_process_conference_message(GaimConnection *gc, struct yahoo_packet *pkt);
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
35
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
36 void yahoo_process_chat_online(GaimConnection *gc, struct yahoo_packet *pkt);
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
37 void yahoo_process_chat_logout(GaimConnection *gc, struct yahoo_packet *pkt);
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
38 void yahoo_process_chat_join(GaimConnection *gc, struct yahoo_packet *pkt);
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
39 void yahoo_process_chat_exit(GaimConnection *gc, struct yahoo_packet *pkt);
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
40 void yahoo_process_chat_message(GaimConnection *gc, struct yahoo_packet *pkt);
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
41 void yahoo_process_chat_addinvite(GaimConnection *gc, struct yahoo_packet *pkt);
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
42 void yahoo_process_chat_goto(GaimConnection *gc, struct yahoo_packet *pkt);
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
43
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
44 void yahoo_c_leave(GaimConnection *gc, int id);
12216
d80739091a63 [gaim-migrate @ 14518]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9917
diff changeset
45 int yahoo_c_send(GaimConnection *gc, int id, const char *what, GaimMessageFlags flags);
6729
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
46 GList *yahoo_c_info(GaimConnection *gc);
9768
318bcd935ca5 [gaim-migrate @ 10636]
Luke Schierer <lschiere@pidgin.im>
parents: 9376
diff changeset
47 GHashTable *yahoo_c_info_defaults(GaimConnection *gc, const char *chat_name);
6729
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
48 void yahoo_c_join(GaimConnection *gc, GHashTable *data);
9917
2fbb3c9fab2b [gaim-migrate @ 10809]
Daniel Atallah <datallah@pidgin.im>
parents: 9782
diff changeset
49 char *yahoo_get_chat_name(GHashTable *data);
6729
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
50 void yahoo_c_invite(GaimConnection *gc, int id, const char *msg, const char *name);
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
51
9782
4f0e4049d3f4 [gaim-migrate @ 10650]
Tim Ringenbach <marv@pidgin.im>
parents: 9768
diff changeset
52 void yahoo_conf_leave(struct yahoo_data *yd, const char *room, const char *dn, GList *who);
4f0e4049d3f4 [gaim-migrate @ 10650]
Tim Ringenbach <marv@pidgin.im>
parents: 9768
diff changeset
53
6729
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
54 void yahoo_chat_goto(GaimConnection *gc, const char *name);
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
55
8113
6a2ffc66c022 [gaim-migrate @ 8817]
Tim Ringenbach <marv@pidgin.im>
parents: 8046
diff changeset
56 /* room listing functions */
6a2ffc66c022 [gaim-migrate @ 8817]
Tim Ringenbach <marv@pidgin.im>
parents: 8046
diff changeset
57 GaimRoomlist *yahoo_roomlist_get_list(GaimConnection *gc);
6a2ffc66c022 [gaim-migrate @ 8817]
Tim Ringenbach <marv@pidgin.im>
parents: 8046
diff changeset
58 void yahoo_roomlist_cancel(GaimRoomlist *list);
8584
871f67e4aa3c [gaim-migrate @ 9334]
Daniel Atallah <datallah@pidgin.im>
parents: 8113
diff changeset
59 void yahoo_roomlist_expand_category(GaimRoomlist *list, GaimRoomlistRoom *category);
8113
6a2ffc66c022 [gaim-migrate @ 8817]
Tim Ringenbach <marv@pidgin.im>
parents: 8046
diff changeset
60
9376
72964e97c46e [gaim-migrate @ 10184]
Tim Ringenbach <marv@pidgin.im>
parents: 8584
diff changeset
61 /* util */
72964e97c46e [gaim-migrate @ 10184]
Tim Ringenbach <marv@pidgin.im>
parents: 8584
diff changeset
62 void yahoo_chat_add_users(GaimConvChat *chat, GList *newusers);
72964e97c46e [gaim-migrate @ 10184]
Tim Ringenbach <marv@pidgin.im>
parents: 8584
diff changeset
63 void yahoo_chat_add_user(GaimConvChat *chat, const char *user, const char *reason);
72964e97c46e [gaim-migrate @ 10184]
Tim Ringenbach <marv@pidgin.im>
parents: 8584
diff changeset
64
6729
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
65 #endif /* _YAHOO_CHAT_H_ */

mercurial