src/protocols/yahoo/yahoochat.h

Thu, 20 Jul 2006 08:11:54 +0000

author
Mark Doliner <markdoliner@pidgin.im>
date
Thu, 20 Jul 2006 08:11:54 +0000
changeset 14030
23144f1dc950
parent 12402
8881356b600c
permissions
-rw-r--r--

[gaim-migrate @ 16525]
A bunch of little things
* Use GAIM_CONNECTION_IS_VALID(gc) in a lot of places where
we were doing g_list_find(gaim_connections_get_all(), gc)
* Get rid of a lot of places where we were doing
g_list_find(gaim_connections_get_all(), gc). The handle used
by the request API ensures that the ok and cancel callback
functions won't be called if the gc is destroyed. However,
GAIM_CONNECTION_IS_VALID(gc) is still very important for
callback functions where we can't cancel the request.
For example, gaim_proxy_connect() callback functions.
* "Added" a function to Yahoo! that should help us notice
when our buddies change their buddy icon/display picture
* Some comments in a few places
* Changed GAIM_CONNECTION_IS_VALID(gc) to only look through
the list of "all" connections and not the list of
"connecting" connections. Some time ago we changed how
this was done so that the list of "all" connections now
includes the "connection" connections.

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"
12402
8881356b600c [gaim-migrate @ 14709]
Richard Laager <rlaager@pidgin.im>
parents: 12216
diff changeset
29 #include "yahoo_packet.h"
8113
6a2ffc66c022 [gaim-migrate @ 8817]
Tim Ringenbach <marv@pidgin.im>
parents: 8046
diff changeset
30
6729
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
31 void yahoo_process_conference_invite(GaimConnection *gc, struct yahoo_packet *pkt);
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
32 void yahoo_process_conference_decline(GaimConnection *gc, struct yahoo_packet *pkt);
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
33 void yahoo_process_conference_logon(GaimConnection *gc, struct yahoo_packet *pkt);
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
34 void yahoo_process_conference_logoff(GaimConnection *gc, struct yahoo_packet *pkt);
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
35 void yahoo_process_conference_message(GaimConnection *gc, struct yahoo_packet *pkt);
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
36
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
37 void yahoo_process_chat_online(GaimConnection *gc, struct yahoo_packet *pkt);
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
38 void yahoo_process_chat_logout(GaimConnection *gc, struct yahoo_packet *pkt);
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
39 void yahoo_process_chat_join(GaimConnection *gc, struct yahoo_packet *pkt);
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
40 void yahoo_process_chat_exit(GaimConnection *gc, struct yahoo_packet *pkt);
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
41 void yahoo_process_chat_message(GaimConnection *gc, struct yahoo_packet *pkt);
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
42 void yahoo_process_chat_addinvite(GaimConnection *gc, struct yahoo_packet *pkt);
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
43 void yahoo_process_chat_goto(GaimConnection *gc, struct yahoo_packet *pkt);
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
44
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
45 void yahoo_c_leave(GaimConnection *gc, int id);
12216
d80739091a63 [gaim-migrate @ 14518]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9917
diff changeset
46 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
47 GList *yahoo_c_info(GaimConnection *gc);
9768
318bcd935ca5 [gaim-migrate @ 10636]
Luke Schierer <lschiere@pidgin.im>
parents: 9376
diff changeset
48 GHashTable *yahoo_c_info_defaults(GaimConnection *gc, const char *chat_name);
6729
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
49 void yahoo_c_join(GaimConnection *gc, GHashTable *data);
9917
2fbb3c9fab2b [gaim-migrate @ 10809]
Daniel Atallah <datallah@pidgin.im>
parents: 9782
diff changeset
50 char *yahoo_get_chat_name(GHashTable *data);
6729
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
51 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
52
9782
4f0e4049d3f4 [gaim-migrate @ 10650]
Tim Ringenbach <marv@pidgin.im>
parents: 9768
diff changeset
53 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
54
6729
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
55 void yahoo_chat_goto(GaimConnection *gc, const char *name);
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
56
8113
6a2ffc66c022 [gaim-migrate @ 8817]
Tim Ringenbach <marv@pidgin.im>
parents: 8046
diff changeset
57 /* room listing functions */
6a2ffc66c022 [gaim-migrate @ 8817]
Tim Ringenbach <marv@pidgin.im>
parents: 8046
diff changeset
58 GaimRoomlist *yahoo_roomlist_get_list(GaimConnection *gc);
6a2ffc66c022 [gaim-migrate @ 8817]
Tim Ringenbach <marv@pidgin.im>
parents: 8046
diff changeset
59 void yahoo_roomlist_cancel(GaimRoomlist *list);
8584
871f67e4aa3c [gaim-migrate @ 9334]
Daniel Atallah <datallah@pidgin.im>
parents: 8113
diff changeset
60 void yahoo_roomlist_expand_category(GaimRoomlist *list, GaimRoomlistRoom *category);
8113
6a2ffc66c022 [gaim-migrate @ 8817]
Tim Ringenbach <marv@pidgin.im>
parents: 8046
diff changeset
61
9376
72964e97c46e [gaim-migrate @ 10184]
Tim Ringenbach <marv@pidgin.im>
parents: 8584
diff changeset
62 /* util */
72964e97c46e [gaim-migrate @ 10184]
Tim Ringenbach <marv@pidgin.im>
parents: 8584
diff changeset
63 void yahoo_chat_add_users(GaimConvChat *chat, GList *newusers);
72964e97c46e [gaim-migrate @ 10184]
Tim Ringenbach <marv@pidgin.im>
parents: 8584
diff changeset
64 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
65
6729
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
66 #endif /* _YAHOO_CHAT_H_ */

mercurial