(tool_id: i32, vm: &VirtualMachine)
| 563 | } |
| 564 | |
| 565 | fn free_tool_id(tool_id: i32, vm: &VirtualMachine) -> PyResult<()> { |
| 566 | let tool = check_valid_tool(tool_id, vm)?; |
| 567 | let mut state = vm.state.monitoring.lock(); |
| 568 | if state.tool_names[tool].is_some() { |
| 569 | state.global_events[tool] = 0; |
| 570 | state |
| 571 | .local_events |
| 572 | .retain(|(local_tool, _), _| *local_tool != tool); |
| 573 | state.callbacks.retain(|(cb_tool, _), _| *cb_tool != tool); |
| 574 | state.disabled.retain(|&(_, _, t)| t != tool); |
| 575 | state.tool_names[tool] = None; |
| 576 | } |
| 577 | update_events_mask(vm, &state); |
| 578 | Ok(()) |
| 579 | } |
| 580 | |
| 581 | fn get_tool(tool_id: i32, vm: &VirtualMachine) -> PyResult<Option<String>> { |
| 582 | let tool = check_valid_tool(tool_id, vm)?; |
nothing calls this directly
no test coverage detected