## conf\_doc\_t ### 概述 代表整个配置文件。 ---------------------------------- ### 函数

| 函数名称 | 说明 | | -------- | ------------ | | conf\_doc\_add\_child | 追加一个子节点。 | | conf\_doc\_append\_child | 追加一个子节点。 | | conf\_doc\_append\_sibling | 追加一个兄弟节点。 | | conf\_doc\_clear | 删除指定路径的节点的全部子节点。 | | conf\_doc\_create | 构造函数。 | | conf\_doc\_create\_node | 创建一个空节点。 | | conf\_doc\_destroy | 析构函数。 | | conf\_doc\_destroy\_node | 销毁节点对象。 | | conf\_doc\_dup\_node | 拷贝一个节点,并追加到其后。 | | conf\_doc\_exists | 判断指定路径的节点是否存在。 | | conf\_doc\_find\_node | 根据path查找节点。 | | conf\_doc\_get | 获取指定路径节点的值。 | | conf\_doc\_get\_bool | 获取指定路径节点的值。 | | conf\_doc\_get\_ex | 获取指定路径节点的值。 | | conf\_doc\_get\_float | 获取指定路径节点的值。 | | conf\_doc\_get\_int | 获取指定路径节点的值。 | | conf\_doc\_get\_str | 获取指定路径节点的值。 | | conf\_doc\_is\_first | 检查指定节点是否在兄弟节点中排第一。 | | conf\_doc\_is\_last | 检查指定节点是否在兄弟节点中排最后。 | | conf\_doc\_move\_down | 和后一个兄弟节点交换位置。 | | conf\_doc\_move\_up | 和前一个兄弟节点交换位置。 | | conf\_doc\_remove | 删除指定路径的节点。 | | conf\_doc\_remove\_child | 删除指定的子节点。 | | conf\_doc\_remove\_child\_by\_name | 删除指定的子节点。 | | conf\_doc\_remove\_children | 删除全部子节点。 | | conf\_doc\_remove\_sibling | 删除指定的兄弟节点。 | | conf\_doc\_set | 设置指定路径节点的值。 | | conf\_doc\_set\_bool | 设置指定路径节点的值。 | | conf\_doc\_set\_float | 设置指定路径节点的值。 | | conf\_doc\_set\_int | 设置指定路径节点的值。 | | conf\_doc\_set\_node\_prop | 设置节点的属性。 | | conf\_doc\_set\_str | 设置指定路径节点的值。 | | conf\_doc\_use\_extend\_type | 使用拓展类型。 | ### 属性

| 属性名称 | 类型 | 说明 | | -------- | ----- | ------------ | | root | conf\_node\_t* | 根节点。 | | use\_extend\_type | bool\_t | 使用拓展类型。 | #### conf\_doc\_add\_child 函数 ----------------------- * 函数功能: >

追加一个子节点。 * 函数原型: ``` ret_t conf_doc_add_child (conf_doc_t* doc, const char* path); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | doc | conf\_doc\_t* | 文档对象。 | | path | const char* | 节点的路径。 | #### conf\_doc\_append\_child 函数 ----------------------- * 函数功能: >

追加一个子节点。 * 函数原型: ``` ret_t conf_doc_append_child (conf_doc_t* doc, conf_node_t* node, conf_node_t* child); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | doc | conf\_doc\_t* | 文档对象。 | | node | conf\_node\_t* | 节点对象。 | | child | conf\_node\_t* | 待追加节点对象。 | #### conf\_doc\_append\_sibling 函数 ----------------------- * 函数功能: >

