Browse Source

Added toString methods and qDebug support

develop
Robin Thoni 7 years ago
parent
commit
5fa6914ec8
22 changed files with 235 additions and 11 deletions
  1. 5
    0
      src/modules/dns-base/includes/dns-base/QDnsHeader.h
  2. 4
    0
      src/modules/dns-base/includes/dns-base/QDnsPacket.h
  3. 4
    0
      src/modules/dns-base/includes/dns-base/QDnsQuery.h
  4. 10
    4
      src/modules/dns-base/includes/dns-base/QDnsResourceRecord.h
  5. 4
    0
      src/modules/dns-base/includes/dns-base/RecordData/QDnsRecordData.h
  6. 2
    0
      src/modules/dns-base/includes/dns-base/RecordData/QDnsRecordDataA.h
  7. 2
    0
      src/modules/dns-base/includes/dns-base/RecordData/QDnsRecordDataAAAA.h
  8. 2
    0
      src/modules/dns-base/includes/dns-base/RecordData/QDnsRecordDataMX.h
  9. 2
    0
      src/modules/dns-base/includes/dns-base/RecordData/QDnsRecordDataPTR.h
  10. 2
    0
      src/modules/dns-base/includes/dns-base/RecordData/QDnsRecordDataRaw.h
  11. 2
    0
      src/modules/dns-base/includes/dns-base/RecordData/QDnsRecordDataSOA.h
  12. 29
    0
      src/modules/dns-base/src/QDnsHeader.cpp
  13. 50
    0
      src/modules/dns-base/src/QDnsPacket.cpp
  14. 18
    0
      src/modules/dns-base/src/QDnsQuery.cpp
  15. 54
    7
      src/modules/dns-base/src/QDnsResourceRecord.cpp
  16. 13
    0
      src/modules/dns-base/src/RecordData/QDnsRecordData.cpp
  17. 5
    0
      src/modules/dns-base/src/RecordData/QDnsRecordDataA.cpp
  18. 5
    0
      src/modules/dns-base/src/RecordData/QDnsRecordDataAAAA.cpp
  19. 5
    0
      src/modules/dns-base/src/RecordData/QDnsRecordDataMX.cpp
  20. 5
    0
      src/modules/dns-base/src/RecordData/QDnsRecordDataPTR.cpp
  21. 5
    0
      src/modules/dns-base/src/RecordData/QDnsRecordDataRaw.cpp
  22. 7
    0
      src/modules/dns-base/src/RecordData/QDnsRecordDataSOA.cpp

+ 5
- 0
src/modules/dns-base/includes/dns-base/QDnsHeader.h View File

8
 #include <qplatformdefs.h>
8
 #include <qplatformdefs.h>
9
 #include <QByteArray>
9
 #include <QByteArray>
10
 #include <QDataStream>
10
 #include <QDataStream>
11
+#include <QDebug>
11
 #include "QDnsBase.h"
12
 #include "QDnsBase.h"
12
 
13
 
13
 namespace QDns
14
 namespace QDns
99
 
100
 
100
             void setAdditionalCount(quint16 additionalCount);
101
             void setAdditionalCount(quint16 additionalCount);
101
 
102
 
103
+            QString toString() const;
104
+
102
         private:
105
         private:
103
             void parse(QDataStream &dataStream);
106
             void parse(QDataStream &dataStream);
104
 
107
 
110
             quint16 m_authorityCount;
113
             quint16 m_authorityCount;
111
             quint16 m_additionalCount;
114
             quint16 m_additionalCount;
112
         };
115
         };
116
+
117
+        QDebug operator<<(QDebug debug, const QDnsHeader &h);
113
     }
118
     }
114
 }
119
 }
115
 
120
 

+ 4
- 0
src/modules/dns-base/includes/dns-base/QDnsPacket.h View File

53
 
53
 
54
             void setAdditionalRecords(const QList<QDnsResourceRecord> &additionalRecords);
