Lines Matching full:node

36 static int bejEncodeBejSetOrArray(struct RedfishPropertyParent* node,  in bejEncodeBejSetOrArray()  argument
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()
46 return bejEncodeNnint(node->nChildren, output); in bejEncodeBejSetOrArray()
62 int bejEncodeBejInteger(struct RedfishPropertyLeafInt* node, in bejEncodeBejInteger() argument
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()
79 int bejEncodeBejEnum(struct RedfishPropertyLeafEnum* node, in bejEncodeBejEnum() argument
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()
93 int bejEncodeBejString(struct RedfishPropertyLeafString* node, in bejEncodeBejString() argument
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()
108 int bejEncodeBejReal(struct RedfishPropertyLeafReal* node, in bejEncodeBejReal() argument
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()
139 int bejEncodeBejBool(struct RedfishPropertyLeafBool* node, in bejEncodeBejBool() argument
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()
155 int bejEncodeBejProAnno(struct RedfishPropertyParent* node, in bejEncodeBejProAnno() argument
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()
169 int bejEncodeBejNull(struct RedfishPropertyLeafNull* node, in bejEncodeBejNull() argument
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()
182 * @brief Encode the provided node.
184 static int bejEncodeNode(void* node, struct BejEncoderOutputHandler* output) in bejEncodeNode() argument
186 struct RedfishPropertyNode* nodeInfo = node; in bejEncodeNode()
190 RETURN_IF_IERROR(bejEncodeBejSetOrArray(node, output)); in bejEncodeNode()
193 RETURN_IF_IERROR(bejEncodeBejSetOrArray(node, output)); in bejEncodeNode()
196 RETURN_IF_IERROR(bejEncodeBejNull(node, output)); in bejEncodeNode()
199 RETURN_IF_IERROR(bejEncodeBejInteger(node, output)); in bejEncodeNode()
202 RETURN_IF_IERROR(bejEncodeBejEnum(node, output)); in bejEncodeNode()
205 RETURN_IF_IERROR(bejEncodeBejString(node, output)); in bejEncodeNode()
208 RETURN_IF_IERROR(bejEncodeBejReal(node, output)); in bejEncodeNode()
211 RETURN_IF_IERROR(bejEncodeBejBool(node, output)); in bejEncodeNode()
214 RETURN_IF_IERROR(bejEncodeBejProAnno(node, output)); in bejEncodeNode()
217 fprintf(stderr, "Unsupported node type: %d\n", in bejEncodeNode()
230 // Before pushing the parent node, initialize its nextChild as the first in bejPushParentToStack()
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()
270 * The node metadata should be initialized before using this function.
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()
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()
298 // If a new node hasn't been added to the stack by in bejEncodeTree()
300 // been processed. If a new node has been added, then next we need to in bejEncodeTree()
301 // process the children of the newly added node. in bejEncodeTree()
327 // Assert root node. in bejEncode()
330 fprintf(stderr, "Invalid root node\n"); in bejEncode()
334 // First we need to encode a parent node before its child nodes. But before in bejEncode()
335 // encoding the parent node, the encoder has to figure out the total size in bejEncode()
338 // before producing the encoded bytes for the parent node. in bejEncode()
341 // to encode each child node. Then store this information in metadata in bejEncode()
342 // properties in each node struct. in bejEncode()
343 // Next the encoder will again visit each node starting from the parent in bejEncode()
344 // node, and produce the encoded bytes. in bejEncode()
346 // First calculate metadata for encoding each node. in bejEncode()