--- 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);