#pragma once #include "jsoncpp/json.h" class context; class _ClientList; // 公共函数:将单台在线主机 context 序列化为 JSON(UTF-8,含 GBK/UTF-8 编码处理)。 // 供 Web UI(CWebService::BuildDeviceListJson)与 MCP 工具(list_online_hosts)复用, // 避免两处重复易错的编码转换(见 docs/Mcp_Design.md §3.4 方案 C)。 // // 职责边界:本函数只负责「单台主机 → Json::Value」的字段序列化与编码转换。 // 分组/用户过滤、m_cs 加锁、外层结构(Web 的 {"cmd","devices"} vs MCP 的 {"hosts"}) // 属于调用方,不进本函数。调用方须在 m_cs 锁内调用。 Json::Value BuildHostJson(context* ctx, _ClientList* clientMap);