summaryrefslogtreecommitdiffstats
path: root/kopete/protocols/oscar/liboscar/sendmessagetask.h
blob: 7aade8f359c0aadb108196954e604aa616513066 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/*
   sendmessagetask.h  - Outgoing OSCAR Messaging Handler

   Copyright (c) 2004 by Matt Rogers <mattr@kde.org>
   Kopete    (c) 2002-2004 by the Kopete developers  <kopete-devel@kde.org>

   *************************************************************************
   *                                                                       *
   * This program is free software; you can redistribute it and/or modify  *
   * it under the terms of the GNU General Public License as published by  *
   * the Free Software Foundation; either version 2 of the License, or     *
   * (at your option) any later version.                                   *
   *                                                                       *
   *************************************************************************
*/

#ifndef SENDMESSAGETASK_H
#define SENDMESSAGETASK_H

#include "task.h"
#include <tqstring.h>
#include "oscarmessage.h"
/**
@author Kopete Developers
*/
class SendMessageTask : public Task
{
public:
	SendMessageTask( Task* parent );
	~SendMessageTask();

	//! Set the message to be sent
	void setMessage( const Oscar::Message& msg );

	//! Are we sending an auto response
	void setAutoResponse( bool autoResponse );

	virtual void onGo();

private:
	void addBasicTLVs( Buffer* b );
	void addChannel1Data( Buffer* b );
	void addChannel2Data( Buffer* b );
	void addChannel4Data( Buffer* b );
	void addRendezvousMessageData( Buffer* b );

private:
	Oscar::Message m_message;
	bool m_autoResponse;
	uint m_cookieCount;
};

#endif