Lines Matching +full:encode +full:- +full:only

10  * @brief Encode a unsigned value with nnint format.
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()
24 * @brief Encode a BejTupleF type.
29 return output->recvOutput(format, sizeof(struct BejTupleF), in bejEncodeFormat()
30 output->handlerContext); in bejEncodeFormat()
34 * @brief Encode a BejSet or BejArray type.
39 // Encode Sequence number. in bejEncodeBejSetOrArray()
40 RETURN_IF_IERROR(bejEncodeNnint(node->metaData.sequenceNumber, output)); in bejEncodeBejSetOrArray()
42 RETURN_IF_IERROR(bejEncodeFormat(&node->nodeAttr.format, output)); in bejEncodeBejSetOrArray()
43 // Encode the value length. 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()
50 * @brief Encode an integer to bejInteger type.
56 return output->recvOutput(&val, copyLength, output->handlerContext); in bejEncodeInteger()
60 * @brief Encode a BejInteger type.
65 // Encode Sequence number. in bejEncodeBejInteger()
67 bejEncodeNnint(node->leaf.metaData.sequenceNumber, output)); in bejEncodeBejInteger()
69 RETURN_IF_IERROR(bejEncodeFormat(&node->leaf.nodeAttr.format, output)); in bejEncodeBejInteger()
70 // Encode the value length. in bejEncodeBejInteger()
71 RETURN_IF_IERROR(bejEncodeNnint(node->leaf.metaData.vSize, output)); in bejEncodeBejInteger()
72 // Encode the value. in bejEncodeBejInteger()
73 return bejEncodeInteger(node->value, output); in bejEncodeBejInteger()
77 * @brief Encode a BejEnum type.
82 // S: Encode Sequence number. in bejEncodeBejEnum()
84 bejEncodeNnint(node->leaf.metaData.sequenceNumber, output)); in bejEncodeBejEnum()
86 RETURN_IF_IERROR(bejEncodeFormat(&node->leaf.nodeAttr.format, output)); in bejEncodeBejEnum()
87 // L: Encode the value length. in bejEncodeBejEnum()
88 RETURN_IF_IERROR(bejEncodeNnint(node->leaf.metaData.vSize, output)); in bejEncodeBejEnum()
89 // V: Encode the value. in bejEncodeBejEnum()
90 return bejEncodeNnint(node->enumValueSeq, output); in bejEncodeBejEnum()
96 // S: Encode Sequence number. in bejEncodeBejString()
98 bejEncodeNnint(node->leaf.metaData.sequenceNumber, output)); in bejEncodeBejString()
100 RETURN_IF_IERROR(bejEncodeFormat(&node->leaf.nodeAttr.format, output)); in bejEncodeBejString()
101 // L: Encode the value length. in bejEncodeBejString()
102 RETURN_IF_IERROR(bejEncodeNnint(node->leaf.metaData.vSize, output)); in bejEncodeBejString()
103 // V: Encode the value. in bejEncodeBejString()
104 return output->recvOutput((void*)node->value, node->leaf.metaData.vSize, in bejEncodeBejString()
105 output->handlerContext); in bejEncodeBejString()
111 // S: Encode Sequence number. in bejEncodeBejReal()
113 bejEncodeNnint(node->leaf.metaData.sequenceNumber, output)); in bejEncodeBejReal()
115 RETURN_IF_IERROR(bejEncodeFormat(&node->leaf.nodeAttr.format, output)); in bejEncodeBejReal()
116 // L: Encode the value length. in bejEncodeBejReal()
117 RETURN_IF_IERROR(bejEncodeNnint(node->leaf.metaData.vSize, output)); in bejEncodeBejReal()
118 // V: Encode the value. 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()
142 // S: Encode Sequence number. in bejEncodeBejBool()
144 bejEncodeNnint(node->leaf.metaData.sequenceNumber, output)); in bejEncodeBejBool()
146 RETURN_IF_IERROR(bejEncodeFormat(&node->leaf.nodeAttr.format, output)); in bejEncodeBejBool()
147 // L: Encode the value length. in bejEncodeBejBool()
148 RETURN_IF_IERROR(bejEncodeNnint(node->leaf.metaData.vSize, output)); in bejEncodeBejBool()
149 // V: Encode the value. 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()
158 // Encode Sequence number. in bejEncodeBejProAnno()
159 RETURN_IF_IERROR(bejEncodeNnint(node->metaData.sequenceNumber, output)); in bejEncodeBejProAnno()
161 RETURN_IF_IERROR(bejEncodeFormat(&node->nodeAttr.format, output)); in bejEncodeBejProAnno()
162 // Encode the value length. in bejEncodeBejProAnno()
163 return bejEncodeNnint(node->metaData.vSize, output); in bejEncodeBejProAnno()
167 * @brief Encode a BejNull type.
172 // S: Encode Sequence number. in bejEncodeBejNull()
174 bejEncodeNnint(node->leaf.metaData.sequenceNumber, output)); in bejEncodeBejNull()
176 RETURN_IF_IERROR(bejEncodeFormat(&node->leaf.nodeAttr.format, output)); in bejEncodeBejNull()
177 // L: Encode the value length. in bejEncodeBejNull()
178 return bejEncodeNnint(node->leaf.metaData.vSize, output); in bejEncodeBejNull()
182 * @brief Encode the provided node.
187 switch (nodeInfo->format.principalDataType) in bejEncodeNode()
218 nodeInfo->format.principalDataType); in bejEncodeNode()
219 return -1; in bejEncodeNode()
232 parent->metaData.nextChild = parent->firstChild; in bejPushParentToStack()
233 return stack->stackPush(parent, stack->stackContext); in bejPushParentToStack()
244 void* childPtr = parent->metaData.nextChild; in bejProcessChildNodes()
248 // First encode the current child node. in bejProcessChildNodes()
251 // return. Because we need to encode the children of the newly added in bejProcessChildNodes()
252 // node before continuing to encode the child nodes of the current in bejProcessChildNodes()
268 * @brief Encode the provided JSON tree.
276 // We need to encode a parent node before its child nodes. So encoding the in bejEncodeTree()
281 // of this parent has been encoded. Only then we remove the parent node from 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()
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()
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()