54
             void setAdditionalRecords(const QList<QDnsResourceRecord> &additionalRecords);
55
 
55
 
56
+            QString toString() const;
57
+
56
             static QDnsPacket makeSimpleQuery(const QString& host, QDnsBase::RecordType type);
58
             static QDnsPacket makeSimpleQuery(const QString& host, QDnsBase::RecordType type);
57
 
59
 
58
         private:
60
         private:
65
             QList<QDnsResourceRecord> m_authorityRecords;
67
             QList<QDnsResourceRecord> m_authorityRecords;
66
             QList<QDnsResourceRecord> m_additionalRecords;
68
             QList<QDnsResourceRecord> m_additionalRecords;
67
         };
69
         };
70
+
71
+        QDebug operator<<(QDebug debug, const QDnsPacket &p);
68
     }
72
     }
69
 }
73
 }
70
 
74
 

+ 4
- 0
src/modules/dns-base/includes/dns-base/QDnsQuery.h View File

42
 
42
 
43
             void setClass(QDnsBase::RecordClass aClass);
43
             void setClass(QDnsBase::RecordClass aClass);
44
 
44
 
45
+            QString toString() const;
46
+
45
         private:
47
         private:
46
             void parse(const QByteArray &packetData, QDataStream &dataStream);
48
             void parse(const QByteArray &packetData, QDataStream &dataStream);
47
 
49
 
50
             quint16 m_type;
52
             quint16 m_type;
51
             quint16 m_class;
53
             quint16 m_class;
52
         };
54
         };
55
+
56
+        QDebug operator<<(QDebug debug, const QDnsQuery &q);
53
     }
57
     }
54
 }
58
 }
55
 
59
 

+ 10
- 4
src/modules/dns-base/includes/dns-base/QDnsResourceRecord.h View File

8
 #include <qplatformdefs.h>
8
 #include <qplatformdefs.h>
9
 #include <QByteArray>
9
 #include <QByteArray>
10
 #include <QDataStream>
10
 #include <QDataStream>
11
+#include <QDebug>
12
+#include "dns-base/QDnsBase.h"
11
 #include "dns-base/RecordData/QDnsRecordData.h"
13
 #include "dns-base/RecordData/QDnsRecordData.h"
12
 
14
 
13
 namespace QDns
15
 namespace QDns
39
 
41
 
40
             void setName(const QString &name);
42
             void setName(const QString &name);
41
 
43
 
42
-            quint16 getType() const;
44
+            QDnsBase::RecordType getType() const;
43
 
45
 
44
-            void setType(quint16 type);
46
+            void setType(QDnsBase::RecordType type);
45
 
47
 
46
-            quint16 getClass() const;
48
+            QDnsBase::RecordClass getClass() const;
47
 
49
 
48
-            void setClass(quint16 aClass);
50
+            void setClass(QDnsBase::RecordClass aClass);
49
 
51
 
50
             quint32 getTtl() const;
52
             quint32 getTtl() const;
51
 
53
 
55
 
57
 
56
             void setData(QDnsRecordData* data);
58
             void setData(QDnsRecordData* data);
57
 
59
 
60
+            QString toString() const;
61
+
58
         private:
62
         private:
59
             void copy(const QDnsResourceRecord& other);
63
             void copy(const QDnsResourceRecord& other);
60
             void parse(const QByteArray &packetData, QDataStream &dataStream);
64
             void parse(const QByteArray &packetData, QDataStream &dataStream);
66
             quint32 m_ttl;
70
             quint32 m_ttl;
67
             QScopedPointer<QDnsRecordData> m_data;
71
             QScopedPointer<QDnsRecordData> m_data;
68
         };
72
         };
73
+
74
+        QDebug operator<<(QDebug debug, const QDnsResourceRecord &rr);
69
     }
75
     }
70
 }
76
 }
71
 
77
 

+ 4
- 0
src/modules/dns-base/includes/dns-base/RecordData/QDnsRecordData.h View File

