Panda3D
pStatClientControlMessage.h
1 // Filename: pStatClientControlMessage.h
2 // Created by: drose (09Jul00)
3 //
4 ////////////////////////////////////////////////////////////////////
5 //
6 // PANDA 3D SOFTWARE
7 // Copyright (c) Carnegie Mellon University. All rights reserved.
8 //
9 // All use of this software is subject to the terms of the revised BSD
10 // license. You should have received a copy of this license along
11 // with this source code in a file named "LICENSE."
12 //
13 ////////////////////////////////////////////////////////////////////
14 
15 #ifndef PSTATCLIENTCONTROLMESSAGE_H
16 #define PSTATCLIENTCONTROLMESSAGE_H
17 
18 #include "pandabase.h"
19 
20 #include "pStatCollectorDef.h"
21 
22 #include "pvector.h"
23 
24 class Datagram;
25 class PStatClientVersion;
26 
27 ////////////////////////////////////////////////////////////////////
28 // Class : PStatClientControlMessage
29 // Description : This kind of message is sent from the client to the
30 // server on the TCP socket to establish critical
31 // control information.
32 ////////////////////////////////////////////////////////////////////
33 class EXPCL_PANDA_PSTATCLIENT PStatClientControlMessage {
34 public:
36 
37  void encode(Datagram &datagram) const;
38  bool decode(const Datagram &datagram, PStatClientVersion *version);
39 
40  enum Type {
41  T_datagram = 0,
42  T_hello,
43  T_define_collectors,
44  T_define_threads,
45  T_invalid
46  };
47 
48  Type _type;
49 
50  // Used for T_hello
51  string _client_hostname;
52  string _client_progname;
53  int _major_version;
54  int _minor_version;
55 
56  // Used for T_define_collectors
57  pvector<PStatCollectorDef *> _collectors;
58 
59  // Used for T_define_threads
60  int _first_thread_index;
61  pvector<string> _names;
62 };
63 
64 
65 #endif
66 
This kind of message is sent from the client to the server on the TCP socket to establish critical co...
This is our own Panda specialization on the default STL vector.
Definition: pvector.h:39
Records the version number of a particular client.
An ordered list of data elements, formatted in memory for transmission over a socket or writing to a ...
Definition: datagram.h:43