| 68 | QCborArray Source::childrenArray() { return m_document[QStringLiteral("children")].toArray(); } |
| 69 | |
| 70 | int main(int argc, char *argv[]) |
| 71 | { |
| 72 | QCoreApplication a(argc, argv); |
| 73 | |
| 74 | QCborValue emptyValue; |
| 75 | Source source; |
| 76 | QCborValue cborValue = source.documentValue(); |
| 77 | QCborMap cborMap = source.mainMap(); |
| 78 | QByteArray cborData = cborValue.toCbor(); |
| 79 | |
| 80 | // Deserialize the CBOR data back into a QCborValue |
| 81 | QCborValue parsedValue = QCborValue::fromCbor(cborData); |
| 82 | // Clear the very long string after use to prevent overly wide Value column in |
| 83 | // KDevelop's Variables tool view, which moves the Type column far to the right. |
| 84 | cborData.clear(); |
| 85 | |
| 86 | if (parsedValue.isMap()) { |
| 87 | QCborMap parsedMap = parsedValue.toMap(); |
| 88 | |
| 89 | QString nameStr = QStringLiteral("name"); |
| 90 | auto nameRef = parsedMap[nameStr]; |
| 91 | QCborValue name = nameRef; |
| 92 | |
| 93 | auto yearRef = parsedMap[QStringLiteral("year")]; |
| 94 | QCborValue year = yearRef; |
| 95 | |
| 96 | auto ageRef = parsedMap[QStringLiteral("age")]; |
| 97 | QCborValue age = ageRef; |
| 98 | |
| 99 | auto marriedRef = parsedMap[QStringLiteral("married")]; |
| 100 | QCborValue married = marriedRef; |
| 101 | |
| 102 | auto childrenValue = parsedMap[QStringLiteral("children")]; |
| 103 | QCborArray parsedChildren = childrenValue.toArray(); |
| 104 | |
| 105 | auto bytesValueRef = parsedMap[QStringLiteral("bytes")]; |
| 106 | QCborValue bytesValue = bytesValueRef; |
| 107 | |
| 108 | auto childMap = parsedMap[QStringLiteral("job")].toMap(); |
| 109 | auto bigNumValueRef = childMap[QStringLiteral("bigNum")]; |
| 110 | QCborValue bigNumValue = bigNumValueRef; |
| 111 | |
| 112 | for (const auto &child : parsedChildren) { |
| 113 | QString childName = child.toString(); |
| 114 | } |
| 115 | } else { |
| 116 | qCritical() << "Failed to parse CBOR data."; |
| 117 | return 1; |
| 118 | } |
| 119 | |
| 120 | return 0; |
| 121 | } |
nothing calls this directly
no test coverage detected