Sfoglia il codice sorgente

Added enum instead of int for QDnsHeader and QDnsQuery and associated tests

develop
Robin Thoni 6 anni fa
parent
commit
a5915f51f3

+ 5
- 4
src/modules/dns-base/includes/dns-base/QDnsHeader.h Vedi File

@@ -8,6 +8,7 @@
8 8
 #include <qplatformdefs.h>
9 9
 #include <QByteArray>
10 10
 #include <QDataStream>
11
+#include "QDnsBase.h"
11 12
 
12 13
 namespace QDns
13 14
 {
@@ -49,9 +50,9 @@ namespace QDns
49 50
 
50 51
             void setIsQuery(bool isQuery);
51 52
 
52
-            quint8 getOpcode() const;
53
+            HeaderOpcode getOpcode() const;
53 54
 
54
-            void setOpcode(quint8 opcode);
55
+            void setOpcode(HeaderOpcode opcode);
55 56
 
56 57
             bool isAuthoritative() const;
57 58
 
@@ -77,9 +78,9 @@ namespace QDns
77 78
 
78 79
             void setNonAuthenticatedAcceptable(bool isNonAuthenticatedAcceptable);
79 80
 
80
-            quint8 getReplyCode() const;
81
+            HeaderReplyCode getReplyCode() const;
81 82
 
82
-            void setReplyCode(quint8 replyCode);
83
+            void setReplyCode(HeaderReplyCode replyCode);
83 84
 
84 85
 
85 86
             quint16 getQueryCount() const;

+ 5
- 4
src/modules/dns-base/includes/dns-base/QDnsQuery.h Vedi File

@@ -7,6 +7,7 @@
7 7
 
8 8
 #include <qplatformdefs.h>
9 9
 #include <QString>
10
+#include "dns-base/QDnsBase.h"
10 11
 
11 12
 namespace QDns
12 13
 {
@@ -33,13 +34,13 @@ namespace QDns
33 34
 
34 35
             void setName(const QString &name);
35 36
 
36
-            quint16 getType() const;
37
+            RecordType getType() const;
37 38
 
38
-            void setType(quint16 type);
39
+            void setType(RecordType type);
39 40
 
40
-            quint16 getClass() const;
41
+            RecordClass getClass() const;
41 42
 
42
-            void setClass(quint16 aClass);
43
+            void setClass(RecordClass aClass);
43 44
 
44 45
         private:
45 46
             void parse(const QByteArray &packetData, QDataStream &dataStream);

+ 7
- 7
src/modules/dns-base/src/QDnsHeader.cpp Vedi File

@@ -134,14 +134,14 @@ namespace QDns
134 134
             setFlagBits(0, (quint8) !isQuery, 1);
135 135
         }
136 136
 
137
-        quint8 QDnsHeader::getOpcode() const
137
+        HeaderOpcode QDnsHeader::getOpcode() const
138 138
         {
139
-            return (quint8) getFlagBits(4, 4);
139
+            return (HeaderOpcode) getFlagBits(4, 4);
140 140
         }
141 141
 
142
-        void QDnsHeader::setOpcode(quint8 opcode)
142
+        void QDnsHeader::setOpcode(HeaderOpcode opcode)
143 143
         {
144
-            setFlagBits(4, opcode, 4);
144
+            setFlagBits(4, (quint8) opcode, 4);
145 145
         }
146 146
 
147 147
         bool QDnsHeader::isAuthoritative() const
@@ -204,12 +204,12 @@ namespace QDns
204 204
             setFlagBits(11, (quint8) isNonAuthenticatedAcceptable, 1);
205 205
         }
206 206
 
207
-        quint8 QDnsHeader::getReplyCode() const
207
+        HeaderReplyCode QDnsHeader::getReplyCode() const
208 208
         {
209
-            return (quint8) getFlagBits(15, 4);
209
+            return (HeaderReplyCode) getFlagBits(15, 4);
210 210
         }
