00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef PSTATCLIENTCONTROLMESSAGE_H
00016 #define PSTATCLIENTCONTROLMESSAGE_H
00017
00018 #include "pandabase.h"
00019
00020 #include "pStatCollectorDef.h"
00021
00022 #include "pvector.h"
00023
00024 class Datagram;
00025 class PStatClientVersion;
00026
00027
00028
00029
00030
00031
00032
00033 class EXPCL_PANDA_PSTATCLIENT PStatClientControlMessage {
00034 public:
00035 PStatClientControlMessage();
00036
00037 void encode(Datagram &datagram) const;
00038 bool decode(const Datagram &datagram, PStatClientVersion *version);
00039
00040 enum Type {
00041 T_datagram = 0,
00042 T_hello,
00043 T_define_collectors,
00044 T_define_threads,
00045 T_invalid
00046 };
00047
00048 Type _type;
00049
00050
00051 string _client_hostname;
00052 string _client_progname;
00053 int _major_version;
00054 int _minor_version;
00055
00056
00057 pvector<PStatCollectorDef *> _collectors;
00058
00059
00060 int _first_thread_index;
00061 pvector<string> _names;
00062 };
00063
00064
00065 #endif
00066