MCPcopy Create free account
hub / github.com/KDE/kdevelop / main

Function main

plugins/debuggercommon/tests/debuggees/qcbor.cpp:70–121  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

68QCborArray Source::childrenArray() { return m_document[QStringLiteral("children")].toArray(); }
69
70int 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}

Callers

nothing calls this directly

Calls 4

documentValueMethod · 0.80
mainMapMethod · 0.80
clearMethod · 0.45
toStringMethod · 0.45

Tested by

no test coverage detected