Orxonox  0.0.5 Codename: Arcturus
Chat.h
Go to the documentation of this file.
1 /*
2  * ORXONOX - the hottest 3D action shooter ever to exist
3  * > www.orxonox.net <
4  *
5  *
6  * License notice:
7  *
8  * This program is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU General Public License
10  * as published by the Free Software Foundation; either version 2
11  * of the License, or (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21  *
22  * Author:
23  * Oliver Scheuss <scheusso [at] ee.ethz.ch>
24  * Co-authors:
25  * ...
26  *
27  */
28 
29 #ifndef _NETWORK_Chat_H__
30 #define _NETWORK_Chat_H__
31 
32 #include "network/NetworkPrereqs.h"
33 #include "Packet.h"
34 
35 namespace orxonox {
36 namespace packet {
40 class _NetworkExport Chat : public Packet
41 {
42 public:
43  /* constructors */
44  Chat( const std::string& message, unsigned int sourceID, unsigned int targetID );
45  Chat( uint8_t* data, unsigned int clientID );
46 
47  /* destructor */
48  ~Chat();
49 
50  /* get size of packet */
51  virtual inline unsigned int getSize() const override;
52 
53  /* process chat message packet and remove it afterwards */
54  virtual bool process(orxonox::Host* host) override;
55 
56  /* Get the length of the message (not the full size of the packet) */
57  unsigned int getMessageLength() { return this->messageLength_; };
58 
59  /* return message content */
60  unsigned char *getMessage();
61 
62 private:
63 
64  /* Message length */
65  uint32_t messageLength_;
66 
67  /* Client ID (an integral value for identification) */
68  unsigned int clientID_;
69 };
70 
71 } //namespace packet
72 } //namespace orxonox
73 
74 #endif /* _NETWORK_Chat_H__ */
Shared library macros, enums, constants and forward declarations for the network library ...
Definition: Chat.h:40
unsigned int getMessageLength()
Definition: Chat.h:57
::std::string string
Definition: gtest-port.h:756
Output level, used for messages directed to the user (e.g. "Press any key to continue") ...
Definition: OutputDefinitions.h:89
Die Wagnis Klasse hat die folgenden Aufgaben:
Definition: ApplicationPaths.cc:66
#define _NetworkExport
Definition: NetworkPrereqs.h:59
Definition: Packet.h:61
unsigned int clientID_
Definition: Chat.h:68
uint32_t messageLength_
Definition: Chat.h:65
Base class of Server and Client This is the Base class of the Server and Client classes.
Definition: Host.h:52