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
77QUrl QNdefNfcUriRecord::uri()
const
79 QByteArray p = payload();
84 quint8 code = p.at(0);
85 if (code >=
sizeof(abbreviations) /
sizeof(*abbreviations))
88 if (
const char *abbreviation = abbreviations[code])
89 p.insert(0, abbreviation);
90 return QUrl(QString::fromUtf8(p));
94
95
96void QNdefNfcUriRecord::setUri(
const QUrl &uri)
98 int abbrevs =
sizeof(abbreviations) /
sizeof(*abbreviations);
100 for (
int i = 1; i < abbrevs; ++i) {
101 if (uri.toString().startsWith(QLatin1String(abbreviations[i]))) {
104 p += uri.toString().mid(qstrlen(abbreviations[i])).toUtf8();
113 p += uri.toString().toUtf8();