211 211
 
212
-        void QDnsHeader::setReplyCode(quint8 replyCode)
212
+        void QDnsHeader::setReplyCode(HeaderReplyCode replyCode)
213 213
         {
214 214
             setFlagBits(15, (quint8) replyCode, 4);
215 215
         }

+ 8
- 8
src/modules/dns-base/src/QDnsQuery.cpp Vedi File

@@ -11,8 +11,8 @@ namespace QDns
11 11
     {
12 12
         QDnsQuery::QDnsQuery()
13 13
                 : m_isValid(true)
14
-                  , m_type(0)
15
-                  , m_class(0)
14
+                  , m_type(RecordType::A)
15
+                  , m_class(RecordClass::IN)
16 16
         {
17 17
         }
18 18
 
@@ -74,22 +74,22 @@ namespace QDns
74 74
             m_name = name;
75 75
         }
76 76
 
77
-        quint16 QDnsQuery::getType() const
77
+        RecordType QDnsQuery::getType() const
78 78
         {
79
-            return m_type;
79
+            return (RecordType) m_type;
80 80
         }
81 81
 
82
-        void QDnsQuery::setType(quint16 type)
82
+        void QDnsQuery::setType(RecordType type)
83 83
         {
84 84
             m_type = type;
85 85
         }
86 86
 
87
-        quint16 QDnsQuery::getClass() const
87
+        RecordClass QDnsQuery::getClass() const
88 88
         {
89
-            return m_class;
89
+            return (RecordClass) m_class;
90 90
         }
91 91
 
92
-        void QDnsQuery::setClass(quint16 aClass)
92
+        void QDnsQuery::setClass(RecordClass aClass)
93 93
         {
94 94
             m_class = aClass;
95 95
         }

+ 10
- 10
src/modules/dns-base/tests/DnsHeader.cpp Vedi File

@@ -16,7 +16,7 @@ struct DnsHeaderTestParams
16 16
 
17 17
     quint16 flags;
18 18
     bool flagQuery;
19
-    quint8 flagOpcode;
19
+    QDns::Base::HeaderOpcode flagOpcode;
20 20
     bool flagAuthoritative;
21 21
     bool flagTruncated;
22 22
     bool flagRecursionDesired;
@@ -24,7 +24,7 @@ struct DnsHeaderTestParams
24 24
     bool flagReserved0;
25 25
     bool flagAnswerAuthenticated;
26 26
     bool flagNonAuthenticatedAcceptable;
27
-    quint8 flagReplyCode;
27
+    QDns::Base::HeaderReplyCode flagReplyCode;
28 28
 
29 29
     quint16 queryCount;
30 30
     quint16 answerCount;
