source: lgi/trunk/fuentes/include/lgi-1.0/message.hpp @ 79

Last change on this file since 79 was 79, checked in by jrpelegrina, 4 years ago

Imported from trusty

File size: 1.8 KB
Line 
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
18namespace net
19{
20        namespace lliurex
21        {
22                namespace lgi
23                {
24                        class MessageData
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                       
42                        class MessageDataFloat : public MessageData
43                        {
44                                public:
45                                        float value;
46                                        MessageDataFloat(float value);
47                               
48                        };
49                       
50                        class MessageDataDouble : public MessageData
51                        {
52                                public:
53                                        double value;
54                                        MessageDataDouble(double value);
55                               
56                        };
57                       
58                        class MessageDataString : public MessageData
59                        {
60                                public:
61                                        std::string value;
62                                        MessageDataString(std::string value);
63                               
64                        };
65                       
66                        class MessageDataPointer : public MessageData
67                        {
68                                public:
69                                        void * value;
70                                        MessageDataPointer(void * value);
71                               
72                        };
73                       
74                        class MessageDataVector : public MessageData
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
Note: See TracBrowser for help on using the repository browser.