6#include <QtCore/QString>
9#include <QtCore/QDebug>
14
15
16
17
18
19
20
21
22
25
26
27
28
31
32
33
34
35static const char *
const abbreviations[] = {
43 "ftp://anonymous:anonymous@",
75
76
77
78
79
80QUrl QNdefNfcUriRecord::uri()
const
82 QByteArray p = payload();
87 quint8 code = p.at(0);
88 if (code >=
sizeof(abbreviations) /
sizeof(*abbreviations))
91 if (
const char *abbreviation = abbreviations[code])
92 p.insert(0, abbreviation);
93 return QUrl(QString::fromUtf8(p));
97
98
99void QNdefNfcUriRecord::setUri(
const QUrl &uri)
101 int abbrevs =
sizeof(abbreviations) /
sizeof(*abbreviations);
103 for (
int i = 1; i < abbrevs; ++i) {
104 if (uri.toString().startsWith(QLatin1String(abbreviations[i]))) {
107 p += uri.toString().mid(qstrlen(abbreviations[i])).toUtf8();
116 p += uri.toString().toUtf8();