rustenium-bidi-definitions 0.1.1

Generated WebDriver BiDi protocol type definitions for Rustenium
Documentation
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct PerformActionsParams {
    #[serde(rename = "context")]
    pub context: crate::browsing_context::types::BrowsingContext,
    #[serde(rename = "actions")]
    #[serde(skip_serializing_if = "Vec::is_empty")]
    pub actions: Vec<super::types::SourceActions>,
}
impl PerformActionsParams {
    pub fn new(
        context: impl Into<crate::browsing_context::types::BrowsingContext>,
        actions: Vec<super::types::SourceActions>,
    ) -> Self {
        Self {
            context: context.into(),
            actions,
        }
    }
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub enum PerformActionsMethod {
    #[serde(rename = "input.performActions")]
    PerformActions,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct PerformActions {
    pub method: PerformActionsMethod,
    pub params: PerformActionsParams,
}
impl PerformActions {
    pub const IDENTIFIER: &'static str = "input.performActions";
    pub const DOMAIN_DIRECTION: &'static str = "remote";
    pub fn identifier(&self) -> &'static str {
        Self::IDENTIFIER
    }
}
impl crate::CommandResult for PerformActions {
    type Result = super::results::PerformActionsResult;
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct ReleaseActionsParams {
    #[serde(rename = "context")]
    pub context: crate::browsing_context::types::BrowsingContext,
}
impl ReleaseActionsParams {
    pub fn new(context: impl Into<crate::browsing_context::types::BrowsingContext>) -> Self {
        Self {
            context: context.into(),
        }
    }
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub enum ReleaseActionsMethod {
    #[serde(rename = "input.releaseActions")]
    ReleaseActions,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct ReleaseActions {
    pub method: ReleaseActionsMethod,
    pub params: ReleaseActionsParams,
}
impl ReleaseActions {
    pub const IDENTIFIER: &'static str = "input.releaseActions";
    pub const DOMAIN_DIRECTION: &'static str = "remote";
    pub fn identifier(&self) -> &'static str {
        Self::IDENTIFIER
    }
}
impl crate::CommandResult for ReleaseActions {
    type Result = super::results::ReleaseActionsResult;
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct SetFilesParams {
    #[serde(rename = "context")]
    pub context: crate::browsing_context::types::BrowsingContext,
    #[serde(rename = "element")]
    pub element: crate::script::types::SharedReference,
    #[serde(rename = "files")]
    #[serde(skip_serializing_if = "Vec::is_empty")]
    pub files: Vec<String>,
}
impl SetFilesParams {
    pub fn new(
        context: impl Into<crate::browsing_context::types::BrowsingContext>,
        element: impl Into<crate::script::types::SharedReference>,
        files: Vec<String>,
    ) -> Self {
        Self {
            context: context.into(),
            element: element.into(),
            files,
        }
    }
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub enum SetFilesMethod {
    #[serde(rename = "input.setFiles")]
    SetFiles,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct SetFiles {
    pub method: SetFilesMethod,
    pub params: SetFilesParams,
}
impl SetFiles {
    pub const IDENTIFIER: &'static str = "input.setFiles";
    pub const DOMAIN_DIRECTION: &'static str = "remote";
    pub fn identifier(&self) -> &'static str {
        Self::IDENTIFIER
    }
}
impl crate::CommandResult for SetFiles {
    type Result = super::results::SetFilesResult;
}
group_enum ! (InputCommand { PerformActions (PerformActions) , ReleaseActions (ReleaseActions) , SetFiles (SetFiles) } + identifiable);