use serde::{Serialize, Deserialize};
use serde_json::Value as JsonValue;
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct FileHandlerAccept {
pub mediaType: String,
pub fileExtensions: Vec<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct FileHandler {
pub action: String,
pub accepts: Vec<FileHandlerAccept>,
pub displayName: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum DisplayMode {
#[default]
Standalone,
Browser,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetOsAppStateParams {
pub manifestId: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetOsAppStateReturns {
pub badgeCount: u64,
pub fileHandlers: Vec<FileHandler>,
}
impl GetOsAppStateParams { pub const METHOD: &'static str = "PWA.getOsAppState"; }
impl crate::CdpCommand for GetOsAppStateParams {
const METHOD: &'static str = "PWA.getOsAppState";
type Response = GetOsAppStateReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct InstallParams {
pub manifestId: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub installUrlOrBundleUrl: Option<String>,
}
impl InstallParams { pub const METHOD: &'static str = "PWA.install"; }
impl crate::CdpCommand for InstallParams {
const METHOD: &'static str = "PWA.install";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct UninstallParams {
pub manifestId: String,
}
impl UninstallParams { pub const METHOD: &'static str = "PWA.uninstall"; }
impl crate::CdpCommand for UninstallParams {
const METHOD: &'static str = "PWA.uninstall";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct LaunchParams {
pub manifestId: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct LaunchReturns {
pub targetId: crate::target::TargetID,
}
impl LaunchParams { pub const METHOD: &'static str = "PWA.launch"; }
impl crate::CdpCommand for LaunchParams {
const METHOD: &'static str = "PWA.launch";
type Response = LaunchReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct LaunchFilesInAppParams {
pub manifestId: String,
pub files: Vec<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct LaunchFilesInAppReturns {
pub targetIds: Vec<crate::target::TargetID>,
}
impl LaunchFilesInAppParams { pub const METHOD: &'static str = "PWA.launchFilesInApp"; }
impl crate::CdpCommand for LaunchFilesInAppParams {
const METHOD: &'static str = "PWA.launchFilesInApp";
type Response = LaunchFilesInAppReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct OpenCurrentPageInAppParams {
pub manifestId: String,
}
impl OpenCurrentPageInAppParams { pub const METHOD: &'static str = "PWA.openCurrentPageInApp"; }
impl crate::CdpCommand for OpenCurrentPageInAppParams {
const METHOD: &'static str = "PWA.openCurrentPageInApp";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ChangeAppUserSettingsParams {
pub manifestId: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub linkCapturing: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub displayMode: Option<DisplayMode>,
}
impl ChangeAppUserSettingsParams { pub const METHOD: &'static str = "PWA.changeAppUserSettings"; }
impl crate::CdpCommand for ChangeAppUserSettingsParams {
const METHOD: &'static str = "PWA.changeAppUserSettings";
type Response = crate::EmptyReturns;
}