26
 
26
 
27
             virtual QDnsRecordData* clone() const = 0;
27
             virtual QDnsRecordData* clone() const = 0;
28
 
28
 
29
+            virtual QString toString() const;
30
+
29
         protected:
31
         protected:
30
             bool m_isValid;
32
             bool m_isValid;
31
         };
33
         };
34
+
35
+        QDebug operator<<(QDebug debug, const QDnsRecordData &rd);
32
     }
36
     }
33
 }
37
 }
34
 
38
 

+ 2
- 0
src/modules/dns-base/includes/dns-base/RecordData/QDnsRecordDataA.h View File

34
 
34
 
35
             void setIp(const QHostAddress &ip);
35
             void setIp(const QHostAddress &ip);
36
 
36
 
37
+            QString toString() const override;
38
+
37
         private:
39
         private:
38
             void parse(const QByteArray &packetData, QDataStream &dataStream);
40
             void parse(const QByteArray &packetData, QDataStream &dataStream);
39
 
41
 

+ 2
- 0
src/modules/dns-base/includes/dns-base/RecordData/QDnsRecordDataAAAA.h View File

34
 
34
 
35
             void setIp(const QHostAddress &ip);
35
             void setIp(const QHostAddress &ip);
36
 
36
 
37
+            QString toString() const override;
38
+
37
         private:
39
         private:
38
             void parse(const QByteArray &packetData, QDataStream &dataStream);
40
             void parse(const QByteArray &packetData, QDataStream &dataStream);
39
 
41
 

+ 2
- 0
src/modules/dns-base/includes/dns-base/RecordData/QDnsRecordDataMX.h View File

39
 
39
 
40
             void setMx(const QString &mx);
40
             void setMx(const QString &mx);
41
 
41
 
42
+            QString toString() const override;
43
+
42
         private:
44
         private:
43
             void parse(const QByteArray &packetData, QDataStream &dataStream);
45
             void parse(const QByteArray &packetData, QDataStream &dataStream);
44
 
46
 

+ 2
- 0
src/modules/dns-base/includes/dns-base/RecordData/QDnsRecordDataPTR.h View File

34
 
34
 
35
             void setHostname(const QString &hostname);
35
             void setHostname(const QString &hostname);
36
 
36
 
37
+            QString toString() const override;
38
+
37
         private:
39
         private:
38
             void parse(const QByteArray &packetData, QDataStream &dataStream);
40
             void parse(const QByteArray &packetData, QDataStream &dataStream);
39
 
41
 

+ 2
- 0
src/modules/dns-base/includes/dns-base/RecordData/QDnsRecordDataRaw.h View File

30
 
30
 
31
             void setData(const QByteArray &data);
31
             void setData(const QByteArray &data);
32
 
32
 
33
+            QString toString() const override;
34
+
33
         private:
35
         private:
34
             void parse(const QByteArray &packetData, QDataStream &dataStream);
36
             void parse(const QByteArray &packetData, QDataStream &dataStream);
35
 
37
 

+ 2
- 0
src/modules/dns-base/includes/dns-base/RecordData/QDnsRecordDataSOA.h View File

58
 
58
 
59
             void setMinimumTtl(quint32 minimumTtl);
59
             void setMinimumTtl(quint32 minimumTtl);
60
 
60
 
61
+            QString toString() const override;
62
+
61
         private:
63
         private:
62
             void parse(const QByteArray &packetData, QDataStream &dataStream);
64
             void parse(const QByteArray &packetData, QDataStream &dataStream);
63
 
65
 

+ 29
- 0
src/modules/dns-base/src/QDnsHeader.cpp View File

2
 // Created by robin on 1/7/18.
2
 // Created by robin on 1/7/18.
3
 //
3
 //
4
 
4
 
5
+#include <QDebugStateSaver>
6
+#include <QMetaEnum>
5
 #include "dns-base/QDnsHeader.h"
7
 #include "dns-base/QDnsHeader.h"
