(
&mut self,
command: RunnerCommand,
)
| 707 | |
| 708 | #[tracing::instrument(level = "debug", skip(self))] |
| 709 | pub async fn handle_runner_command( |
| 710 | &mut self, |
| 711 | command: RunnerCommand, |
| 712 | ) -> MoosyncResult<RunnerCommandResp> { |
| 713 | tracing::info!("Got runner command {:?}", command); |
| 714 | let ret = match command { |
| 715 | RunnerCommand::GetInstalledExtensions => { |
| 716 | let extensions_map = self.extensions_map.lock().await; |
| 717 | let extensions = extensions_map |
| 718 | .values() |
| 719 | .map(|e| e.into()) |
| 720 | .collect::<Vec<ExtensionDetail>>(); |
| 721 | tracing::debug!("Extension map: {:?}, {:?}", self.extensions_map, extensions); |
| 722 | RunnerCommandResp::ExtensionList(extensions) |
| 723 | } |
| 724 | RunnerCommand::FindNewExtensions => { |
| 725 | self.spawn_extensions().await; |
| 726 | RunnerCommandResp::Empty() |
| 727 | } |
| 728 | RunnerCommand::GetExtensionIcon(p) => RunnerCommandResp::ExtensionIcon( |
| 729 | self.get_extensions(p.package_name) |
| 730 | .await |
| 731 | .first() |
| 732 | .map(|e| e.icon.clone()), |
| 733 | ), |
| 734 | RunnerCommand::ToggleExtensionStatus(_) => todo!(), |
| 735 | RunnerCommand::RemoveExtension(p) => { |
| 736 | self.remove_extension(&p.package_name).await; |
| 737 | RunnerCommandResp::Empty() |
| 738 | } |
| 739 | RunnerCommand::StopProcess => { |
| 740 | todo!() |
| 741 | } |
| 742 | RunnerCommand::GetDisplayName(p) => RunnerCommandResp::ExtensionIcon( |
| 743 | self.get_extensions(p.package_name) |
| 744 | .await |
| 745 | .first() |
| 746 | .map(|e| e.name.clone()), |
| 747 | ), |
| 748 | }; |
| 749 | |
| 750 | tracing::debug!("Got runner command response {:?}", ret); |
| 751 | Ok(ret) |
| 752 | } |
| 753 | |
| 754 | #[tracing::instrument(level = "debug", skip(self))] |
| 755 | pub(crate) fn handle_main_command_reply( |
no test coverage detected