LGI  1.0
Lliurex Graphic Interface
message.hpp
Go to the documentation of this file.
1 
2 #ifndef _LGI_MESSAGE_
3 #define _LGI_MESSAGE_
4 
5 #include <iostream>
6 #include <string>
7 #include <map>
8 #include <vector>
9 
10 #define LGI_MESSAGE_TYPE_NONE 0x00
11 #define LGI_MESSAGE_TYPE_INT 0x01
12 #define LGI_MESSAGE_TYPE_FLOAT 0x02
13 #define LGI_MESSAGE_TYPE_DOUBLE 0x03
14 #define LGI_MESSAGE_TYPE_STRING 0x04
15 #define LGI_MESSAGE_TYPE_POINTER 0x05
16 #define LGI_MESSAGE_TYPE_VECTOR 0x06
17 
18 namespace net
19 {
20  namespace lliurex
21  {
22  namespace lgi
23  {
25  {
26  public:
27 
28  int type;
29  MessageData();
30  virtual ~MessageData();
31 
32  };
33 
34  class MessageDataInt : public MessageData
35  {
36  public:
37  int value;
38  MessageDataInt(int value);
39 
40  };
41 
43  {
44  public:
45  float value;
46  MessageDataFloat(float value);
47 
48  };
49 
51  {
52  public:
53  double value;
54  MessageDataDouble(double value);
55 
56  };
57 
59  {
60  public:
61  std::string value;
62  MessageDataString(std::string value);
63 
64  };
65 
67  {
68  public:
69  void * value;
70  MessageDataPointer(void * value);
71 
72  };
73 
75  {
76  public:
77  std::vector<MessageData *>value;
78 
79  MessageDataVector(std::vector<MessageData *> value);
80 
81  };
82 
83  class Message
84  {
85  public:
86  int id;
87  std::map<std::string,MessageData *> data;
88 
89  Message(int id);
90  ~Message();
91 
92  void Set(std::string name,MessageData * data);
93  void Set(std::string name,int value);
94  void Set(std::string name,float value);
95  void Set(std::string name,double value);
96  void Set(std::string name,std::string value);
97 
98 
99  };
100  }
101  }
102 }
103 
104 
105 #endif
Definition: message.hpp:24
float value
Definition: message.hpp:45
int type
Definition: message.hpp:28
Definition: message.hpp:42
std::string value
Definition: message.hpp:61
Definition: message.hpp:66
Definition: application.hpp:9
Definition: message.hpp:74
int value
Definition: message.hpp:37
double value
Definition: message.hpp:53
std::map< std::string, MessageData * > data
Definition: message.hpp:87
Definition: message.hpp:58
std::vector< MessageData * > value
Definition: message.hpp:77
Definition: message.hpp:50
int id
Definition: message.hpp:86
void * value
Definition: message.hpp:69
Definition: message.hpp:34
Definition: message.hpp:83