1use super::target;
3#[allow(unused_imports)]
4use super::types::*;
5#[allow(unused_imports)]
6use serde::{Deserialize, Serialize};
7#[allow(unused_imports)]
8use serde_json::Value as Json;
9#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
10pub enum DisplayMode {
11 #[serde(rename = "standalone")]
12 Standalone,
13 #[serde(rename = "browser")]
14 Browser,
15}
16#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
17pub struct FileHandlerAccept {
18 #[serde(default)]
19 #[serde(rename = "mediaType")]
20 pub media_type: String,
21 #[serde(default)]
22 #[serde(rename = "fileExtensions")]
23 pub file_extensions: Vec<String>,
24}
25#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
26pub struct FileHandler {
27 #[serde(default)]
28 #[serde(rename = "action")]
29 pub action: String,
30 #[serde(rename = "accepts")]
31 pub accepts: Vec<FileHandlerAccept>,
32 #[serde(default)]
33 #[serde(rename = "displayName")]
34 pub display_name: String,
35}
36#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
37pub struct GetOsAppState {
38 #[serde(default)]
39 #[serde(rename = "manifestId")]
40 pub manifest_id: String,
41}
42#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
43pub struct Install {
44 #[serde(default)]
45 #[serde(rename = "manifestId")]
46 pub manifest_id: String,
47 #[serde(skip_serializing_if = "Option::is_none")]
48 #[serde(default)]
49 #[serde(rename = "installUrlOrBundleUrl")]
50 pub install_url_or_bundle_url: Option<String>,
51}
52#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
53pub struct Uninstall {
54 #[serde(default)]
55 #[serde(rename = "manifestId")]
56 pub manifest_id: String,
57}
58#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
59pub struct Launch {
60 #[serde(default)]
61 #[serde(rename = "manifestId")]
62 pub manifest_id: String,
63 #[serde(skip_serializing_if = "Option::is_none")]
64 #[serde(default)]
65 #[serde(rename = "url")]
66 pub url: Option<String>,
67}
68#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
69pub struct LaunchFilesInApp {
70 #[serde(default)]
71 #[serde(rename = "manifestId")]
72 pub manifest_id: String,
73 #[serde(default)]
74 #[serde(rename = "files")]
75 pub files: Vec<String>,
76}
77#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
78pub struct OpenCurrentPageInApp {
79 #[serde(default)]
80 #[serde(rename = "manifestId")]
81 pub manifest_id: String,
82}
83#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
84pub struct ChangeAppUserSettings {
85 #[serde(default)]
86 #[serde(rename = "manifestId")]
87 pub manifest_id: String,
88 #[serde(skip_serializing_if = "Option::is_none")]
89 #[serde(default)]
90 #[serde(rename = "linkCapturing")]
91 pub link_capturing: Option<bool>,
92 #[serde(skip_serializing_if = "Option::is_none")]
93 #[serde(rename = "displayMode")]
94 pub display_mode: Option<DisplayMode>,
95}
96#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
97pub struct GetOsAppStateReturnObject {
98 #[serde(default)]
99 #[serde(rename = "badgeCount")]
100 pub badge_count: JsUInt,
101 #[serde(rename = "fileHandlers")]
102 pub file_handlers: Vec<FileHandler>,
103}
104#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
105#[serde(rename_all = "camelCase")]
106pub struct InstallReturnObject {}
107#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
108#[serde(rename_all = "camelCase")]
109pub struct UninstallReturnObject {}
110#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
111pub struct LaunchReturnObject {
112 #[serde(rename = "targetId")]
113 pub target_id: target::TargetId,
114}
115#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
116pub struct LaunchFilesInAppReturnObject {
117 #[serde(rename = "targetIds")]
118 pub target_ids: target::TargetId,
119}
120#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
121#[serde(rename_all = "camelCase")]
122pub struct OpenCurrentPageInAppReturnObject {}
123#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
124#[serde(rename_all = "camelCase")]
125pub struct ChangeAppUserSettingsReturnObject {}
126impl Method for GetOsAppState {
127 const NAME: &'static str = "PWA.getOsAppState";
128 type ReturnObject = GetOsAppStateReturnObject;
129}
130impl Method for Install {
131 const NAME: &'static str = "PWA.install";
132 type ReturnObject = InstallReturnObject;
133}
134impl Method for Uninstall {
135 const NAME: &'static str = "PWA.uninstall";
136 type ReturnObject = UninstallReturnObject;
137}
138impl Method for Launch {
139 const NAME: &'static str = "PWA.launch";
140 type ReturnObject = LaunchReturnObject;
141}
142impl Method for LaunchFilesInApp {
143 const NAME: &'static str = "PWA.launchFilesInApp";
144 type ReturnObject = LaunchFilesInAppReturnObject;
145}
146impl Method for OpenCurrentPageInApp {
147 const NAME: &'static str = "PWA.openCurrentPageInApp";
148 type ReturnObject = OpenCurrentPageInAppReturnObject;
149}
150impl Method for ChangeAppUserSettings {
151 const NAME: &'static str = "PWA.changeAppUserSettings";
152 type ReturnObject = ChangeAppUserSettingsReturnObject;
153}
154pub mod events {
155 #[allow(unused_imports)]
156 use super::super::types::*;
157 #[allow(unused_imports)]
158 use serde::{Deserialize, Serialize};
159}