browser_protocol/backgroundservice/
mod.rs1use serde::{Serialize, Deserialize};
4
5#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
10pub enum ServiceName {
11 #[default]
12 BackgroundFetch,
13 BackgroundSync,
14 PushMessaging,
15 Notifications,
16 PaymentHandler,
17 PeriodicBackgroundSync,
18}
19
20#[derive(Debug, Clone, Serialize, Deserialize, Default)]
23#[serde(rename_all = "camelCase")]
24pub struct EventMetadata {
25
26 pub key: String,
27
28 pub value: String,
29}
30
31
32#[derive(Debug, Clone, Serialize, Deserialize, Default)]
33#[serde(rename_all = "camelCase")]
34pub struct BackgroundServiceEvent {
35 pub timestamp: crate::network::TimeSinceEpoch,
38 pub origin: String,
41 pub serviceWorkerRegistrationId: crate::serviceworker::RegistrationID,
44 pub service: ServiceName,
47 pub eventName: String,
50 pub instanceId: String,
53 pub eventMetadata: Vec<EventMetadata>,
56 pub storageKey: String,
59}
60
61#[derive(Debug, Clone, Serialize, Deserialize, Default)]
64#[serde(rename_all = "camelCase")]
65pub struct StartObservingParams {
66
67 pub service: ServiceName,
68}
69
70#[derive(Debug, Clone, Serialize, Deserialize, Default)]
73#[serde(rename_all = "camelCase")]
74pub struct StopObservingParams {
75
76 pub service: ServiceName,
77}
78
79#[derive(Debug, Clone, Serialize, Deserialize, Default)]
82#[serde(rename_all = "camelCase")]
83pub struct SetRecordingParams {
84
85 pub shouldRecord: bool,
86
87 pub service: ServiceName,
88}
89
90#[derive(Debug, Clone, Serialize, Deserialize, Default)]
93#[serde(rename_all = "camelCase")]
94pub struct ClearEventsParams {
95
96 pub service: ServiceName,
97}