追加一个兄弟节点。 * 函数原型: ``` ret_t conf_doc_append_sibling (conf_doc_t* doc, conf_node_t* node, conf_node_t* sibling); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | doc | conf\_doc\_t* | 文档对象。 | | node | conf\_node\_t* | 节点对象。 | | sibling | conf\_node\_t* | 待追加节点对象。 | #### conf\_doc\_clear 函数 ----------------------- * 函数功能: >

删除指定路径的节点的全部子节点。 * 函数原型: ``` ret_t conf_doc_clear (conf_doc_t* doc, const char* path); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | doc | conf\_doc\_t* | 文档对象。 | | path | const char* | 节点的路径。 | #### conf\_doc\_create 函数 ----------------------- * 函数功能: >

构造函数。 * 函数原型: ``` conf_doc_t* conf_doc_create (uint32_t prealloc_nodes_nr); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | conf\_doc\_t* | 返回doc对象。 | | prealloc\_nodes\_nr | uint32\_t | 预先分配的节点数。 | #### conf\_doc\_create\_node 函数 ----------------------- * 函数功能: >

创建一个空节点。 * 函数原型: ``` conf_node_t* conf_doc_create_node (conf_doc_t* doc, const char* name); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | conf\_node\_t* | 返回节点对象。 | | doc | conf\_doc\_t* | 文档对象。 | | name | const char* | 节点名称。 | #### conf\_doc\_destroy 函数 ----------------------- * 函数功能: >

析构函数。 * 函数原型: ``` ret_t conf_doc_destroy (conf_doc_t* doc); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | doc | conf\_doc\_t* | 文档对象。 | #### conf\_doc\_destroy\_node 函数 ----------------------- * 函数功能: >

销毁节点对象。 * 函数原型: ``` ret_t conf_doc_destroy_node (conf_doc_t* doc, conf_node_t* node); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | doc | conf\_doc\_t* | 文档对象。 | | node | conf\_node\_t* | 节点对象。 | #### conf\_doc\_dup\_node 函数 ----------------------- * 函数功能: >

拷贝一个节点,并追加到其后。 * 函数原型: ``` conf_node_t* conf_doc_dup_node (conf_doc_t* doc, conf_node_t* node, const char* new_name); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | conf\_node\_t* | 返回新节点。 | | doc | conf\_doc\_t* | 文档对象。 | | node | conf\_node\_t* | 节点对象。 | | new\_name | const char* | 节点名称。 | #### conf\_doc\_exists 函数 ----------------------- * 函数功能: >

判断指定路径的节点是否存在。 * 函数原型: ``` bool_t conf_doc_exists (conf_doc_t* doc, const char* path); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | bool\_t | 返回TRUE表示成功,FALSE表示失败。 | | doc | conf\_doc\_t* | 文档对象。 | | path | const char* | 节点的路径。 | #### conf\_doc\_find\_node 函数 ----------------------- * 函数功能: >

根据path查找节点。 * 函数原型: ``` conf_node_t* conf_doc_find_node (conf_doc_t* doc, conf_node_t* node, const char* path, bool_t create_if_not_exist); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | conf\_node\_t* | 返回RET\_OK表示成功,否则表示失败。 | | doc | conf\_doc\_t* | 文档对象。 | | node | conf\_node\_t* | 从该节点查找。 | | path | const char* | 路径。 | | create\_if\_not\_exist | bool\_t | 不存在是否创建。 | #### conf\_doc\_get 函数 ----------------------- * 函数功能: >

获取指定路径节点的值。 * 函数原型: ``` ret_t conf_doc_get (conf_doc_t* doc, const char* path, value_t* v); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | doc | conf\_doc\_t* | 文档对象。 | | path | const char* | 节点的路径。 | | v | value\_t* | 用于返回值。 | #### conf\_doc\_get\_bool 函数 ----------------------- * 函数功能: >