6
 
8
 
7
 namespace QDns
9
 namespace QDns
253
         {
255
         {
254
             m_additionalCount = additionalCount;
256
             m_additionalCount = additionalCount;
255
         }
257
         }
258
+
259
+        QString QDnsHeader::toString() const
260
+        {
261
+            static int headerOpcodeId = QDns::Base::QDnsBase::staticMetaObject.indexOfEnumerator("HeaderOpcode");
262
+            static int headerReplyCodeId = QDns::Base::QDnsBase::staticMetaObject.indexOfEnumerator("HeaderReplyCode");
263
+            auto headerOpcodeStr = QString(QDns::Base::QDnsBase::staticMetaObject.enumerator(headerOpcodeId).valueToKey(getOpcode())).toUpper();
264
+            auto replyCodeStr = QString(QDns::Base::QDnsBase::staticMetaObject.enumerator(headerReplyCodeId).valueToKey(getReplyCode())).toUpper();
265
+            return QString(";; ->>HEADER<<- opcode: ") + headerOpcodeStr + ", status: "
266
+                   + replyCodeStr + ", id: " + QString::number(getId()) + "\n"
267
+                   + ";; flags:"
268
+                   + (!isQuery() ? " qr" : "")
269
+                   + (isAuthoritative() ? " aa" : "")
270
+                   + (isTruncated() ? " tc" : "")
271
+                   + (isRecursionDesired() ? " rd" : "")
272
+                   + (isRecursionAvailable() ? " ra" : "")
273
+                   + (isAnswerAuthenticated() ? " ad" : "")
274
+                   + (isNonAuthenticatedAcceptable() ? " cd" : "")
275
+                   + "; QUERY: " + QString::number(getQueryCount()) + ", ANSWER: " + QString::number(getAnswerCount())
276
+                   + ", AUTHORITY: " + QString::number(getAuthorityCount()) + ", ADDITIONAL: " + QString::number(getAdditionalCount());
277
+        }
278
+
279
+        QDebug operator<<(QDebug debug, const QDnsHeader &h)
280
+        {
281
+            QDebugStateSaver saver(debug);
282
+            debug.noquote() << h.toString();
283
+            return debug;
284
+        }
256
     }
285
     }
257
 }
286
 }

+ 50
- 0
src/modules/dns-base/src/QDnsPacket.cpp View File

180
             m_header.setAdditionalCount((quint16) m_additionalRecords.length());
180
             m_header.setAdditionalCount((quint16) m_additionalRecords.length());
181
         }
181
         }
182
 
182
 
183
+        QString QDnsPacket::toString() const
184
+        {
185
+            auto str = getHeader().toString();
186
+
187
+            if (getHeader().getQueryCount())
188
+            {
189
+                str += "\n;; QUESTION SECTION:\n";
190
+                for (const auto& query : getQueries())
191
+                {
192
+                    str += ";" + query.toString() + "\n";
193
+                }
194
+            }
195
+
196
+            if (getHeader().getAnswerCount())
197
+            {
198
+                str += "\n;; ANSWER SECTION:\n";
199
+                for (const auto& answer : getAnswerRecords())
200
+                {
201
+                    str += answer.toString() + "\n";
202
+                }
203
+            }
204
+
205
+            if (getHeader().getAuthorityCount())
206
+            {
207
+                str += "\n;; AUTHORITY SECTION:\n";
208
+                for (const auto& answer : getAuthorityRecords())
209
+                {
210
+                    str += answer.toString() + "\n";
211
+                }
212
+            }
213
+
214
+            if (getHeader().getAdditionalCount())
215
+            {
216
+                str += "\n;; ADDITIONAL SECTION:\n";
217
+                for (const auto& answer : getAdditionalRecords())
218
+                {
219
+                    str += answer.toString() + "\n";
220
+                }
221
+            }
222
+
223
+            return str;
224
+        }
225
+
183
         QDnsPacket QDnsPacket::makeSimpleQuery(const QString& host, QDnsBase::RecordType type)
