stec-platform
autoqtcpheader.h
1 #ifndef AUTOQTCPHEADER_H
2 #define AUTOQTCPHEADER_H
3 
4 
5 
6 
7 #include <QVariant>
8 #include <QVariantList>
9 #include <QString>
10 #include <QStringList>
11 #include "platform_global.h"
12 
13 
14 
15 namespace ADI {
16 
18 #define ERROR_SIZE -1
19 
21 #define GENERAL_ACK 0
22 
24 #define INTERESTS GENERAL_ACK+1
25 
27 #define UPDATES INTERESTS+1
28 
30 #define NAMES UPDATES+1
31 
33 #define NAMESGONE NAMES+1
34 
36 #define MYUUID NAMESGONE+1
37 
39 #define RELAY MYUUID + 1
40 
42 #define NORELAY RELAY + 1
43 
45 #define PING NORELAY + 1
46 
48 #define PONG PING + 1
49 
50 
59 class Codex {
60 
61 public :
62 
67  static QVariantList EnCodePing(void)
68  {
69  QVariantList vl;
70  vl.push_back(PING);
71  vl.push_back("PING");
72  return vl;
73  }
74 
79  static QVariantList EnCodePong(void)
80  {
81  QVariantList vl;
82  vl.push_back(PONG);
83  vl.push_back("PONG");
84  return vl;
85  }
86 
92  static QVariantList EnCodeUUID( QVariant uuid )
93  {
94  QVariantList vl;
95  vl.push_back( MYUUID);
96  vl.push_back( uuid);
97  return vl;
98  }
99 
105  static QVariant DecodeUUID( QVariantList message )
106  {
107  if (message.size() > 1)
108  return message[1];
109  return QVariant("0");
110  }
111 
120  static QVariantList EnCodeData( QString name, QString desc, int index, QVariant src, VremVArray &data )
121  {
122 
123  QVariantList vl;
124  vl.push_back(UPDATES);
125  vl.push_back(name);
126  vl.push_back(desc);
127  vl.push_back(src);
128  vl.push_back(index);
129 
130  foreach (QVariant v, data) {
131  vl.push_back(v);
132  }
133  return vl;
134  }
135 
145  static VremVArray DeCodeData( QString &name, QString &desc, int &index, QVariant &src, QVariantList message)
146  {
147  VremVArray va;
148 
149  if ( message.size() > 5 )
150  {
151  name = message[1].toString();
152  desc = message[2].toString();
153  src = message[3];
154  index = message[4].toInt();
155 
156  for( int i = 5; i < message.size(); i++) {
157  va.push_back(message[i]);
158  }
159  }
160  return va;
161  }
162 
169  static QVariantList EnCodeNames( QStringList names, int Type=INTERESTS )
170  {
171  QVariantList vl;
172  vl.push_back(Type);
173  foreach(QString s, names) {
174  vl.push_back(s);
175  }
176  return vl;
177  }
178 
185  static QVariantList EnCodeNames( QString name, int Type=INTERESTS )
186  {
187  QVariantList vl;
188  vl.push_back(Type);
189  vl.push_back(name);
190  return vl;
191  }
192 
198  static QStringList DeCodeNames( QVariantList &message )
199  {
200  QStringList sl;
201 
202  for ( int i = 1; i < message.size(); ++i)
203  {
204  sl.push_back(message[i].toString());
205  }
206  return sl;
207  }
208 };
209 
210 
211 }
212 
213 
214 #endif // AUTOQTCPHEADER_H
The Codex class Codex for message from stdcomQt2 and also autoreconnect.
Definition: autoqtcpheader.h:59
static QVariantList EnCodeNames(QString name, int Type=INTERESTS)
EnCodeNames.
Definition: autoqtcpheader.h:185
static QVariant DecodeUUID(QVariantList message)
DecodeUUID.
Definition: autoqtcpheader.h:105
static QVariantList EnCodeUUID(QVariant uuid)
EnCodeUUID.
Definition: autoqtcpheader.h:92
static QVariantList EnCodeNames(QStringList names, int Type=INTERESTS)
EnCodeNames.
Definition: autoqtcpheader.h:169
static VremVArray DeCodeData(QString &name, QString &desc, int &index, QVariant &src, QVariantList message)
DeCodeData.
Definition: autoqtcpheader.h:145
static QVariantList EnCodePong(void)
EnCodePong.
Definition: autoqtcpheader.h:79
static QStringList DeCodeNames(QVariantList &message)
DeCodeNames.
Definition: autoqtcpheader.h:198
static QVariantList EnCodeData(QString name, QString desc, int index, QVariant src, VremVArray &data)
Definition: autoqtcpheader.h:120
static QVariantList EnCodePing(void)
EnCodePing.
Definition: autoqtcpheader.h:67
Definition: autoqtcpdistribution.cpp:10