Skip to main content

rustenium_bidi_definitions/script/
events.rs

1use serde::{Deserialize, Serialize};
2#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3pub struct MessageParams {
4    #[serde(rename = "channel")]
5    pub channel: super::types::Channel,
6    #[serde(rename = "data")]
7    pub data: super::types::RemoteValue,
8    #[serde(rename = "source")]
9    pub source: super::types::Source,
10}
11#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
12pub enum MessageMethod {
13    #[serde(rename = "script.message")]
14    Message,
15}
16#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
17pub struct Message {
18    pub method: MessageMethod,
19    pub params: MessageParams,
20}
21impl Message {
22    pub const IDENTIFIER: &'static str = "script.message";
23    pub const DOMAIN_DIRECTION: &'static str = "local";
24    pub fn identifier(&self) -> &'static str {
25        Self::IDENTIFIER
26    }
27}
28#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
29pub struct RealmCreatedParams {}
30#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
31pub enum RealmCreatedMethod {
32    #[serde(rename = "script.realmCreated")]
33    RealmCreated,
34}
35#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
36pub struct RealmCreated {
37    pub method: RealmCreatedMethod,
38    pub params: RealmCreatedParams,
39}
40impl RealmCreated {
41    pub const IDENTIFIER: &'static str = "script.realmCreated";
42    pub const DOMAIN_DIRECTION: &'static str = "local";
43    pub fn identifier(&self) -> &'static str {
44        Self::IDENTIFIER
45    }
46}
47#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
48pub struct RealmDestroyedParams {
49    #[serde(rename = "realm")]
50    pub realm: super::types::Realm,
51}
52#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
53pub enum RealmDestroyedMethod {
54    #[serde(rename = "script.realmDestroyed")]
55    RealmDestroyed,
56}
57#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
58pub struct RealmDestroyed {
59    pub method: RealmDestroyedMethod,
60    pub params: RealmDestroyedParams,
61}
62impl RealmDestroyed {
63    pub const IDENTIFIER: &'static str = "script.realmDestroyed";
64    pub const DOMAIN_DIRECTION: &'static str = "local";
65    pub fn identifier(&self) -> &'static str {
66        Self::IDENTIFIER
67    }
68}
69group_enum ! (ScriptEvent { Message (Message) , RealmCreated (RealmCreated) , RealmDestroyed (RealmDestroyed) } + identifiable);