226
         QDnsPacket QDnsPacket::makeSimpleQuery(const QString& host, QDnsBase::RecordType type)
184
         {
227
         {
185
             QDns::Base::QDnsPacket packet;
228
             QDns::Base::QDnsPacket packet;
194
             packet.setQueries(QList<QDns::Base::QDnsQuery>() << query);
237
             packet.setQueries(QList<QDns::Base::QDnsQuery>() << query);
195
             return packet;
238
             return packet;
196
         }
239
         }
240
+
241
+        QDebug operator<<(QDebug debug, const QDnsPacket &p)
242
+        {
243
+            QDebugStateSaver saver(debug);
244
+            debug.noquote() << p.toString();
245
+            return debug;
246
+        }
197
     }
247
     }
198
 }
248
 }

+ 18
- 0
src/modules/dns-base/src/QDnsQuery.cpp View File

2
 // Created by robin on 1/8/18.
2
 // Created by robin on 1/8/18.
3
 //
3
 //
4
 
4
 
5
+#include <QDebugStateSaver>
6
+#include <QMetaEnum>
5
 #include "dns-base/QDnsLabel.h"
7
 #include "dns-base/QDnsLabel.h"
6
 #include "dns-base/QDnsQuery.h"
8
 #include "dns-base/QDnsQuery.h"
7
 
9
 
93
         {
95
         {
94
             m_class = aClass;
96
             m_class = aClass;
95
         }
97
         }
98
+
99
+        QString QDnsQuery::toString() const
100
+        {
101
+            static int recordClassId = QDns::Base::QDnsBase::staticMetaObject.indexOfEnumerator("RecordClass");
102
+            static int recordTypeId = QDns::Base::QDnsBase::staticMetaObject.indexOfEnumerator("RecordType");
103
+            auto recordClassStr = QString(QDns::Base::QDnsBase::staticMetaObject.enumerator(recordClassId).valueToKey(getClass())).toUpper();
104
+            auto recordTypeStr = QString(QDns::Base::QDnsBase::staticMetaObject.enumerator(recordTypeId).valueToKey(getType())).toUpper();
105
+            return getName() + "\t" + recordClassStr + "\t" + recordTypeStr;
106
+        }
107
+
108
+        QDebug operator<<(QDebug debug, const QDnsQuery &q)
109
+        {
110
+            QDebugStateSaver saver(debug);
111
+            debug.noquote() << q.toString();
112
+            return debug;
113
+        }
96
     }
114
     }
97
 }
115
 }

+ 54
- 7
src/modules/dns-base/src/QDnsResourceRecord.cpp View File

2
 // Created by robin on 1/10/18.
2
 // Created by robin on 1/10/18.
3
 //
3
 //
4
 
4
 
5
+#include <QMetaEnum>
6
+#include "dns-base/RecordData/QDnsRecordDataA.h"
7
+#include "dns-base/RecordData/QDnsRecordDataAAAA.h"
8
+#include "dns-base/RecordData/QDnsRecordDataMX.h"
9
+#include "dns-base/RecordData/QDnsRecordDataPTR.h"
10
+#include "dns-base/RecordData/QDnsRecordDataSOA.h"
5
 #include "dns-base/RecordData/QDnsRecordDataRaw.h"
11
 #include "dns-base/RecordData/QDnsRecordDataRaw.h"
6
 #include "dns-base/QDnsLabel.h"
12
 #include "dns-base/QDnsLabel.h"
7
 #include "dns-base/QDnsResourceRecord.h"
13
 #include "dns-base/QDnsResourceRecord.h"
75
                     dataStream.readRawData(data, length);
81
                     dataStream.readRawData(data, length);
76
                     QByteArray byteArray(data, length);
82
                     QByteArray byteArray(data, length);
77
                     QDataStream dataStream2(byteArray);
83
                     QDataStream dataStream2(byteArray);
