File: netmessage.h

package info (click to toggle)
clanlib 0.5.4-1-6
  • links: PTS
  • area: main
  • in suites: woody
  • size: 10,320 kB
  • ctags: 10,893
  • sloc: cpp: 76,056; xml: 3,281; sh: 2,961; perl: 1,204; asm: 837; makefile: 775
file content (71 lines) | stat: -rw-r--r-- 1,689 bytes parent folder | download
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/*
	$Id: netmessage.h,v 1.11 2001/09/22 15:52:17 plasmoid Exp $

	------------------------------------------------------------------------
	ClanLib, the platform independent game SDK.

	This library is distributed under the GNU LIBRARY GENERAL PUBLIC LICENSE
	version 2. See COPYING for details.

	For a total list of contributers see CREDITS.

	See http://www.clanlib.org
	------------------------------------------------------------------------

	File purpose:
		Network component header file.
*/

//! clanNetwork="NetSessions"
//! header=network.h

#ifndef header_netmessage
#define header_netmessage

#include <string>
#include "netcomputer.h"

//: CL_NetMessage is used to contain messages sent across the network.
class CL_NetMessage
{
public:
//! Construction:
	//: Creates a net message with no contents. (default constructor)
	CL_NetMessage()
	{
	}

	//: Copy constructor.
	CL_NetMessage(const CL_NetMessage &copy)
	{
		data = copy.data;
		from = copy.from;
	}

	//: <p>Constructs a Net message using the data given. Please notice that it	
	//: doesn't duplicate the data, but only points its data pointer to the 
	//: data given.</p>
	//- data - Pointer to the data to be contained by the message.
	//- size - Size of the data.
	CL_NetMessage(const void *data, int size)
	{
		this->data.append((char *) data, size);
	}

	//: NetMessage Constructor
	CL_NetMessage(const std::string &data)
	{
		this->data = data;
	}

//! Attributes:
	//: Packet data.
	std::string data;

	//: <p>Computer the message was sent from. You don't have to fill in this
	//: if you just want to send a message - it is only used when receiving from
	//: a netchannel.</p>
	CL_NetComputer from;
};

#endif