| 327 | } |
| 328 | |
| 329 | static bool frontend_parse_cancellation(const char *message, cbm_jsonrpc_request_t *request_out) { |
| 330 | if (!message || !request_out) { |
| 331 | return false; |
| 332 | } |
| 333 | memset(request_out, 0, sizeof(*request_out)); |
| 334 | if (cbm_jsonrpc_parse(message, request_out) != 0) { |
| 335 | return false; |
| 336 | } |
| 337 | bool cancellation = !request_out->has_id && request_out->method && |
| 338 | strcmp(request_out->method, "notifications/cancelled") == 0; |
| 339 | if (!cancellation) { |
| 340 | cbm_jsonrpc_request_free(request_out); |
| 341 | } |
| 342 | return cancellation; |
| 343 | } |
| 344 | |
| 345 | bool cbm_daemon_frontend_is_cancellation_notification(const char *message) { |
| 346 | cbm_jsonrpc_request_t request = {0}; |
no test coverage detected