78
-                    m_data.reset(new QDnsRecordDataRaw(packetData, dataStream2));
84
+                    QDnsRecordData* recordData = nullptr;
85
+                    if (m_type == QDns::Base::QDnsBase::RecordType::A)
86
+                    {
87
+                        recordData = new QDnsRecordDataA(packetData, dataStream2);
88
+                    }
89
+                    else if (m_type == QDns::Base::QDnsBase::RecordType::AAAA)
90
+                    {
91
+                        recordData = new QDnsRecordDataAAAA(packetData, dataStream2);
92
+                    }
93
+                    else if (m_type == QDns::Base::QDnsBase::RecordType::MX)
94
+                    {
95
+                        recordData = new QDnsRecordDataMX(packetData, dataStream2);
96
+                    }
97
+                    else if (m_type == QDns::Base::QDnsBase::RecordType::PTR)
98
+                    {
99
+                        recordData = new QDnsRecordDataPTR(packetData, dataStream2);
100
+                    }
101
+                    else if (m_type == QDns::Base::QDnsBase::RecordType::SOA)
102
+                    {
103
+                        recordData = new QDnsRecordDataSOA(packetData, dataStream2);
104
+                    }
105
+                    else
106
+                    {
107
+                        recordData = new QDnsRecordDataRaw(packetData, dataStream2);
108
+                    }
109
+                    m_data.reset(recordData);
79
                 }
110
                 }
80
             }
111
             }
81
         }
112
         }
117
             m_name = name;
148
             m_name = name;
118
         }
149
         }
119
 
150
 
120
-        quint16 QDnsResourceRecord::getType() const
151
+        QDnsBase::RecordType QDnsResourceRecord::getType() const
121
         {
152
         {
122
-            return m_type;
153
+            return (QDnsBase::RecordType) m_type;
123
         }
154
         }
124
 
155
 
125
-        void QDnsResourceRecord::setType(quint16 type)
156
+        void QDnsResourceRecord::setType(QDnsBase::RecordType type)
126
         {
157
         {
127
             m_type = type;
158
             m_type = type;
128
         }
159
         }
129
 
160
 
130
-        quint16 QDnsResourceRecord::getClass() const
161
+        QDnsBase::RecordClass QDnsResourceRecord::getClass() const
131
         {
162
         {
132
-            return m_class;
163
+            return (QDnsBase::RecordClass) m_class;
133
         }
164
         }
134
 
165
 
135
-        void QDnsResourceRecord::setClass(quint16 aClass)
166
+        void QDnsResourceRecord::setClass(QDnsBase::RecordClass aClass)
136
         {
167
         {
137
             m_class = aClass;
168
             m_class = aClass;
138
         }
169
         }
156
         {
187
         {
157
             m_data.reset(data);
188
             m_data.reset(data);
158
         }
189
         }
190
+
191
+        QString QDnsResourceRecord::toString() const
192
+        {
193
+            static int recordClassId = QDns::Base::QDnsBase::staticMetaObject.indexOfEnumerator("RecordClass");
194
+            static int recordTypeId = QDns::Base::QDnsBase::staticMetaObject.indexOfEnumerator("RecordType");
195
+            auto recordClassStr = QString(QDns::Base::QDnsBase::staticMetaObject.enumerator(recordClassId).valueToKey(getClass())).toUpper();
196
+            auto recordTypeStr = QString(QDns::Base::QDnsBase::staticMetaObject.enumerator(recordTypeId).valueToKey(getType())).toUpper();
197
+            return getName() + "\t" + QString::number(getTtl()) + "\t" + recordClassStr + "\t" + recordTypeStr + "\t" + getData()->toString();
198
+        }
199
+
200
+        QDebug operator<<(QDebug debug, const QDnsResourceRecord &rr)
201
+        {
202
+            QDebugStateSaver saver(debug);
203
+            debug.noquote() << rr.toString();
204
+            return debug;
205
+        }
159
     }
