| 1629 | } |
| 1630 | |
| 1631 | static bool main_set_client_context(cbm_daemon_runtime_client_t *client, const char *preferred_root, |
| 1632 | cbm_mcp_tool_profile_t tool_profile, const char *hook_event, |
| 1633 | const char *hook_dialect, uint32_t timeout_ms) { |
| 1634 | char root[MAIN_PATH_CAP]; |
| 1635 | char allowed[MAIN_PATH_CAP]; |
| 1636 | const char *allowed_ptr = NULL; |
| 1637 | if (!main_session_context(preferred_root, root, allowed, &allowed_ptr)) { |
| 1638 | return false; |
| 1639 | } |
| 1640 | return cbm_daemon_application_client_set_context(client, root, allowed_ptr, tool_profile, |
| 1641 | hook_event, hook_dialect, timeout_ms) == |
| 1642 | CBM_DAEMON_RUNTIME_APPLICATION_OK; |
| 1643 | } |
| 1644 | |
| 1645 | /* Parse a strict MAJOR.MINOR.PATCH triple; false for anything else (dev |
| 1646 | * builds and prereleases never participate in auto-drain decisions). */ |
no test coverage detected