view src/protocols/oscar/stats.c @ 12478:8489040cf97b

[gaim-migrate @ 14789] Patch to gaim-devel by Aleksander Piotrowski "Looks like if one sets alias for particular buddy then alias_buddy callback is not called. Following diff fixes that problem for me (verified with jabber and my own protocol plugins) but I'm not sure if it is correct place to call serv_alias_buddy() (as I'm not sure if this whole alias bug isn't only my local problem ;)" committer: Tailor Script <tailor@pidgin.im>
author Richard Laager <rlaager@wiktel.com>
date Tue, 13 Dec 2005 23:25:24 +0000
parents 0b64f386a7b8
children
line wrap: on
line source

/*
 * Family 0x000b - Statistics.
 *
 */

#define FAIM_INTERNAL
#include <aim.h>

static int reportinterval(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs)
{
	int ret = 0;
	aim_rxcallback_t userfunc;
	fu16_t interval;

	interval = aimbs_get16(bs);

	if ((userfunc = aim_callhandler(sess, rx->conn, snac->family, snac->subtype)))
		ret = userfunc(sess, rx, interval);

	return ret;
}

static int snachandler(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs)
{

	if (snac->subtype == 0x0002)
		return reportinterval(sess, mod, rx, snac, bs);

	return 0;
}

faim_internal int stats_modfirst(aim_session_t *sess, aim_module_t *mod)
{

	mod->family = 0x000b;
	mod->version = 0x0001;
	mod->toolid = 0x0104;
	mod->toolversion = 0x0001;
	mod->flags = 0;
	strncpy(mod->name, "stats", sizeof(mod->name));
	mod->snachandler = snachandler;

	return 0;
}