@@ -167,7 +167,7 @@ INSTANTIATE_TEST_CASE_P(DnsHeaderTestInst,
167 167
 
168 168
                                                      0x0100,
169 169
                                                      true,
170
-                                                     0,
170
+                                                     QDns::Base::HeaderOpcode::Query,
171 171
                                                      false,
172 172
                                                      false,
173 173
                                                      true,
@@ -175,7 +175,7 @@ INSTANTIATE_TEST_CASE_P(DnsHeaderTestInst,
175 175
                                                      false,
176 176
                                                      false,
177 177
                                                      false,
178
-                                                     0,
178
+                                                     QDns::Base::HeaderReplyCode::NoError,
179 179
 
180 180
                                                      1,
181 181
                                                      0,
@@ -187,7 +187,7 @@ INSTANTIATE_TEST_CASE_P(DnsHeaderTestInst,
187 187
                                                      0x3cdc,
188 188
                                                      0x8180,
189 189
                                                      false,
190
-                                                     0,
190
+                                                     QDns::Base::HeaderOpcode::Query,
191 191
                                                      false,
192 192
                                                      false,
193 193
                                                      true,
@@ -195,7 +195,7 @@ INSTANTIATE_TEST_CASE_P(DnsHeaderTestInst,
195 195
                                                      false,
196 196
                                                      false,
197 197
                                                      false,
198
-                                                     0,
198
+                                                     QDns::Base::HeaderReplyCode::NoError,
199 199
 
200 200
                                                      1,
201 201
                                                      1,
@@ -208,7 +208,7 @@ INSTANTIATE_TEST_CASE_P(DnsHeaderTestInst,
208 208
                                                      0x3cdc,
209 209
                                                      0xaaaa,
210 210
                                                      false,
211
-                                                     5,
211
+                                                     QDns::Base::HeaderOpcode::Update,
212 212
                                                      false,
213 213
                                                      true,
214 214
                                                      false,
@@ -216,7 +216,7 @@ INSTANTIATE_TEST_CASE_P(DnsHeaderTestInst,
216 216
                                                      false,
217 217
                                                      true,
218 218
                                                      false,
219
-                                                     10,
219
+                                                     QDns::Base::HeaderReplyCode::NotZone,
220 220
 
221 221
                                                      43690,
222 222
                                                      21845,
@@ -228,7 +228,7 @@ INSTANTIATE_TEST_CASE_P(DnsHeaderTestInst,
228 228
                                                      0x3cdc,
229 229
                                                      0x5555,
230 230
                                                      true,
231
-                                                     10,
231
+                                                     (QDns::Base::HeaderOpcode) 10,
232 232
                                                      true,
233 233
                                                      false,
234 234
                                                      true,
@@ -236,7 +236,7 @@ INSTANTIATE_TEST_CASE_P(DnsHeaderTestInst,
236 236
                                                      true,
237 237
                                                      false,
238 238
                                                      true,
239
-                                                     5,
239
+                                                     QDns::Base::HeaderReplyCode::Refused,
240 240
 
241 241
                                                      22015,
242 242
                                                      43690,

+ 9
- 9
src/modules/dns-base/tests/DnsQuery.cpp Vedi File

@@ -73,8 +73,8 @@ struct DnsQuerySerializeTestParams
73 73
     const char* hexData;
74 74
 
75 75
     const char* name;
76
-    quint16 type;
77
-    quint16 clazz;
76
+    QDns::Base::RecordType type;
77
+    QDns::Base::RecordClass clazz;
78 78
 };
79 79
 
80 80
 class DnsQuerySerializeTest : public ::testing::TestWithParam<DnsQuerySerializeTestParams>
@@ -96,19 +96,19 @@ TEST_P(DnsQuerySerializeTest, serialize)
96 96
 INSTANTIATE_TEST_CASE_P(DnsQuerySerializeTestInst,
97 97
                         DnsQuerySerializeTest,
98 98
                         ::testing::Values(
99
-                                DnsQuerySerializeTestParams {"0266720000020008",
99
+                                DnsQuerySerializeTestParams {"0266720000020004",
100 100
                                                              "fr",
101
-                                                             2,
102
-                                                             8
101
+                                                             QDns::Base::RecordType::NS,
102
+                                                             QDns::Base::RecordClass::HS
103 103
                                 },
104 104
                                 DnsQuerySerializeTestParams {"06676f6f676c650266720000010001",
105 105
                                                              "google.fr",
106
-                                                             1,
107
-                                                             1
106
+                                                             QDns::Base::RecordType::A,
107
+                                                             QDns::Base::RecordClass::IN
108 108
                                 },
109 109
                                 DnsQuerySerializeTestParams {"03777777067274686f6e6903636f6d0000010001",
110 110
                                                              "www.rthoni.com",
111
-                                                             1,
112
-                                                             1
111
+                                                             QDns::Base::RecordType::A,
112
+                                                             QDns::Base::RecordClass::IN
113 113
                                 }
114 114
                         ));

Loading…
Annulla
Salva