Mercurial > pidgin.yaz
view plugins/icq/chatsession.c @ 1401:bf041349b11e
[gaim-migrate @ 1411]
abliity to set accounts away independent of each other. also allows for all the other states (like in yahoo and icq). probably breaks MSN, so don't use it until rob fixes it.
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Wed, 10 Jan 2001 22:15:24 +0000 |
parents | 0a766047b4fd |
children | 4c510ca3563f |
line wrap: on
line source
#include <stdlib.h> #include "icqlib.h" #include "chatsession.h" #include "list.h" icq_ChatSession *icq_ChatSessionNew(ICQLINK *icqlink) { icq_ChatSession *p=(icq_ChatSession *)malloc(sizeof(icq_ChatSession)); if (p) { p->remote_handle=0L; p->status=0; p->id=0L; p->icqlink=icqlink; list_insert(icqlink->d->icq_ChatSessions, 0, p); } return p; } void icq_ChatSessionDelete(void *p) { free(p); } void icq_ChatSessionClose(icq_ChatSession *p) { list_remove(p->icqlink->d->icq_ChatSessions, p); icq_ChatSessionDelete(p); } int _icq_FindChatSession(void *p, va_list data) { DWORD uin=va_arg(data, DWORD); return (((icq_ChatSession *)p)->remote_uin == uin); } icq_ChatSession *icq_FindChatSession(ICQLINK *icqlink, DWORD uin) { return list_traverse(icqlink->d->icq_ChatSessions, _icq_FindChatSession, uin); } void icq_ChatSessionSetStatus(icq_ChatSession *p, int status) { p->status=status; if(p->id) if(p->icqlink->icq_RequestNotify) (*p->icqlink->icq_RequestNotify)(p->icqlink, p->id, ICQ_NOTIFY_CHAT, status, 0); }