1 #pragma once
2 
3 #include "bej_common.h"
4 #include "bej_tree.h"
5 
6 #ifdef __cplusplus
7 extern "C"
8 {
9 #endif
10 
11 /**
12  * @brief Update the node metadata used during encoding process.
13  *
14  * This function will visit the entire JSON tree and update metdata
15  * properties of each node.
16  *
17  * @param dictionaries - dictionaries used for encoding.
18  * @param majorSchemaStartingOffset - starting dictionary offset for
19  * endcoding. Use BEJ_DICTIONARY_START_AT_HEAD to encode a complete
20  * resource. Use the correct offset when encoding a subsection of a redfish
21  * resource.
22  * @param root - root node of the resource to be encoded. Root node has to
23  * be a bejSet.
24  * @param stack - An intialized BejEncoderOutputHandler struct.
25  * @return 0 if successful.
26  */
27 int bejUpdateNodeMetadata(const struct BejDictionaries* dictionaries,
28                           uint16_t majorSchemaStartingOffset,
29                           struct RedfishPropertyParent* root,
30                           struct BejPointerStackCallback* stack);
31 
32 #ifdef __cplusplus
33 }
34 #endif
35