Mercurial > pidgin.yaz
diff src/protocols/yahoo/yahoo.h @ 6784:ea3707dde7a3
[gaim-migrate @ 7323]
marv_sf writes:
"Fixes some issues with idle buddies.
Displays the wireless icon for sms users.
Hopefully makes long contact lists (and long ignore lists,
if such things exist) work.
Notices with a buddy isn't on the server list, and uses the
notauthorized icon, displays a status/tooltip of Not on
server list, and adds a menu item to add them.
It also considates the games and status message hash tables
into a single one, that uses yahoo_friend for its values.
yahoo_friend is nice enough to store the information for all
the above items."
committer: Tailor Script <tailor@pidgin.im>
author | Luke Schierer <lschiere@pidgin.im> |
---|---|
date | Sun, 07 Sep 2003 21:59:55 +0000 |
parents | 7b878ee8f064 |
children | 7de1b559cbbb |
line wrap: on
line diff
--- a/src/protocols/yahoo/yahoo.h Sun Sep 07 21:00:34 2003 +0000 +++ b/src/protocols/yahoo/yahoo.h Sun Sep 07 21:59:55 2003 +0000 @@ -23,6 +23,8 @@ #ifndef _YAHOO_H_ #define _YAHOO_H_ +#include "prpl.h" + enum yahoo_service { /* these are easier to see in hex */ YAHOO_SERVICE_LOGON = 1, YAHOO_SERVICE_LOGOFF, @@ -100,16 +102,15 @@ YAHOO_STATUS_OFFLINE = 0x5a55aa56, /* don't ask */ YAHOO_STATUS_TYPING = 0x16 }; -#define YAHOO_STATUS_GAME 0x2 /* Games don't fit into the regular status model */ struct yahoo_data { int fd; guchar *rxqueue; int rxlen; - GHashTable *hash; - GHashTable *games; + GHashTable *friends; int current_status; gboolean logged_in; + GString *tmp_serv_blist, *tmp_serv_ilist; GSList *confs; unsigned int conf_id; /* just a counter */ gboolean chat_online; @@ -129,6 +130,15 @@ GSList *hash; }; +struct yahoo_friend { /* we'll call them friends, so we don't confuse them with GaimBuddy */ + enum yahoo_status status; + char *msg; + char *game; + int idle; + int away; + gboolean sms; +}; + struct yahoo_packet *yahoo_packet_new(enum yahoo_service service, enum yahoo_status status, int id); void yahoo_packet_hash(struct yahoo_packet *pkt, int key, const char *value); int yahoo_send_packet(struct yahoo_data *yd, struct yahoo_packet *pkt);