rustenium_bidi_commands/web_extension/
commands.rs1use serde::{Serialize, Deserialize};
4use crate::EmptyResult;
5use super::types::*;
6
7#[derive(Debug, Clone, Serialize, Deserialize)]
8#[serde(untagged)]
9pub enum WebExtensionCommand {
10 Install(Install),
11 Uninstall(Uninstall),
12}
13
14
15#[derive(Debug, Clone, Serialize, Deserialize)]
16pub enum WebExtensionInstallMethod {
17 #[serde(rename = "webExtension.install")]
18 WebExtensionInstall,
19}
20
21#[derive(Debug, Clone, Serialize, Deserialize)]
22pub enum WebExtensionUninstallMethod {
23 #[serde(rename = "webExtension.uninstall")]
24 WebExtensionUninstall,
25}
26
27#[derive(Debug, Clone, Serialize, Deserialize)]
28pub struct InstallParameters {
29 #[serde(rename = "extensionData")]
30 pub extension_data: ExtensionData,
31}
32
33#[derive(Debug, Clone, Serialize, Deserialize)]
34pub struct UninstallParameters {
35 #[serde(rename = "extension")]
36 pub extension: Extension,
37}
38
39#[derive(Debug, Clone, Serialize, Deserialize)]
40pub struct Install {
41 #[serde(rename = "method")]
42 pub method: WebExtensionInstallMethod,
43 #[serde(rename = "params")]
44 pub params: InstallParameters,
45}
46
47#[derive(Debug, Clone, Serialize, Deserialize)]
48pub struct Uninstall {
49 #[serde(rename = "method")]
50 pub method: WebExtensionUninstallMethod,
51 #[serde(rename = "params")]
52 pub params: UninstallParameters,
53}
54
55#[derive(Debug, Clone, Serialize, Deserialize)]
58#[serde(untagged)]
59pub enum WebExtensionResult {
60 InstallResult(InstallResult),
61 UninstallResult(UninstallResult),
62}
63
64
65#[derive(Debug, Clone, Serialize, Deserialize)]
66pub struct InstallResult {
67 #[serde(rename = "extension")]
68 pub extension: Extension,
69}
70
71pub type UninstallResult = EmptyResult;
72
73