#include #include #include #include #include #include namespace tt::settings::mcp { static const auto LOGGER = Logger("McpSettings"); constexpr auto* SETTINGS_FILE = "/data/service/mcp/settings.properties"; constexpr auto* KEY_MCP_ENABLED = "mcpEnabled"; bool load(McpSettings& settings) { std::map map; if (!file::loadPropertiesFile(SETTINGS_FILE, map)) { return false; } auto mcp_enabled = map.find(KEY_MCP_ENABLED); settings.mcpEnabled = (mcp_enabled != map.end()) ? (mcp_enabled->second == "1" || mcp_enabled->second == "true") : false; return true; } McpSettings getDefault() { return McpSettings{ .mcpEnabled = false }; } McpSettings loadOrGetDefault() { McpSettings settings; if (!load(settings)) { settings = getDefault(); file::findOrCreateDirectory("/data/service/mcp", 0755); save(settings); } return settings; } bool save(const McpSettings& settings) { file::findOrCreateDirectory("/data/service/mcp", 0755); std::map map; map[KEY_MCP_ENABLED] = settings.mcpEnabled ? "true" : "false"; if (!file::savePropertiesFile(SETTINGS_FILE, map)) { LOGGER.error("Failed to save MCP settings to {}", SETTINGS_FILE); return false; } return true; } } // namespace