206
     }
160
 }
207
 }

+ 13
- 0
src/modules/dns-base/src/RecordData/QDnsRecordData.cpp View File

2
 // Created by robin on 1/12/18.
2
 // Created by robin on 1/12/18.
3
 //
3
 //
4
 
4
 
5
+#include <QDebugStateSaver>
5
 #include "dns-base/RecordData/QDnsRecordData.h"
6
 #include "dns-base/RecordData/QDnsRecordData.h"
6
 
7
 
7
 namespace QDns
8
 namespace QDns
17
         {
18
         {
18
             return m_isValid;
19
             return m_isValid;
19
         }
20
         }
21
+
22
+        QString QDnsRecordData::toString() const
23
+        {
24
+            return "NOT_IMPLEMENTED";
25
+        }
26
+
27
+        QDebug operator<<(QDebug debug, const QDnsRecordData &rd)
28
+        {
29
+            QDebugStateSaver saver(debug);
30
+            debug.noquote().nospace() << rd.toString();
31
+            return debug;
32
+        }
20
     }
33
     }
21
 }
34
 }

+ 5
- 0
src/modules/dns-base/src/RecordData/QDnsRecordDataA.cpp View File

71
         {
71
         {
72
             m_ip = ip;
72
             m_ip = ip;
73
         }
73
         }
74
+
75
+        QString QDnsRecordDataA::toString() const
76
+        {
77
+            return getIp().toString();
78
+        }
74
     }
79
     }
75
 }
80
 }

+ 5
- 0
src/modules/dns-base/src/RecordData/QDnsRecordDataAAAA.cpp View File

80
         {
80
         {
81
             m_ip = ip;
81
             m_ip = ip;
82
         }
82
         }
83
+
84
+        QString QDnsRecordDataAAAA::toString() const
85
+        {
86
+            return getIp().toString();
87
+        }
83
     }
88
     }
84
 }
89
 }

+ 5
- 0
src/modules/dns-base/src/RecordData/QDnsRecordDataMX.cpp View File

87
         {
87
         {
88
             m_mx = mx;
88
             m_mx = mx;
89
         }
89
         }
90
+
91
+        QString QDnsRecordDataMX::toString() const
92
+        {
93
+            return QString::number(getPreference()) + " " + getMx();
94
+        }
90
     }
95
     }
91
 }
96
 }

+ 5
- 0
src/modules/dns-base/src/RecordData/QDnsRecordDataPTR.cpp View File

74
         {
74
         {
75
             m_hostname = hostname;
75
             m_hostname = hostname;
76
         }
76
         }
77
+
78
+        QString QDnsRecordDataPTR::toString() const
79
+        {
80
+            return getHostname();
81
+        }
77
     }
82
     }
78
 }
83
 }

+ 5
- 0
src/modules/dns-base/src/RecordData/QDnsRecordDataRaw.cpp View File

68
         {
68
         {
69
             m_data = data;
69
             m_data = data;
70
         }
70
         }
71
+
72
+        QString QDnsRecordDataRaw::toString() const
73
+        {
74
+            return m_data.toHex();
75
+        }
71
     }
76
     }
72
 }
77
 }

+ 7
- 0
src/modules/dns-base/src/RecordData/QDnsRecordDataSOA.cpp View File

162
         {
162
         {
163
             m_minimumTtl = minimumTtl;
163
             m_minimumTtl = minimumTtl;
164
         }
164
         }
165
+
166
+        QString QDnsRecordDataSOA::toString() const
167
+        {
168
+            return getPrimaryNs() + " " + getAdminMb() + " " + QString::number(getSerialNumber())
169
+                   + " " + QString::number(getRefreshInterval()) + " " + QString::number(getRetryInterval())
170
+                   + " " + QString::number(getExpirationLimit()) + " " + QString::number(getMinimumTtl());
171
+        }
165
     }
172
     }
166
 }
173
 }

Loading…
Cancel
Save