获取指定路径节点的值。 * 函数原型: ``` bool_t conf_doc_get_bool (conf_doc_t* doc, const char* path, bool_t defval); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | bool\_t | 返回值。 | | doc | conf\_doc\_t* | 文档对象。 | | path | const char* | 节点的路径。 | | defval | bool\_t | 缺省值。 | #### conf\_doc\_get\_ex 函数 ----------------------- * 函数功能: >

获取指定路径节点的值。 * 函数原型: ``` ret_t conf_doc_get_ex (conf_doc_t* doc, conf_node_t* node, const char* path, value_t* v); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | doc | conf\_doc\_t* | 文档对象。 | | node | conf\_node\_t* | 从该节点查找。 | | path | const char* | 节点的路径。 | | v | value\_t* | 用于返回值。 | #### conf\_doc\_get\_float 函数 ----------------------- * 函数功能: >

获取指定路径节点的值。 * 函数原型: ``` float conf_doc_get_float (conf_doc_t* doc, const char* path, float defval); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | float | 返回值。 | | doc | conf\_doc\_t* | 文档对象。 | | path | const char* | 节点的路径。 | | defval | float | 缺省值。 | #### conf\_doc\_get\_int 函数 ----------------------- * 函数功能: >

获取指定路径节点的值。 * 函数原型: ``` int32_t conf_doc_get_int (conf_doc_t* doc, const char* path, int32_t defval); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | int32\_t | 返回值。 | | doc | conf\_doc\_t* | 文档对象。 | | path | const char* | 节点的路径。 | | defval | int32\_t | 缺省值。 | #### conf\_doc\_get\_str 函数 ----------------------- * 函数功能: >

获取指定路径节点的值。 * 函数原型: ``` const char* conf_doc_get_str (conf_doc_t* doc, const char* path, const char* defval); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | const char* | 返回值。 | | doc | conf\_doc\_t* | 文档对象。 | | path | const char* | 节点的路径。 | | defval | const char* | 缺省值。 | #### conf\_doc\_is\_first 函数 ----------------------- * 函数功能: >

检查指定节点是否在兄弟节点中排第一。 * 函数原型: ``` bool_t conf_doc_is_first (conf_doc_t* doc, const char* path); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | bool\_t | 返回TRUE表示是,否则表示不是。 | | doc | conf\_doc\_t* | 文档对象。 | | path | const char* | 节点的路径。 | #### conf\_doc\_is\_last 函数 ----------------------- * 函数功能: >

检查指定节点是否在兄弟节点中排最后。 * 函数原型: ``` bool_t conf_doc_is_last (conf_doc_t* doc, const char* path); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | bool\_t | 返回TRUE表示是,否则表示不是。 | | doc | conf\_doc\_t* | 文档对象。 | | path | const char* | 节点的路径。 | #### conf\_doc\_move\_down 函数 ----------------------- * 函数功能: >

和后一个兄弟节点交换位置。 * 函数原型: ``` ret_t conf_doc_move_down (conf_doc_t* doc, const char* path); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | doc | conf\_doc\_t* | 文档对象。 | | path | const char* | 节点的路径。 | #### conf\_doc\_move\_up 函数 ----------------------- * 函数功能: >

和前一个兄弟节点交换位置。 * 函数原型: ``` ret_t conf_doc_move_up (conf_doc_t* doc, const char* path); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | doc | conf\_doc\_t* | 文档对象。 | | path | const char* | 节点的路径。 | #### conf\_doc\_remove 函数 ----------------------- * 函数功能: >

删除指定路径的节点。 * 函数原型: ``` ret_t conf_doc_remove (conf_doc_t* doc, const char* path); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | doc | conf\_doc\_t* | 文档对象。 | | path | const char* | 节点的路径。 | #### conf\_doc\_remove\_child 函数 ----------------------- * 函数功能: >

删除指定的子节点。 * 函数原型: ``` ret_t conf_doc_remove_child (conf_doc_t* doc, conf_node_t* node, conf_node_t* child); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | doc | conf\_doc\_t* | 文档对象。 | | node | conf\_node\_t* | 节点对象。 | | child | conf\_node\_t* | 待删除节点对象。 | #### conf\_doc\_remove\_child\_by\_name 函数 ----------------------- * 函数功能: >

删除指定的子节点。 * 函数原型: ``` ret_t conf_doc_remove_child_by_name (conf_doc_t* doc, conf_node_t* node, const char* name); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | doc | conf\_doc\_t* | 文档对象。 | | node | conf\_node\_t* | 节点对象。 | | name | const char* | 待删除节点的名称。 | #### conf\_doc\_remove\_children 函数 ----------------------- * 函数功能: >

