コード例 #1
0
void OfflineMessagesTask::deleteOfflineMessages()
{
	FLAP f = { 0x02, 0, 0 };
	SNAC s = { 0x0015, 0x0002, 0x0000, client()->snacSequence() };
	
	
	setRequestType( 0x003E ); //delete offline messages
	setSequence( m_sequence );
	Buffer* buf = addInitialData();
	Transfer* t = createTransfer( f, s, buf );
	send( t );
}
コード例 #2
0
void OfflineMessagesTask::onGo()
{
	kdDebug( OSCAR_RAW_DEBUG ) << k_funcinfo << "Requesting offline messages" << endl;
	
	FLAP f = { 0x02, 0, 0 };
	SNAC s = { 0x0015, 0x0002, 0x0000, client()->snacSequence() };
	
	setRequestType( 0x003c ); //offline message request
	setSequence( f.sequence );
	Buffer* buf = addInitialData();
	Transfer* t = createTransfer( f, s, buf );
	send( t );
}
コード例 #3
0
void ICQTlvInfoRequestTask::onGo()
{
	kDebug(OSCAR_RAW_DEBUG) << "Requsting full TLV user info for: " << m_userToRequestFor;

	setSequence( client()->snacSequence() );
	setRequestType( 0x07D0 );
	setRequestSubType( 0x0FA0 );

	Buffer b;

	b.startBlock( Buffer::BWord, Buffer::LittleEndian );
	// Magic numbers
	b.addDWord( 0x05b90002 );
	b.addDWord( 0x80000000 );
	b.addDWord( 0x00000006 );
	b.addDWord( 0x00010002 );
	b.addDWord( 0x00020000 );
	b.addDWord( 0x04e20000 );
	b.addWord( 0x0002 );
	b.addWord( m_type );
	b.addDWord( 0x00000001 );

	b.startBlock( Buffer::BWord );
	b.addTLV( 0x003C, m_metaInfoId );
	b.addTLV( 0x0032, m_userToRequestFor.toLatin1() );
	b.endBlock();

	b.endBlock();

	Buffer *sendBuf = addInitialData( &b );

	Oscar::DWORD seq = client()->snacSequence();
	m_contactSequenceMap[seq] = m_userToRequestFor;

	FLAP f = { 0x02, 0, 0 };
	SNAC s = { 0x0015, 0x0002, 0, seq };
	Transfer* t = createTransfer( f, s, sendBuf );
	send( t );
}