rustenium_bidi_commands/session/
commands.rs

1// Generated commands for module
2
3use serde::{Serialize, Deserialize};
4use crate::browser::types::UserContext;
5use crate::browsing_context::types::BrowsingContext;
6use crate::EmptyParams;
7use crate::EmptyResult;
8use super::types::*;
9
10#[derive(Debug, Clone, Serialize, Deserialize)]
11#[serde(untagged)]
12pub enum SessionCommand {
13    End(End),
14    New(New),
15    Status(Status),
16    Subscribe(Subscribe),
17    Unsubscribe(Unsubscribe),
18}
19
20
21#[derive(Debug, Clone, Serialize, Deserialize)]
22pub enum SessionEndMethod {
23    #[serde(rename = "session.end")]
24    SessionEnd,
25}
26
27#[derive(Debug, Clone, Serialize, Deserialize)]
28pub enum SessionNewMethod {
29    #[serde(rename = "session.new")]
30    SessionNew,
31}
32
33#[derive(Debug, Clone, Serialize, Deserialize)]
34pub enum SessionStatusMethod {
35    #[serde(rename = "session.status")]
36    SessionStatus,
37}
38
39#[derive(Debug, Clone, Serialize, Deserialize)]
40pub enum SessionSubscribeMethod {
41    #[serde(rename = "session.subscribe")]
42    SessionSubscribe,
43}
44
45#[derive(Debug, Clone, Serialize, Deserialize)]
46pub enum SessionUnsubscribeMethod {
47    #[serde(rename = "session.unsubscribe")]
48    SessionUnsubscribe,
49}
50
51#[derive(Debug, Clone, Serialize, Deserialize)]
52pub struct NewParameters {
53    #[serde(rename = "capabilities")]
54    pub capabilities: CapabilitiesRequest,
55}
56
57#[derive(Debug, Clone, Serialize, Deserialize)]
58pub struct SubscriptionRequest {
59    #[serde(rename = "events")]
60    pub events: Vec<String>,
61    #[serde(rename = "contexts")]
62    #[serde(skip_serializing_if = "Option::is_none")]
63    pub contexts: Option<Vec<BrowsingContext>>,
64    #[serde(rename = "userContexts")]
65    #[serde(skip_serializing_if = "Option::is_none")]
66    pub user_contexts: Option<Vec<UserContext>>,
67}
68
69#[derive(Debug, Clone, Serialize, Deserialize)]
70#[serde(untagged)]
71pub enum UnsubscribeParameters {
72    UnsubscribeByAttributesRequest(UnsubscribeByAttributesRequest),
73    UnsubscribeByIDRequest(UnsubscribeByIDRequest),
74}
75
76#[derive(Debug, Clone, Serialize, Deserialize)]
77pub struct End {
78    #[serde(rename = "method")]
79    pub method: SessionEndMethod,
80    #[serde(rename = "params")]
81    pub params: EmptyParams,
82}
83
84#[derive(Debug, Clone, Serialize, Deserialize)]
85pub struct New {
86    #[serde(rename = "method")]
87    pub method: SessionNewMethod,
88    #[serde(rename = "params")]
89    pub params: NewParameters,
90}
91
92#[derive(Debug, Clone, Serialize, Deserialize)]
93pub struct Status {
94    #[serde(rename = "method")]
95    pub method: SessionStatusMethod,
96    #[serde(rename = "params")]
97    pub params: EmptyParams,
98}
99
100#[derive(Debug, Clone, Serialize, Deserialize)]
101pub struct Subscribe {
102    #[serde(rename = "method")]
103    pub method: SessionSubscribeMethod,
104    #[serde(rename = "params")]
105    pub params: SubscriptionRequest,
106}
107
108#[derive(Debug, Clone, Serialize, Deserialize)]
109pub struct Unsubscribe {
110    #[serde(rename = "method")]
111    pub method: SessionUnsubscribeMethod,
112    #[serde(rename = "params")]
113    pub params: UnsubscribeParameters,
114}
115
116// Generated results
117
118#[derive(Debug, Clone, Serialize, Deserialize)]
119#[serde(untagged)]
120pub enum SessionResult {
121    EndResult(EndResult),
122    NewResult(NewResult),
123    StatusResult(StatusResult),
124    SubscribeResult(SubscribeResult),
125    UnsubscribeResult(UnsubscribeResult),
126}
127
128
129pub type EndResult = EmptyResult;
130
131
132#[derive(Debug, Clone, Serialize, Deserialize)]
133pub struct NewResult {
134    #[serde(rename = "sessionId")]
135    pub session_id: String,
136    #[serde(rename = "capabilities")]
137    pub capabilities: NewResultCapabilities,
138}
139
140#[derive(Debug, Clone, Serialize, Deserialize)]
141pub struct StatusResult {
142    #[serde(rename = "ready")]
143    pub ready: bool,
144    #[serde(rename = "message")]
145    pub message: String,
146}
147
148#[derive(Debug, Clone, Serialize, Deserialize)]
149pub struct SubscribeResult {
150    #[serde(rename = "subscription")]
151    pub subscription: Subscription,
152}
153
154pub type UnsubscribeResult = EmptyResult;
155
156