删除全部子节点。 * 函数原型: ``` ret_t conf_doc_remove_children (conf_doc_t* doc, conf_node_t* node); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | doc | conf\_doc\_t* | 文档对象。 | | node | conf\_node\_t* | 节点对象。 | #### conf\_doc\_remove\_sibling 函数 ----------------------- * 函数功能: >

删除指定的兄弟节点。 * 函数原型: ``` ret_t conf_doc_remove_sibling (conf_doc_t* doc, conf_node_t* node, conf_node_t* sibling); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | doc | conf\_doc\_t* | 文档对象。 | | node | conf\_node\_t* | 节点对象。 | | sibling | conf\_node\_t* | 待删除节点对象。 | #### conf\_doc\_set 函数 ----------------------- * 函数功能: >

设置指定路径节点的值。 * 函数原型: ``` ret_t conf_doc_set (conf_doc_t* doc, const char* path, const value_t* v); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | doc | conf\_doc\_t* | 文档对象。 | | path | const char* | 节点的路径。 | | v | const value\_t* | 值。 | #### conf\_doc\_set\_bool 函数 ----------------------- * 函数功能: >

设置指定路径节点的值。 * 函数原型: ``` ret_t conf_doc_set_bool (conf_doc_t* doc, const char* path, bool_t v); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | doc | conf\_doc\_t* | 文档对象。 | | path | const char* | 节点的路径。 | | v | bool\_t | 值。 | #### conf\_doc\_set\_float 函数 ----------------------- * 函数功能: >

设置指定路径节点的值。 * 函数原型: ``` ret_t conf_doc_set_float (conf_doc_t* doc, const char* path, float v); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | doc | conf\_doc\_t* | 文档对象。 | | path | const char* | 节点的路径。 | | v | float | 值。 | #### conf\_doc\_set\_int 函数 ----------------------- * 函数功能: >

设置指定路径节点的值。 * 函数原型: ``` ret_t conf_doc_set_int (conf_doc_t* doc, const char* path, int32_t v); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | doc | conf\_doc\_t* | 文档对象。 | | path | const char* | 节点的路径。 | | v | int32\_t | 值。 | #### conf\_doc\_set\_node\_prop 函数 ----------------------- * 函数功能: >

设置节点的属性。 * 函数原型: ``` ret_t conf_doc_set_node_prop (conf_doc_t* doc, conf_node_t* node, const char* name, const value_t* v); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | doc | conf\_doc\_t* | 文档对象。 | | node | conf\_node\_t* | 节点对象。 | | name | const char* | 名称。 | | v | const value\_t* | 值。 | #### conf\_doc\_set\_str 函数 ----------------------- * 函数功能: >

设置指定路径节点的值。 * 函数原型: ``` ret_t conf_doc_set_str (conf_doc_t* doc, const char* path, const char* v); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | doc | conf\_doc\_t* | 文档对象。 | | path | const char* | 节点的路径。 | | v | const char* | 值。 | #### conf\_doc\_use\_extend\_type 函数 ----------------------- * 函数功能: >

使用拓展类型。 * 函数原型: ``` ret_t conf_doc_use_extend_type (conf_doc_t* doc, bool_t use); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | doc | conf\_doc\_t* | 文档对象。 | | use | bool\_t | 是否使用拓展类型。 | #### root 属性 ----------------------- >

根节点。 * 类型:conf\_node\_t* #### use\_extend\_type 属性 ----------------------- >

使用拓展类型。 * 类型:bool\_t