Exemplo n.º 1
0
void prot_group_download_labels_reply( struct qqclient* qq, qqpacket* p )
{
	bytebuffer *buf = p->buf;
	uchar cmd = get_byte( buf );
	if( cmd == 0x1F ){	//download
		uint next_pos = get_int( buf );
		if( next_pos == 0x1000000 ){	//no group labels info ??
			return;
		}
		if( next_pos != 0x00 ){
			DBG("next_pos == 0x%x", next_pos );
		}
		get_byte( buf );	//unknown
		get_word( buf );
		uchar len;
		while( buf->pos < buf->len ){
			uchar number = get_byte( buf );
			get_byte( buf );
			len = get_byte( buf );
			//temp seems to be utf8 code
			qqgroup *g = group_get( qq, number, 1 );
			if( g == NULL )
				continue;
			memset( g->name, 0, NICKNAME_LEN );
			get_data( buf, (uchar*)g->name, len );
//			DBG("group id: %u  name: %s", g->number, g->name );
		}
		group_put_event( qq );
		buddy_put_event( qq );
	}else{
		DBG("unknown cmd=%x", cmd );
	}
}
Exemplo n.º 2
0
EXPORT uint libqq_refresh( qqclient* qq )
{
	char event[16];
	qqclient_set_process( qq, qq->process );
	sprintf( event, "status^$%d", qq->mode );
	qqclient_put_event( qq, event );
	buddy_put_event( qq );
	group_put_event( qq );
	qun_put_event( qq );
	qqclient_set_process( qq, qq->process );
	return qq->number;
}
Exemplo n.º 3
0
EXPORT uint webqq_get_number( user* u )
{
	qqclient* qq = (qqclient*)u->qq;
	char event[16];
	qqclient_set_process( qq, qq->process );
	sprintf( event, "status^$%d", qq->mode );
	qqclient_put_event( qq, event );
	buddy_put_event( qq );
	group_put_event( qq );
	qun_put_event( qq );
	qqclient_set_process( qq, qq->process );
	return qq->number;
}