Lines Matching +full:child +full:- +full:nodes
17 RETURN_IF_IERROR(output->recvOutput(&nnintLengthByte, sizeof(uint8_t), in bejEncodeNnint()
18 output->handlerContext)); in bejEncodeNnint()
20 return output->recvOutput(&value, nnintLengthByte, output->handlerContext); in bejEncodeNnint()
29 return output->recvOutput(format, sizeof(struct BejTupleF), in bejEncodeFormat()
30 output->handlerContext); in bejEncodeFormat()
40 RETURN_IF_IERROR(bejEncodeNnint(node->metaData.sequenceNumber, output)); in bejEncodeBejSetOrArray()
42 RETURN_IF_IERROR(bejEncodeFormat(&node->nodeAttr.format, output)); in bejEncodeBejSetOrArray()
44 RETURN_IF_IERROR(bejEncodeNnint(node->metaData.vSize, output)); in bejEncodeBejSetOrArray()
45 // Encode the child count in bejEncodeBejSetOrArray()
46 return bejEncodeNnint(node->nChildren, output); in bejEncodeBejSetOrArray()
56 return output->recvOutput(&val, copyLength, output->handlerContext); in bejEncodeInteger()
67 bejEncodeNnint(node->leaf.metaData.sequenceNumber, output)); in bejEncodeBejInteger()
69 RETURN_IF_IERROR(bejEncodeFormat(&node->leaf.nodeAttr.format, output)); in bejEncodeBejInteger()
71 RETURN_IF_IERROR(bejEncodeNnint(node->leaf.metaData.vSize, output)); in bejEncodeBejInteger()
73 return bejEncodeInteger(node->value, output); in bejEncodeBejInteger()
84 bejEncodeNnint(node->leaf.metaData.sequenceNumber, output)); in bejEncodeBejEnum()
86 RETURN_IF_IERROR(bejEncodeFormat(&node->leaf.nodeAttr.format, output)); in bejEncodeBejEnum()
88 RETURN_IF_IERROR(bejEncodeNnint(node->leaf.metaData.vSize, output)); in bejEncodeBejEnum()
90 return bejEncodeNnint(node->enumValueSeq, output); in bejEncodeBejEnum()
98 bejEncodeNnint(node->leaf.metaData.sequenceNumber, output)); in bejEncodeBejString()
100 RETURN_IF_IERROR(bejEncodeFormat(&node->leaf.nodeAttr.format, output)); in bejEncodeBejString()
102 RETURN_IF_IERROR(bejEncodeNnint(node->leaf.metaData.vSize, output)); in bejEncodeBejString()
104 return output->recvOutput((void*)node->value, node->leaf.metaData.vSize, in bejEncodeBejString()
105 output->handlerContext); in bejEncodeBejString()
113 bejEncodeNnint(node->leaf.metaData.sequenceNumber, output)); in bejEncodeBejReal()
115 RETURN_IF_IERROR(bejEncodeFormat(&node->leaf.nodeAttr.format, output)); in bejEncodeBejReal()
117 RETURN_IF_IERROR(bejEncodeNnint(node->leaf.metaData.vSize, output)); in bejEncodeBejReal()
121 bejEncodeNnint(bejIntLengthOfValue(node->bejReal.whole), output)); in bejEncodeBejReal()
123 RETURN_IF_IERROR(bejEncodeInteger(node->bejReal.whole, output)); in bejEncodeBejReal()
125 RETURN_IF_IERROR(bejEncodeNnint(node->bejReal.zeroCount, output)); in bejEncodeBejReal()
127 RETURN_IF_IERROR(bejEncodeNnint(node->bejReal.fract, output)); in bejEncodeBejReal()
129 RETURN_IF_IERROR(bejEncodeNnint(node->bejReal.expLen, output)); in bejEncodeBejReal()
130 if (node->bejReal.expLen > 0) in bejEncodeBejReal()
133 RETURN_IF_IERROR(bejEncodeNnint(node->bejReal.expLen, output)); in bejEncodeBejReal()
134 RETURN_IF_IERROR(bejEncodeInteger(node->bejReal.exp, output)); in bejEncodeBejReal()
144 bejEncodeNnint(node->leaf.metaData.sequenceNumber, output)); in bejEncodeBejBool()
146 RETURN_IF_IERROR(bejEncodeFormat(&node->leaf.nodeAttr.format, output)); in bejEncodeBejBool()
148 RETURN_IF_IERROR(bejEncodeNnint(node->leaf.metaData.vSize, output)); in bejEncodeBejBool()
150 uint8_t value = node->value ? 0xFF : 0x00; in bejEncodeBejBool()
151 return output->recvOutput(&value, /*data_size=*/sizeof(uint8_t), in bejEncodeBejBool()
152 output->handlerContext); in bejEncodeBejBool()
159 RETURN_IF_IERROR(bejEncodeNnint(node->metaData.sequenceNumber, output)); in bejEncodeBejProAnno()
161 RETURN_IF_IERROR(bejEncodeFormat(&node->nodeAttr.format, output)); in bejEncodeBejProAnno()
163 return bejEncodeNnint(node->metaData.vSize, output); in bejEncodeBejProAnno()
174 bejEncodeNnint(node->leaf.metaData.sequenceNumber, output)); in bejEncodeBejNull()
176 RETURN_IF_IERROR(bejEncodeFormat(&node->leaf.nodeAttr.format, output)); in bejEncodeBejNull()
178 return bejEncodeNnint(node->leaf.metaData.vSize, output); in bejEncodeBejNull()
187 switch (nodeInfo->format.principalDataType) in bejEncodeNode()
218 nodeInfo->format.principalDataType); in bejEncodeNode()
219 return -1; in bejEncodeNode()
231 // child. in bejPushParentToStack()
232 parent->metaData.nextChild = parent->firstChild; in bejPushParentToStack()
233 return stack->stackPush(parent, stack->stackContext); in bejPushParentToStack()
237 * @brief Process all the child nodes of a parent.
243 // Get the next child of the parent. in bejProcessChildNodes()
244 void* childPtr = parent->metaData.nextChild; in bejProcessChildNodes()
248 // First encode the current child node. in bejProcessChildNodes()
250 // If this child node has its own children, add it to the stack and in bejProcessChildNodes()
252 // node before continuing to encode the child nodes of the current in bejProcessChildNodes()
257 // Update the next child of the current parent we need to in bejProcessChildNodes()
276 // We need to encode a parent node before its child nodes. So encoding the in bejEncodeTree()
279 // Once the root is encoded, push it to the stack used to traverse the child in bejEncodeTree()
280 // nodes. We need to keep a parent in this stack until all the child nodes in bejEncodeTree()
285 while (!stack->stackEmpty(stack->stackContext)) in bejEncodeTree()
288 stack->stackPeek(stack->stackContext); in bejEncodeTree()
290 // Encode all the child nodes of the current parent node. If one of in bejEncodeTree()
291 // these child nodes has its own child nodes, that child node will be in bejEncodeTree()
294 // (after processing all the nodes under the child node added to the in bejEncodeTree()
299 // bejProcessChildNodes(), we know that this parent's child nodes have in bejEncodeTree()
302 if (parent != stack->stackPeek(stack->stackContext)) in bejEncodeTree()
306 stack->stackPop(stack->stackContext); in bejEncodeTree()
319 NULL_CHECK(dictionaries->schemaDictionary, "schemaDictionary"); in bejEncode()
320 NULL_CHECK(dictionaries->annotationDictionary, "annotationDictionary"); in bejEncode()
328 if (root->nodeAttr.format.principalDataType != bejSet) in bejEncode()
331 return -1; in bejEncode()
334 // First we need to encode a parent node before its child nodes. But before in bejEncode()
336 // need to encode the parent's child nodes. Therefore first the encoder need in bejEncode()
337 // to visit the child nodes and calculate the size need to encode them in bejEncode()
340 // So first the encoder will visit child nodes and calculate the size need in bejEncode()
341 // to encode each child node. Then store this information in metadata in bejEncode()
354 output->recvOutput(&version, sizeof(uint32_t), output->handlerContext)); in bejEncode()
356 RETURN_IF_IERROR(output->recvOutput(&reserved, sizeof(uint16_t), in bejEncode()
357 output->handlerContext)); in bejEncode()
358 RETURN_IF_IERROR(output->recvOutput(&schemaClass, sizeof(uint8_t), in bejEncode()
359 output->handlerContext)); in bejEncode()
361 // Produce the encoded bytes for the nodes using the previously calculated in bejEncode()