rustenium_bidi_definitions/web_extension/
commands.rs1use serde::{Deserialize, Serialize};
2#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3pub struct InstallParams {
4 #[serde(rename = "extensionData")]
5 pub extension_data: super::types::ExtensionData,
6}
7impl InstallParams {
8 pub fn new(extension_data: impl Into<super::types::ExtensionData>) -> Self {
9 Self {
10 extension_data: extension_data.into(),
11 }
12 }
13}
14#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
15pub enum InstallMethod {
16 #[serde(rename = "webExtension.install")]
17 Install,
18}
19#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
20pub struct Install {
21 pub method: InstallMethod,
22 pub params: InstallParams,
23}
24impl Install {
25 pub const IDENTIFIER: &'static str = "webExtension.install";
26 pub const DOMAIN_DIRECTION: &'static str = "remote";
27 pub fn identifier(&self) -> &'static str {
28 Self::IDENTIFIER
29 }
30}
31impl crate::CommandResult for Install {
32 type Result = super::results::InstallResult;
33}
34#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
35pub struct UninstallParams {
36 #[serde(rename = "extension")]
37 pub extension: super::types::Extension,
38}
39impl UninstallParams {
40 pub fn new(extension: impl Into<super::types::Extension>) -> Self {
41 Self {
42 extension: extension.into(),
43 }
44 }
45}
46#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
47pub enum UninstallMethod {
48 #[serde(rename = "webExtension.uninstall")]
49 Uninstall,
50}
51#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
52pub struct Uninstall {
53 pub method: UninstallMethod,
54 pub params: UninstallParams,
55}
56impl Uninstall {
57 pub const IDENTIFIER: &'static str = "webExtension.uninstall";
58 pub const DOMAIN_DIRECTION: &'static str = "remote";
59 pub fn identifier(&self) -> &'static str {
60 Self::IDENTIFIER
61 }
62}
63impl crate::CommandResult for Uninstall {
64 type Result = super::results::UninstallResult;
65}
66group_enum ! (WebExtensionCommand { Install (Install) , Uninstall (Uninstall) } + identifiable);