Skip to main content

DevelopmentNodeEnvironment_MicrosoftVSCodeDependency_22NodeVersion_Bundle_Clean_Debug_ElectronProfile_EsbuildCompiler_Mountain/RPC/CocoonService/GenericNotification/
Commands.rs

1#![allow(non_snake_case, unused_variables, dead_code, unused_imports)]
2
3//! Notification handlers: `registerCommand`, `unregisterCommand`.
4//! Fire-and-forget variants called from `send_mountain_notification`.
5
6use serde_json::Value;
7
8use crate::{Environment::MountainEnvironment::MountainEnvironment, dev_log};
9use CommonLibrary::Command::CommandExecutor::CommandExecutor;
10
11pub async fn HandleRegisterCommand(Params:Value, Env:&MountainEnvironment) {
12	let CommandId = Params.get("commandId").and_then(|V| V.as_str()).unwrap_or("").to_string();
13	let ExtensionId = Params.get("extensionId").and_then(|V| V.as_str()).unwrap_or("").to_string();
14	if let Err(Error) = Env.RegisterCommand(ExtensionId, CommandId.clone()).await {
15		dev_log!(
16			"cocoon",
17			"warn: [CocoonService] notification: registerCommand '{}' failed: {:?}",
18			CommandId,
19			Error
20		);
21	}
22}
23
24pub async fn HandleUnregisterCommand(Params:Value, Env:&MountainEnvironment) {
25	let ExtensionId = Params.get("extensionId").and_then(|V| V.as_str()).unwrap_or("").to_string();
26	let CommandId = Params.get("commandId").and_then(|V| V.as_str()).unwrap_or("").to_string();
27	let _ = Env.UnregisterCommand(ExtensionId, CommandId).await;
28}