From 0a2eb59e5b4bf660ce172c8af181b2b43eedd29d Mon Sep 17 00:00:00 2001 From: Dominik Nakamura Date: Mon, 4 Jul 2022 16:17:22 +0900 Subject: [PATCH] Coverage for e054d39 --- coverage.json | 2 +- coverage/src/client/config.rs.html | 2 +- coverage/src/client/connection.rs.html | 2 +- coverage/src/client/filters.rs.html | 2 +- coverage/src/client/general.rs.html | 2 +- coverage/src/client/hotkeys.rs.html | 1 + coverage/src/client/inputs.rs.html | 2 +- coverage/src/client/media_inputs.rs.html | 2 +- coverage/src/client/mod.rs.html | 2 +- coverage/src/client/outputs.rs.html | 2 +- coverage/src/client/profiles.rs.html | 1 + coverage/src/client/recording.rs.html | 2 +- coverage/src/client/replay_buffer.rs.html | 1 + coverage/src/client/scene_collections.rs.html | 1 + coverage/src/client/scene_items.rs.html | 2 +- coverage/src/client/scenes.rs.html | 2 +- coverage/src/client/sources.rs.html | 2 +- coverage/src/client/streaming.rs.html | 2 +- coverage/src/client/transitions.rs.html | 2 +- coverage/src/client/ui.rs.html | 2 +- coverage/src/client/virtual_cam.rs.html | 1 + coverage/src/common.rs.html | 2 +- coverage/src/de.rs.html | 1 - coverage/src/events.rs.html | 2 +- coverage/src/lib.rs.html | 2 +- coverage/src/requests/config.rs.html | 1 + coverage/src/requests/custom/source_settings.rs.html | 1 + coverage/src/requests/custom/transitions.rs.html | 1 + coverage/src/requests/filters.rs.html | 1 + coverage/src/requests/general.rs.html | 1 + coverage/src/requests/hotkeys.rs.html | 1 + coverage/src/requests/inputs.rs.html | 1 + coverage/src/requests/media_inputs.rs.html | 1 + coverage/src/requests/mod.rs.html | 2 +- coverage/src/requests/outputs.rs.html | 1 + coverage/src/requests/profiles.rs.html | 1 + coverage/src/requests/recording.rs.html | 1 + coverage/src/requests/replay_buffer.rs.html | 1 + coverage/src/requests/scene_collections.rs.html | 1 + coverage/src/requests/scene_items.rs.html | 1 + coverage/src/requests/scenes.rs.html | 1 + coverage/src/requests/ser.rs.html | 1 - coverage/src/requests/sources.rs.html | 1 + coverage/src/requests/streaming.rs.html | 1 + coverage/src/requests/transitions.rs.html | 1 + coverage/src/requests/ui.rs.html | 1 + coverage/src/requests/virtual_cam.rs.html | 1 + coverage/src/responses/config.rs.html | 1 + coverage/src/responses/filters.rs.html | 1 + coverage/src/responses/general.rs.html | 1 + coverage/src/responses/hotkeys.rs.html | 1 + coverage/src/responses/inputs.rs.html | 1 + coverage/src/responses/media_inputs.rs.html | 1 + coverage/src/responses/mod.rs.html | 2 +- coverage/src/responses/outputs.rs.html | 1 + coverage/src/responses/profiles.rs.html | 1 + coverage/src/responses/recording.rs.html | 1 + coverage/src/responses/replay_buffer.rs.html | 1 + coverage/src/responses/scene_collections.rs.html | 1 + coverage/src/responses/scene_items.rs.html | 1 + coverage/src/responses/scenes.rs.html | 1 + coverage/src/responses/sources.rs.html | 1 + coverage/src/responses/streaming.rs.html | 1 + coverage/src/responses/transitions.rs.html | 1 + coverage/src/responses/ui.rs.html | 1 + coverage/src/responses/virtual_cam.rs.html | 1 + coverage/src/serde/bitflags_u8.rs.html | 1 + coverage/src/serde/duration_millis.rs.html | 1 + coverage/src/serde/duration_timecode.rs.html | 1 + coverage/src/serde/json_string.rs.html | 1 + coverage/src/serde/rgba8_inverse.rs.html | 1 + index.html | 2 +- 72 files changed, 70 insertions(+), 24 deletions(-) create mode 100644 coverage/src/client/hotkeys.rs.html create mode 100644 coverage/src/client/profiles.rs.html create mode 100644 coverage/src/client/replay_buffer.rs.html create mode 100644 coverage/src/client/scene_collections.rs.html create mode 100644 coverage/src/client/virtual_cam.rs.html delete mode 100644 coverage/src/de.rs.html create mode 100644 coverage/src/requests/config.rs.html create mode 100644 coverage/src/requests/custom/source_settings.rs.html create mode 100644 coverage/src/requests/custom/transitions.rs.html create mode 100644 coverage/src/requests/filters.rs.html create mode 100644 coverage/src/requests/general.rs.html create mode 100644 coverage/src/requests/hotkeys.rs.html create mode 100644 coverage/src/requests/inputs.rs.html create mode 100644 coverage/src/requests/media_inputs.rs.html create mode 100644 coverage/src/requests/outputs.rs.html create mode 100644 coverage/src/requests/profiles.rs.html create mode 100644 coverage/src/requests/recording.rs.html create mode 100644 coverage/src/requests/replay_buffer.rs.html create mode 100644 coverage/src/requests/scene_collections.rs.html create mode 100644 coverage/src/requests/scene_items.rs.html create mode 100644 coverage/src/requests/scenes.rs.html delete mode 100644 coverage/src/requests/ser.rs.html create mode 100644 coverage/src/requests/sources.rs.html create mode 100644 coverage/src/requests/streaming.rs.html create mode 100644 coverage/src/requests/transitions.rs.html create mode 100644 coverage/src/requests/ui.rs.html create mode 100644 coverage/src/requests/virtual_cam.rs.html create mode 100644 coverage/src/responses/config.rs.html create mode 100644 coverage/src/responses/filters.rs.html create mode 100644 coverage/src/responses/general.rs.html create mode 100644 coverage/src/responses/hotkeys.rs.html create mode 100644 coverage/src/responses/inputs.rs.html create mode 100644 coverage/src/responses/media_inputs.rs.html create mode 100644 coverage/src/responses/outputs.rs.html create mode 100644 coverage/src/responses/profiles.rs.html create mode 100644 coverage/src/responses/recording.rs.html create mode 100644 coverage/src/responses/replay_buffer.rs.html create mode 100644 coverage/src/responses/scene_collections.rs.html create mode 100644 coverage/src/responses/scene_items.rs.html create mode 100644 coverage/src/responses/scenes.rs.html create mode 100644 coverage/src/responses/sources.rs.html create mode 100644 coverage/src/responses/streaming.rs.html create mode 100644 coverage/src/responses/transitions.rs.html create mode 100644 coverage/src/responses/ui.rs.html create mode 100644 coverage/src/responses/virtual_cam.rs.html create mode 100644 coverage/src/serde/bitflags_u8.rs.html create mode 100644 coverage/src/serde/duration_millis.rs.html create mode 100644 coverage/src/serde/duration_timecode.rs.html create mode 100644 coverage/src/serde/json_string.rs.html create mode 100644 coverage/src/serde/rgba8_inverse.rs.html diff --git a/coverage.json b/coverage.json index 7524859..82fec46 100644 --- a/coverage.json +++ b/coverage.json @@ -1 +1 @@ -{"schemaVersion":1,"label":"coverage","message":"78%","color":"yellow"} +{"schemaVersion":1,"label":"coverage","message":"72%","color":"yellow"} diff --git a/coverage/src/client/config.rs.html b/coverage/src/client/config.rs.html index 26cffc1..088cf6e 100644 --- a/coverage/src/client/config.rs.html +++ b/coverage/src/client/config.rs.html @@ -1 +1 @@ -

Coverage Report

Created: 2022-05-25 22:28

src/client/config.rs
Line
Count
Source (jump to first uncovered line)
1
use serde::{de::DeserializeOwned, Serialize};
2
3
use super::Client;
4
use crate::{
5
    requests::{Realm, RequestType, SetPersistentData, SetProfileParameter, SetVideoSettings},
6
    responses, Error, Result,
7
};
8
9
/// API functions related to OBS configuration.
10
pub struct Config<'a> {
11
    pub(super) client: &'a Client,
12
}
13
14
impl<'a> Config<'a> {
15
    /// Gets the value of a "slot" from the selected persistent data realm.
16
    ///
17
    /// - `realm`: The data realm to select.
18
    /// - `slot_name`: The name of the slot to retrieve data from.
19
1
    pub async fn get_persistent_data(
20
1
        &self,
21
1
        realm: Realm,
22
1
        slot_name: &str,
23
1
    ) -> Result<serde_json::Value> {
<obws::client::config::Config>::get_persistent_data
Line
Count
Source
19
1
    pub async fn get_persistent_data(
20
1
        &self,
21
1
        realm: Realm,
22
1
        slot_name: &str,
23
1
    ) -> Result<serde_json::Value> {
Unexecuted instantiation: <obws::client::config::Config>::get_persistent_data
24
1
        self.client
25
2
            .send_message(RequestType::GetPersistentData { realm, slot_name })
26
2
            .await
27
1
    }
<obws::client::config::Config>::get_persistent_data::{closure#0}
Line
Count
Source
24
1
        self.client
25
2
            .send_message(RequestType::GetPersistentData { realm, slot_name })
26
2
            .await
27
1
    }
Unexecuted instantiation: <obws::client::config::Config>::get_persistent_data::{closure#0}
Unexecuted instantiation: <obws::client::config::Config>::get_persistent_data::{closure#0}
28
29
    /// Sets the value of a "slot" from the selected persistent data realm.
30
1
    pub async fn set_persistent_data(&self, data: SetPersistentData<'_>) -> Result<()> {
<obws::client::config::Config>::set_persistent_data
Line
Count
Source
30
1
    pub async fn set_persistent_data(&self, data: SetPersistentData<'_>) -> Result<()> {
Unexecuted instantiation: <obws::client::config::Config>::set_persistent_data
31
1
        self.client
32
2
            .send_message(RequestType::SetPersistentData(data))
33
2
            .await
34
1
    }
<obws::client::config::Config>::set_persistent_data::{closure#0}
Line
Count
Source
31
1
        self.client
32
2
            .send_message(RequestType::SetPersistentData(data))
33
2
            .await
34
1
    }
Unexecuted instantiation: <obws::client::config::Config>::set_persistent_data::{closure#0}
Unexecuted instantiation: <obws::client::config::Config>::set_persistent_data::{closure#0}
35
36
    /// Gets an array of all scene collections.
37
1
    pub async fn get_scene_collection_list(&self) -> Result<responses::SceneCollections> {
<obws::client::config::Config>::get_scene_collection_list
Line
Count
Source
37
1
    pub async fn get_scene_collection_list(&self) -> Result<responses::SceneCollections> {
Unexecuted instantiation: <obws::client::config::Config>::get_scene_collection_list
38
1
        self.client
39
2
            .send_message(RequestType::GetSceneCollectionList)
40
2
            .await
41
1
    }
<obws::client::config::Config>::get_scene_collection_list::{closure#0}
Line
Count
Source
38
1
        self.client
39
2
            .send_message(RequestType::GetSceneCollectionList)
40
2
            .await
41
1
    }
Unexecuted instantiation: <obws::client::config::Config>::get_scene_collection_list::{closure#0}
Unexecuted instantiation: <obws::client::config::Config>::get_scene_collection_list::{closure#0}
42
43
    /// Switches to a scene collection.
44
    ///
45
    /// **Note:** This will block until the collection has finished changing.
46
    ///
47
    /// - `scene_collection_name`: Name of the scene collection to switch to.
48
2
    pub async fn set_current_scene_collection(&self, scene_collection_name: &str) -> Result<()> {
<obws::client::config::Config>::set_current_scene_collection
Line
Count
Source
48
2
    pub async fn set_current_scene_collection(&self, scene_collection_name: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::config::Config>::set_current_scene_collection
49
2
        self.client
50
2
            .send_message(RequestType::SetCurrentSceneCollection {
51
2
                scene_collection_name,
52
4
            })
53
4
            .await
54
2
    }
<obws::client::config::Config>::set_current_scene_collection::{closure#0}
Line
Count
Source
49
2
        self.client
50
2
            .send_message(RequestType::SetCurrentSceneCollection {
51
2
                scene_collection_name,
52
4
            })
53
4
            .await
54
2
    }
Unexecuted instantiation: <obws::client::config::Config>::set_current_scene_collection::{closure#0}
Unexecuted instantiation: <obws::client::config::Config>::set_current_scene_collection::{closure#0}
55
56
    /// Creates a new scene collection, switching to it in the process.
57
    ///
58
    /// **Note:** This will block until the collection has finished changing.
59
    ///
60
    /// - `scene_collection_name`: Name for the new scene collection.
61
0
    pub async fn create_scene_collection(&self, scene_collection_name: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::config::Config>::create_scene_collection
Unexecuted instantiation: <obws::client::config::Config>::create_scene_collection
62
0
        self.client
63
0
            .send_message(RequestType::CreateSceneCollection {
64
0
                scene_collection_name,
65
0
            })
66
0
            .await
67
0
    }
Unexecuted instantiation: <obws::client::config::Config>::create_scene_collection::{closure#0}
Unexecuted instantiation: <obws::client::config::Config>::create_scene_collection::{closure#0}
68
69
    /// Gets an array of all profiles.
70
14
    pub async fn get_profile_list(&self) -> Result<responses::Profiles> {
<obws::client::config::Config>::get_profile_list
Line
Count
Source
70
14
    pub async fn get_profile_list(&self) -> Result<responses::Profiles> {
Unexecuted instantiation: <obws::client::config::Config>::get_profile_list
71
28
        
self.client.send_message(RequestType::GetProfileList)14
.await
72
14
    }
<obws::client::config::Config>::get_profile_list::{closure#0}
Line
Count
Source
71
28
        
self.client.send_message(RequestType::GetProfileList)14
.await
72
14
    }
Unexecuted instantiation: <obws::client::config::Config>::get_profile_list::{closure#0}
Unexecuted instantiation: <obws::client::config::Config>::get_profile_list::{closure#0}
73
74
    /// Switches to a profile.
75
    ///
76
    /// - `profile_name`: Name of the profile to switch to.
77
2
    pub async fn set_current_profile(&self, profile_name: &str) -> Result<()> {
<obws::client::config::Config>::set_current_profile
Line
Count
Source
77
2
    pub async fn set_current_profile(&self, profile_name: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::config::Config>::set_current_profile
78
2
        self.client
79
4
            .send_message(RequestType::SetCurrentProfile { profile_name })
80
4
            .await
81
2
    }
<obws::client::config::Config>::set_current_profile::{closure#0}
Line
Count
Source
78
2
        self.client
79
4
            .send_message(RequestType::SetCurrentProfile { profile_name })
80
4
            .await
81
2
    }
Unexecuted instantiation: <obws::client::config::Config>::set_current_profile::{closure#0}
Unexecuted instantiation: <obws::client::config::Config>::set_current_profile::{closure#0}
82
83
    /// Creates a new profile, switching to it in the process.
84
    ///
85
    /// - `profile_name`: Name for the new profile.
86
1
    pub async fn create_profile(&self, profile_name: &str) -> Result<()> {
<obws::client::config::Config>::create_profile
Line
Count
Source
86
1
    pub async fn create_profile(&self, profile_name: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::config::Config>::create_profile
87
1
        self.client
88
2
            .send_message(RequestType::CreateProfile { profile_name })
89
2
            .await
90
1
    }
<obws::client::config::Config>::create_profile::{closure#0}
Line
Count
Source
87
1
        self.client
88
2
            .send_message(RequestType::CreateProfile { profile_name })
89
2
            .await
90
1
    }
Unexecuted instantiation: <obws::client::config::Config>::create_profile::{closure#0}
Unexecuted instantiation: <obws::client::config::Config>::create_profile::{closure#0}
91
92
    /// Removes a profile. If the current profile is chosen, it will change to a different profile
93
    /// first.
94
    ///
95
    /// - `profile_name`: Name of the profile to remove.
96
1
    pub async fn remove_profile(&self, profile_name: &str) -> Result<()> {
<obws::client::config::Config>::remove_profile
Line
Count
Source
96
1
    pub async fn remove_profile(&self, profile_name: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::config::Config>::remove_profile
97
1
        self.client
98
2
            .send_message(RequestType::RemoveProfile { profile_name })
99
2
            .await
100
1
    }
<obws::client::config::Config>::remove_profile::{closure#0}
Line
Count
Source
97
1
        self.client
98
2
            .send_message(RequestType::RemoveProfile { profile_name })
99
2
            .await
100
1
    }
Unexecuted instantiation: <obws::client::config::Config>::remove_profile::{closure#0}
Unexecuted instantiation: <obws::client::config::Config>::remove_profile::{closure#0}
101
102
    /// Gets a parameter from the current profile's configuration.
103
    ///
104
    /// - `parameter_category`: Category of the parameter to get.
105
    /// - `parameter_name`: Name of the parameter to get.
106
1
    pub async fn get_profile_parameter(
107
1
        &self,
108
1
        parameter_category: &str,
109
1
        parameter_name: &str,
110
1
    ) -> Result<responses::ProfileParameter> {
<obws::client::config::Config>::get_profile_parameter
Line
Count
Source
106
1
    pub async fn get_profile_parameter(
107
1
        &self,
108
1
        parameter_category: &str,
109
1
        parameter_name: &str,
110
1
    ) -> Result<responses::ProfileParameter> {
Unexecuted instantiation: <obws::client::config::Config>::get_profile_parameter
111
1
        self.client
112
1
            .send_message(RequestType::GetProfileParameter {
113
1
                parameter_category,
114
1
                parameter_name,
115
2
            })
116
2
            .await
117
1
    }
<obws::client::config::Config>::get_profile_parameter::{closure#0}
Line
Count
Source
111
1
        self.client
112
1
            .send_message(RequestType::GetProfileParameter {
113
1
                parameter_category,
114
1
                parameter_name,
115
2
            })
116
2
            .await
117
1
    }
Unexecuted instantiation: <obws::client::config::Config>::get_profile_parameter::{closure#0}
Unexecuted instantiation: <obws::client::config::Config>::get_profile_parameter::{closure#0}
118
119
    /// Sets the value of a parameter in the current profile's configuration.
120
2
    pub async fn set_profile_parameter(&self, parameter: SetProfileParameter<'_>) -> Result<()> {
<obws::client::config::Config>::set_profile_parameter
Line
Count
Source
120
2
    pub async fn set_profile_parameter(&self, parameter: SetProfileParameter<'_>) -> Result<()> {
Unexecuted instantiation: <obws::client::config::Config>::set_profile_parameter
121
2
        self.client
122
4
            .send_message(RequestType::SetProfileParameter(parameter))
123
4
            .await
124
2
    }
<obws::client::config::Config>::set_profile_parameter::{closure#0}
Line
Count
Source
121
2
        self.client
122
4
            .send_message(RequestType::SetProfileParameter(parameter))
123
4
            .await
124
2
    }
Unexecuted instantiation: <obws::client::config::Config>::set_profile_parameter::{closure#0}
Unexecuted instantiation: <obws::client::config::Config>::set_profile_parameter::{closure#0}
125
126
    /// Gets the current video settings.
127
    ///
128
    /// **Note:** To get the true FPS value, divide the FPS numerator by the FPS denominator.
129
    /// Example: `60000/1001`.
130
1
    pub async fn get_video_settings(&self) -> Result<responses::VideoSettings> {
<obws::client::config::Config>::get_video_settings
Line
Count
Source
130
1
    pub async fn get_video_settings(&self) -> Result<responses::VideoSettings> {
Unexecuted instantiation: <obws::client::config::Config>::get_video_settings
131
1
        self.client
132
2
            .send_message(RequestType::GetVideoSettings)
133
2
            .await
134
1
    }
<obws::client::config::Config>::get_video_settings::{closure#0}
Line
Count
Source
131
1
        self.client
132
2
            .send_message(RequestType::GetVideoSettings)
133
2
            .await
134
1
    }
Unexecuted instantiation: <obws::client::config::Config>::get_video_settings::{closure#0}
Unexecuted instantiation: <obws::client::config::Config>::get_video_settings::{closure#0}
135
136
    /// Sets the current video settings.
137
    ///
138
    /// **Note:** Fields must be specified in pairs. For example, you cannot set only [`base_width`]
139
    /// without needing to specify [`base_height`].
140
    ///
141
    /// [`base_width`]: SetVideoSettings::base_width
142
    /// [`base_height`]: SetVideoSettings::base_height
143
1
    pub async fn set_video_settings(&self, settings: SetVideoSettings) -> Result<()> {
<obws::client::config::Config>::set_video_settings
Line
Count
Source
143
1
    pub async fn set_video_settings(&self, settings: SetVideoSettings) -> Result<()> {
Unexecuted instantiation: <obws::client::config::Config>::set_video_settings
144
1
        self.client
145
2
            .send_message(RequestType::SetVideoSettings(settings))
146
2
            .await
147
1
    }
<obws::client::config::Config>::set_video_settings::{closure#0}
Line
Count
Source
144
1
        self.client
145
2
            .send_message(RequestType::SetVideoSettings(settings))
146
2
            .await
147
1
    }
Unexecuted instantiation: <obws::client::config::Config>::set_video_settings::{closure#0}
Unexecuted instantiation: <obws::client::config::Config>::set_video_settings::{closure#0}
148
149
    /// Gets the current stream service settings (stream destination).
150
1
    pub async fn get_stream_service_settings<T>(
151
1
        &self,
152
1
    ) -> Result<responses::StreamServiceSettings<T>>
153
1
    where
154
1
        T: DeserializeOwned,
155
1
    {
<obws::client::config::Config>::get_stream_service_settings::<serde_json::value::Value>
Line
Count
Source
150
1
    pub async fn get_stream_service_settings<T>(
151
1
        &self,
152
1
    ) -> Result<responses::StreamServiceSettings<T>>
153
1
    where
154
1
        T: DeserializeOwned,
155
1
    {
Unexecuted instantiation: <obws::client::config::Config>::get_stream_service_settings::<_>
Unexecuted instantiation: <obws::client::config::Config>::get_stream_service_settings::<_>
156
1
        self.client
157
2
            .send_message(RequestType::GetStreamServiceSettings)
158
2
            .await
159
1
    }
<obws::client::config::Config>::get_stream_service_settings::<serde_json::value::Value>::{closure#0}
Line
Count
Source
156
1
        self.client
157
2
            .send_message(RequestType::GetStreamServiceSettings)
158
2
            .await
159
1
    }
Unexecuted instantiation: <obws::client::config::Config>::get_stream_service_settings::<_>::{closure#0}
Unexecuted instantiation: <obws::client::config::Config>::get_stream_service_settings::<_>::{closure#0}
160
161
    /// Sets the current stream service settings (stream destination).
162
    ///
163
    /// **Note:** Simple RTMP settings can be set with type `rtmp_custom` and the settings fields
164
    /// `server` and `key`.
165
    ///
166
    /// - `stream_service_type`: Type of stream service to apply. Example: `rtmp_common` or
167
    ///   `rtmp_custom`.
168
    /// - `stream_service_settings`: Settings to apply to the service.
169
1
    pub async fn set_stream_service_settings<T>(
170
1
        &self,
171
1
        stream_service_type: &'a str,
172
1
        stream_service_settings: &T,
173
1
    ) -> Result<()>
174
1
    where
175
1
        T: Serialize,
176
1
    {
<obws::client::config::Config>::set_stream_service_settings::<serde_json::value::Value>
Line
Count
Source
169
1
    pub async fn set_stream_service_settings<T>(
170
1
        &self,
171
1
        stream_service_type: &'a str,
172
1
        stream_service_settings: &T,
173
1
    ) -> Result<()>
174
1
    where
175
1
        T: Serialize,
176
1
    {
Unexecuted instantiation: <obws::client::config::Config>::set_stream_service_settings::<_>
Unexecuted instantiation: <obws::client::config::Config>::set_stream_service_settings::<_>
177
        self.client
178
            .send_message(RequestType::SetStreamServiceSettings {
179
1
                stream_service_type,
180
1
                stream_service_settings: serde_json::to_value(stream_service_settings)
181
1
                    .map_err(Error::SerializeCustomData)
?0
,
182
2
            })
183
2
            .await
184
1
    }
<obws::client::config::Config>::set_stream_service_settings::<serde_json::value::Value>::{closure#0}
Line
Count
Source
179
1
                stream_service_type,
180
1
                stream_service_settings: serde_json::to_value(stream_service_settings)
181
1
                    .map_err(Error::SerializeCustomData)
?0
,
182
2
            })
183
2
            .await
184
1
    }
Unexecuted instantiation: <obws::client::config::Config>::set_stream_service_settings::<_>::{closure#0}
Unexecuted instantiation: <obws::client::config::Config>::set_stream_service_settings::<_>::{closure#0}
185
186
    /// Gets the current directory that the record output is set to.
187
1
    pub async fn get_record_directory(&self) -> Result<String> {
<obws::client::config::Config>::get_record_directory
Line
Count
Source
187
1
    pub async fn get_record_directory(&self) -> Result<String> {
Unexecuted instantiation: <obws::client::config::Config>::get_record_directory
188
1
        self.client
189
2
            .send_message::<responses::RecordDirectory>(RequestType::GetRecordDirectory)
190
2
            .await
191
1
            .map(|rd| rd.record_directory)
<obws::client::config::Config>::get_record_directory::{closure#0}::{closure#0}
Line
Count
Source
191
1
            .map(|rd| rd.record_directory)
Unexecuted instantiation: <obws::client::config::Config>::get_record_directory::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::config::Config>::get_record_directory::{closure#0}::{closure#0}
192
1
    }
<obws::client::config::Config>::get_record_directory::{closure#0}
Line
Count
Source
188
1
        self.client
189
2
            .send_message::<responses::RecordDirectory>(RequestType::GetRecordDirectory)
190
2
            .await
191
1
            .map(|rd| rd.record_directory)
192
1
    }
Unexecuted instantiation: <obws::client::config::Config>::get_record_directory::{closure#0}
Unexecuted instantiation: <obws::client::config::Config>::get_record_directory::{closure#0}
193
}
\ No newline at end of file +

Coverage Report

Created: 2022-07-04 16:17

src/client/config.rs
Line
Count
Source (jump to first uncovered line)
1
use serde::{de::DeserializeOwned, Serialize};
2
3
use super::Client;
4
use crate::{
5
    requests::config::{Realm, Request, SetPersistentData, SetVideoSettings},
6
    responses::config as responses,
7
    Error, Result,
8
};
9
10
/// API functions related to OBS configuration.
11
pub struct Config<'a> {
12
    pub(super) client: &'a Client,
13
}
14
15
impl<'a> Config<'a> {
16
    /// Gets the value of a "slot" from the selected persistent data realm.
17
1
    pub async fn get_persistent_data(
18
1
        &self,
19
1
        realm: Realm,
20
1
        slot_name: &str,
21
1
    ) -> Result<serde_json::Value> {
<obws::client::config::Config>::get_persistent_data
Line
Count
Source
17
1
    pub async fn get_persistent_data(
18
1
        &self,
19
1
        realm: Realm,
20
1
        slot_name: &str,
21
1
    ) -> Result<serde_json::Value> {
Unexecuted instantiation: <obws::client::config::Config>::get_persistent_data
22
1
        self.client
23
2
            .send_message(Request::GetPersistentData { realm, slot_name })
24
2
            .await
25
1
    }
<obws::client::config::Config>::get_persistent_data::{closure#0}
Line
Count
Source
22
1
        self.client
23
2
            .send_message(Request::GetPersistentData { realm, slot_name })
24
2
            .await
25
1
    }
Unexecuted instantiation: <obws::client::config::Config>::get_persistent_data::{closure#0}
Unexecuted instantiation: <obws::client::config::Config>::get_persistent_data::{closure#0}
26
27
    /// Sets the value of a "slot" from the selected persistent data realm.
28
1
    pub async fn set_persistent_data(&self, data: SetPersistentData<'_>) -> Result<()> {
<obws::client::config::Config>::set_persistent_data
Line
Count
Source
28
1
    pub async fn set_persistent_data(&self, data: SetPersistentData<'_>) -> Result<()> {
Unexecuted instantiation: <obws::client::config::Config>::set_persistent_data
29
1
        self.client
30
2
            .send_message(Request::SetPersistentData(data))
31
2
            .await
32
1
    }
<obws::client::config::Config>::set_persistent_data::{closure#0}
Line
Count
Source
29
1
        self.client
30
2
            .send_message(Request::SetPersistentData(data))
31
2
            .await
32
1
    }
Unexecuted instantiation: <obws::client::config::Config>::set_persistent_data::{closure#0}
Unexecuted instantiation: <obws::client::config::Config>::set_persistent_data::{closure#0}
33
34
    /// Gets the current video settings.
35
    ///
36
    /// **Note:** To get the true FPS value, divide the FPS numerator by the FPS denominator.
37
    /// Example: `60000/1001`.
38
1
    pub async fn video_settings(&self) -> Result<responses::VideoSettings> {
<obws::client::config::Config>::video_settings
Line
Count
Source
38
1
    pub async fn video_settings(&self) -> Result<responses::VideoSettings> {
Unexecuted instantiation: <obws::client::config::Config>::video_settings
39
2
        
self.client.send_message(Request::VideoSettings)1
.await
40
1
    }
<obws::client::config::Config>::video_settings::{closure#0}
Line
Count
Source
39
2
        
self.client.send_message(Request::VideoSettings)1
.await
40
1
    }
Unexecuted instantiation: <obws::client::config::Config>::video_settings::{closure#0}
Unexecuted instantiation: <obws::client::config::Config>::video_settings::{closure#0}
41
42
    /// Sets the current video settings.
43
    ///
44
    /// **Note:** Fields must be specified in pairs. For example, you cannot set only
45
    /// [`SetVideoSettings::base_width`] without needing to specify
46
    /// [`SetVideoSettings::base_height`].
47
1
    pub async fn set_video_settings(&self, settings: SetVideoSettings) -> Result<()> {
<obws::client::config::Config>::set_video_settings
Line
Count
Source
47
1
    pub async fn set_video_settings(&self, settings: SetVideoSettings) -> Result<()> {
Unexecuted instantiation: <obws::client::config::Config>::set_video_settings
48
1
        self.client
49
2
            .send_message(Request::SetVideoSettings(settings))
50
2
            .await
51
1
    }
<obws::client::config::Config>::set_video_settings::{closure#0}
Line
Count
Source
48
1
        self.client
49
2
            .send_message(Request::SetVideoSettings(settings))
50
2
            .await
51
1
    }
Unexecuted instantiation: <obws::client::config::Config>::set_video_settings::{closure#0}
Unexecuted instantiation: <obws::client::config::Config>::set_video_settings::{closure#0}
52
53
    /// Gets the current stream service settings (stream destination).
54
1
    pub async fn stream_service_settings<T>(&self) -> Result<responses::StreamServiceSettings<T>>
55
1
    where
56
1
        T: DeserializeOwned,
57
1
    {
<obws::client::config::Config>::stream_service_settings::<serde_json::value::Value>
Line
Count
Source
54
1
    pub async fn stream_service_settings<T>(&self) -> Result<responses::StreamServiceSettings<T>>
55
1
    where
56
1
        T: DeserializeOwned,
57
1
    {
Unexecuted instantiation: <obws::client::config::Config>::stream_service_settings::<_>
Unexecuted instantiation: <obws::client::config::Config>::stream_service_settings::<_>
58
1
        self.client
59
2
            .send_message(Request::StreamServiceSettings)
60
2
            .await
61
1
    }
<obws::client::config::Config>::stream_service_settings::<serde_json::value::Value>::{closure#0}
Line
Count
Source
58
1
        self.client
59
2
            .send_message(Request::StreamServiceSettings)
60
2
            .await
61
1
    }
Unexecuted instantiation: <obws::client::config::Config>::stream_service_settings::<_>::{closure#0}
Unexecuted instantiation: <obws::client::config::Config>::stream_service_settings::<_>::{closure#0}
62
63
    /// Sets the current stream service settings (stream destination).
64
    ///
65
    /// **Note:** Simple RTMP settings can be set with type `rtmp_custom` and the settings fields
66
    /// `server` and `key`.
67
1
    pub async fn set_stream_service_settings<T>(&self, r#type: &'a str, settings: &T) -> Result<()>
68
1
    where
69
1
        T: Serialize,
70
1
    {
<obws::client::config::Config>::set_stream_service_settings::<serde_json::value::Value>
Line
Count
Source
67
1
    pub async fn set_stream_service_settings<T>(&self, r#type: &'a str, settings: &T) -> Result<()>
68
1
    where
69
1
        T: Serialize,
70
1
    {
Unexecuted instantiation: <obws::client::config::Config>::set_stream_service_settings::<_>
Unexecuted instantiation: <obws::client::config::Config>::set_stream_service_settings::<_>
71
        self.client
72
            .send_message(Request::SetStreamServiceSettings {
73
1
                r#type,
74
1
                settings: serde_json::to_value(settings).map_err(Error::SerializeCustomData)
?0
,
75
2
            })
76
2
            .await
77
1
    }
<obws::client::config::Config>::set_stream_service_settings::<serde_json::value::Value>::{closure#0}
Line
Count
Source
73
1
                r#type,
74
1
                settings: serde_json::to_value(settings).map_err(Error::SerializeCustomData)
?0
,
75
2
            })
76
2
            .await
77
1
    }
Unexecuted instantiation: <obws::client::config::Config>::set_stream_service_settings::<_>::{closure#0}
Unexecuted instantiation: <obws::client::config::Config>::set_stream_service_settings::<_>::{closure#0}
78
79
    /// Gets the current directory that the record output is set to.
80
1
    pub async fn record_directory(&self) -> Result<String> {
<obws::client::config::Config>::record_directory
Line
Count
Source
80
1
    pub async fn record_directory(&self) -> Result<String> {
Unexecuted instantiation: <obws::client::config::Config>::record_directory
81
1
        self.client
82
2
            .send_message::<_, responses::RecordDirectory>(Request::RecordDirectory)
83
2
            .await
84
1
            .map(|rd| rd.record_directory)
<obws::client::config::Config>::record_directory::{closure#0}::{closure#0}
Line
Count
Source
84
1
            .map(|rd| rd.record_directory)
Unexecuted instantiation: <obws::client::config::Config>::record_directory::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::config::Config>::record_directory::{closure#0}::{closure#0}
85
1
    }
<obws::client::config::Config>::record_directory::{closure#0}
Line
Count
Source
81
1
        self.client
82
2
            .send_message::<_, responses::RecordDirectory>(Request::RecordDirectory)
83
2
            .await
84
1
            .map(|rd| rd.record_directory)
85
1
    }
Unexecuted instantiation: <obws::client::config::Config>::record_directory::{closure#0}
Unexecuted instantiation: <obws::client::config::Config>::record_directory::{closure#0}
86
}
\ No newline at end of file diff --git a/coverage/src/client/connection.rs.html b/coverage/src/client/connection.rs.html index 2624d31..f42f3a9 100644 --- a/coverage/src/client/connection.rs.html +++ b/coverage/src/client/connection.rs.html @@ -1 +1 @@ -

Coverage Report

Created: 2022-05-25 22:28

src/client/connection.rs
Line
Count
Source (jump to first uncovered line)
1
use std::collections::{HashMap, VecDeque};
2
3
use futures_util::{Sink, SinkExt, Stream, StreamExt};
4
use tokio::sync::{oneshot, Mutex};
5
use tokio_tungstenite::tungstenite::Message;
6
use tracing::debug;
7
8
use super::InnerError;
9
use crate::{
10
    requests::{ClientRequest, EventSubscription, Identify},
11
    responses::{Hello, Identified, RequestResponse, ServerMessage, Status},
12
};
13
14
/// Wrapper for the list of ongoing requests that wait for response.
15
13
#[derive(Default)]
<obws::client::connection::ReceiverList as core::default::Default>::default
Line
Count
Source
15
13
#[derive(Default)]
Unexecuted instantiation: <obws::client::connection::ReceiverList as core::default::Default>::default
Unexecuted instantiation: <obws::client::connection::ReceiverList as core::default::Default>::default
16
pub(super) struct ReceiverList(Mutex<HashMap<u64, oneshot::Sender<(Status, serde_json::Value)>>>);
17
18
impl ReceiverList {
19
    /// Add a new receiver to the wait list, that will be notified once a request with the given
20
    /// ID is received.
21
277
    pub async fn add(&self, id: u64) -> oneshot::Receiver<(Status, serde_json::Value)> {
<obws::client::connection::ReceiverList>::add
Line
Count
Source
21
277
    pub async fn add(&self, id: u64) -> oneshot::Receiver<(Status, serde_json::Value)> {
Unexecuted instantiation: <obws::client::connection::ReceiverList>::add
22
277
        let (tx, rx) = oneshot::channel();
23
277
        self.0.lock()
.await0
.insert(id, tx);
24
277
        rx
25
277
    }
<obws::client::connection::ReceiverList>::add::{closure#0}
Line
Count
Source
21
277
    pub async fn add(&self, id: u64) -> oneshot::Receiver<(Status, serde_json::Value)> {
22
277
        let (tx, rx) = oneshot::channel();
23
277
        self.0.lock()
.await0
.insert(id, tx);
24
277
        rx
25
277
    }
Unexecuted instantiation: <obws::client::connection::ReceiverList>::add::{closure#0}
Unexecuted instantiation: <obws::client::connection::ReceiverList>::add::{closure#0}
26
27
    /// Remove a previously added receiver. Used to free up resources, in case sending the request
28
    /// failed.
29
0
    pub async fn remove(&self, id: u64) {
Unexecuted instantiation: <obws::client::connection::ReceiverList>::remove
Unexecuted instantiation: <obws::client::connection::ReceiverList>::remove
30
0
        self.0.lock().await.remove(&id);
31
0
    }
Unexecuted instantiation: <obws::client::connection::ReceiverList>::remove::{closure#0}
Unexecuted instantiation: <obws::client::connection::ReceiverList>::remove::{closure#0}
Unexecuted instantiation: <obws::client::connection::ReceiverList>::remove::{closure#0}
32
33
    /// Notify a waiting receiver with the response to a request.
34
277
    pub async fn notify(&self, response: RequestResponse) -> Result<(), InnerError> {
<obws::client::connection::ReceiverList>::notify
Line
Count
Source
34
277
    pub async fn notify(&self, response: RequestResponse) -> Result<(), InnerError> {
Unexecuted instantiation: <obws::client::connection::ReceiverList>::notify
35
277
        let RequestResponse {
36
277
            request_type: _,
37
277
            request_id,
38
277
            request_status,
39
277
            response_data,
40
        } = response;
41
42
277
        let request_id = request_id
43
277
            .parse()
44
277
            .map_err(|e| 
InnerError::InvalidRequestId(e, request_id)0
)
?0
;
Unexecuted instantiation: <obws::client::connection::ReceiverList>::notify::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::connection::ReceiverList>::notify::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::connection::ReceiverList>::notify::{closure#0}::{closure#0}
45
46
277
        if let Some(tx) = self.0.lock()
.await0
.remove(&request_id) {
47
277
            tx.send((request_status, response_data)).ok();
48
277
        }
0
49
50
277
        Ok(())
51
277
    }
<obws::client::connection::ReceiverList>::notify::{closure#0}
Line
Count
Source
34
277
    pub async fn notify(&self, response: RequestResponse) -> Result<(), InnerError> {
35
277
        let RequestResponse {
36
277
            request_type: _,
37
277
            request_id,
38
277
            request_status,
39
277
            response_data,
40
        } = response;
41
42
277
        let request_id = request_id
43
277
            .parse()
44
277
            .map_err(|e| InnerError::InvalidRequestId(e, request_id))
?0
;
45
46
277
        if let Some(tx) = self.0.lock()
.await0
.remove(&request_id) {
47
277
            tx.send((request_status, response_data)).ok();
48
277
        }
0
49
50
277
        Ok(())
51
277
    }
Unexecuted instantiation: <obws::client::connection::ReceiverList>::notify::{closure#0}
Unexecuted instantiation: <obws::client::connection::ReceiverList>::notify::{closure#0}
52
53
    /// Reset the list, canceling any outstanding receivers.
54
0
    pub async fn reset(&self) {
Unexecuted instantiation: <obws::client::connection::ReceiverList>::reset
Unexecuted instantiation: <obws::client::connection::ReceiverList>::reset
55
0
        self.0.lock().await.clear();
56
0
    }
Unexecuted instantiation: <obws::client::connection::ReceiverList>::reset::{closure#0}
Unexecuted instantiation: <obws::client::connection::ReceiverList>::reset::{closure#0}
Unexecuted instantiation: <obws::client::connection::ReceiverList>::reset::{closure#0}
57
}
58
59
/// Wrapper around a thread-safe queue to park and notify re-identify listener.
60
13
#[derive(Default)]
<obws::client::connection::ReidentifyReceiverList as core::default::Default>::default
Line
Count
Source
60
13
#[derive(Default)]
Unexecuted instantiation: <obws::client::connection::ReidentifyReceiverList as core::default::Default>::default
Unexecuted instantiation: <obws::client::connection::ReidentifyReceiverList as core::default::Default>::default
61
pub(super) struct ReidentifyReceiverList(Mutex<VecDeque<oneshot::Sender<Identified>>>);
62
63
impl ReidentifyReceiverList {
64
    /// Add a new receiver to the wait list, returning a channel to await the result on.
65
0
    pub async fn add(&self) -> oneshot::Receiver<Identified> {
Unexecuted instantiation: <obws::client::connection::ReidentifyReceiverList>::add
Unexecuted instantiation: <obws::client::connection::ReidentifyReceiverList>::add
66
0
        let (tx, rx) = oneshot::channel();
67
0
        self.0.lock().await.push_back(tx);
68
0
        rx
69
0
    }
Unexecuted instantiation: <obws::client::connection::ReidentifyReceiverList>::add::{closure#0}
Unexecuted instantiation: <obws::client::connection::ReidentifyReceiverList>::add::{closure#0}
70
71
    /// Notify the next listener in the queue, transferring it the response.
72
0
    pub async fn notify(&self, identified: Identified) {
Unexecuted instantiation: <obws::client::connection::ReidentifyReceiverList>::notify
Unexecuted instantiation: <obws::client::connection::ReidentifyReceiverList>::notify
73
0
        if let Some(tx) = self.0.lock().await.pop_front() {
74
0
            tx.send(identified).ok();
75
0
        }
76
0
    }
Unexecuted instantiation: <obws::client::connection::ReidentifyReceiverList>::notify::{closure#0}
Unexecuted instantiation: <obws::client::connection::ReidentifyReceiverList>::notify::{closure#0}
Unexecuted instantiation: <obws::client::connection::ReidentifyReceiverList>::notify::{closure#0}
77
78
    /// Reset the list, canceling any outstanding receivers.
79
0
    pub async fn reset(&self) {
Unexecuted instantiation: <obws::client::connection::ReidentifyReceiverList>::reset
Unexecuted instantiation: <obws::client::connection::ReidentifyReceiverList>::reset
80
0
        self.0.lock().await.clear();
81
0
    }
Unexecuted instantiation: <obws::client::connection::ReidentifyReceiverList>::reset::{closure#0}
Unexecuted instantiation: <obws::client::connection::ReidentifyReceiverList>::reset::{closure#0}
Unexecuted instantiation: <obws::client::connection::ReidentifyReceiverList>::reset::{closure#0}
82
}
83
84
/// Errors that can occur while performing the initial handshake with obs-websocket.
85
0
#[derive(Debug, thiserror::Error)]
Unexecuted instantiation: <obws::client::connection::HandshakeError as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::client::connection::HandshakeError as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::client::connection::HandshakeError as std::error::Error>::source
Unexecuted instantiation: <obws::client::connection::HandshakeError as core::fmt::Display>::fmt
Unexecuted instantiation: <obws::client::connection::HandshakeError as core::fmt::Display>::fmt
Unexecuted instantiation: <obws::client::connection::HandshakeError as std::error::Error>::source
86
pub enum HandshakeError {
87
    /// The connection to obs-websocket was interrupted while trying to read a message.
88
    #[error("connection to obs-websocket was closed")]
89
    ConnectionClosed,
90
    /// Receiving a message did not succeed.
91
    #[error("failed reading websocket message")]
92
    Receive(#[source] tokio_tungstenite::tungstenite::Error),
93
    /// The web-socket message was not convertible to text.
94
    #[error("websocket message not convertible to text")]
95
    IntoText(#[source] tokio_tungstenite::tungstenite::Error),
96
    /// A message from obs-websocket could not be deserialized.
97
    #[error("failed deserializing message")]
98
    DeserializeMessage(#[source] serde_json::Error),
99
    /// A message could not be serialized for sending.
100
    #[error("failed serializing message")]
101
    SerializeMessage(#[source] serde_json::Error),
102
    /// Sending a message to obs-websocket failed.
103
    #[error("failed to send message to obs-websocket")]
104
    Send(#[source] tokio_tungstenite::tungstenite::Error),
105
    /// Didn't receive the initial `Hello` message from obs-websocket after connecting.
106
    #[error("didn't receive a `Hello` message after connecting")]
107
    NoHello,
108
    /// Didn't receive a `Identified` message from obs-websocket after authentication.
109
    #[error("didn't receive a `Identified` message")]
110
    NoIdentified,
111
}
112
113
13
pub(super) async fn handshake(
114
13
    write: &mut (impl Sink<Message, Error = tokio_tungstenite::tungstenite::Error> + Unpin),
115
13
    read: &mut (impl Stream<Item = tokio_tungstenite::tungstenite::Result<Message>> + Unpin),
116
13
    password: Option<&str>,
117
13
    event_subscriptions: Option<EventSubscription>,
118
13
) -> Result<(), HandshakeError> {
obws::client::connection::handshake::<futures_util::stream::stream::split::SplitSink<tokio_tungstenite::WebSocketStream<tokio_tungstenite::stream::MaybeTlsStream<tokio::net::tcp::stream::TcpStream>>, tungstenite::protocol::message::Message>, futures_util::stream::stream::split::SplitStream<tokio_tungstenite::WebSocketStream<tokio_tungstenite::stream::MaybeTlsStream<tokio::net::tcp::stream::TcpStream>>>>
Line
Count
Source
113
13
pub(super) async fn handshake(
114
13
    write: &mut (impl Sink<Message, Error = tokio_tungstenite::tungstenite::Error> + Unpin),
115
13
    read: &mut (impl Stream<Item = tokio_tungstenite::tungstenite::Result<Message>> + Unpin),
116
13
    password: Option<&str>,
117
13
    event_subscriptions: Option<EventSubscription>,
118
13
) -> Result<(), HandshakeError> {
Unexecuted instantiation: obws::client::connection::handshake::<_, _>
Unexecuted instantiation: obws::client::connection::handshake::<_, _>
119
26
    async fn read_message(
120
26
        read: &mut (impl Stream<Item = tokio_tungstenite::tungstenite::Result<Message>> + Unpin),
121
26
    ) -> Result<ServerMessage, HandshakeError> {
obws::client::connection::handshake::{closure#0}::read_message::<futures_util::stream::stream::split::SplitStream<tokio_tungstenite::WebSocketStream<tokio_tungstenite::stream::MaybeTlsStream<tokio::net::tcp::stream::TcpStream>>>>
Line
Count
Source
119
26
    async fn read_message(
120
26
        read: &mut (impl Stream<Item = tokio_tungstenite::tungstenite::Result<Message>> + Unpin),
121
26
    ) -> Result<ServerMessage, HandshakeError> {
Unexecuted instantiation: obws::client::connection::handshake::{closure#0}::read_message::<_>
Unexecuted instantiation: obws::client::connection::handshake::{closure#0}::read_message::<_>
122
26
        let message = read
123
26
            .next()
124
13
            .await
125
26
            .ok_or(HandshakeError::ConnectionClosed)
?0
126
26
            .map_err(HandshakeError::Receive)
?0
127
26
            .into_text()
128
26
            .map_err(HandshakeError::IntoText)
?0
;
129
130
26
        serde_json::from_str::<ServerMessage>(&message).map_err(HandshakeError::DeserializeMessage)
131
26
    }
obws::client::connection::handshake::{closure#0}::read_message::<futures_util::stream::stream::split::SplitStream<tokio_tungstenite::WebSocketStream<tokio_tungstenite::stream::MaybeTlsStream<tokio::net::tcp::stream::TcpStream>>>>::{closure#0}
Line
Count
Source
122
26
        let message = read
123
26
            .next()
124
13
            .await
125
26
            .ok_or(HandshakeError::ConnectionClosed)
?0
126
26
            .map_err(HandshakeError::Receive)
?0
127
26
            .into_text()
128
26
            .map_err(HandshakeError::IntoText)
?0
;
129
130
26
        serde_json::from_str::<ServerMessage>(&message).map_err(HandshakeError::DeserializeMessage)
131
26
    }
Unexecuted instantiation: obws::client::connection::handshake::{closure#0}::read_message::<_>::{closure#0}
Unexecuted instantiation: obws::client::connection::handshake::{closure#0}::read_message::<_>::{closure#0}
132
133
13
    match read_message(read)
.await0
?0
{
134
        ServerMessage::Hello(Hello {
135
            obs_web_socket_version: _,
136
13
            rpc_version,
137
13
            authentication,
138
13
        }) => {
139
13
            let authentication = authentication.zip(password).map(|(auth, password)| {
140
13
                create_auth_response(&auth.challenge, &auth.salt, password)
141
13
            });
obws::client::connection::handshake::<futures_util::stream::stream::split::SplitSink<tokio_tungstenite::WebSocketStream<tokio_tungstenite::stream::MaybeTlsStream<tokio::net::tcp::stream::TcpStream>>, tungstenite::protocol::message::Message>, futures_util::stream::stream::split::SplitStream<tokio_tungstenite::WebSocketStream<tokio_tungstenite::stream::MaybeTlsStream<tokio::net::tcp::stream::TcpStream>>>>::{closure#0}::{closure#0}
Line
Count
Source
139
13
            let authentication = authentication.zip(password).map(|(auth, password)| {
140
13
                create_auth_response(&auth.challenge, &auth.salt, password)
141
13
            });
Unexecuted instantiation: obws::client::connection::handshake::<_, _>::{closure#0}::{closure#0}
Unexecuted instantiation: obws::client::connection::handshake::<_, _>::{closure#0}::{closure#0}
142
143
13
            let req = serde_json::to_string(&ClientRequest::Identify(Identify {
144
13
                rpc_version,
145
13
                authentication,
146
13
                event_subscriptions,
147
13
            }))
148
13
            .map_err(HandshakeError::SerializeMessage)
?0
;
149
150
13
            write
151
13
                .send(Message::Text(req))
152
0
                .await
153
13
                .map_err(HandshakeError::Send)
?0
;
154
        }
155
0
        _ => return Err(HandshakeError::NoHello),
156
    }
157
158
13
    match read_message(read).await
?0
{
159
        ServerMessage::Identified(Identified {
160
13
            negotiated_rpc_version,
161
        }) => {
162
13
            debug!(rpc_version = %negotiated_rpc_version, "identified against obs-websocket");
obws::client::connection::handshake::<futures_util::stream::stream::split::SplitSink<tokio_tungstenite::WebSocketStream<tokio_tungstenite::stream::MaybeTlsStream<tokio::net::tcp::stream::TcpStream>>, tungstenite::protocol::message::Message>, futures_util::stream::stream::split::SplitStream<tokio_tungstenite::WebSocketStream<tokio_tungstenite::stream::MaybeTlsStream<tokio::net::tcp::stream::TcpStream>>>>::{closure#0}::{closure#1}
Line
Count
Source
162
13
            debug!(rpc_version = %negotiated_rpc_version, "identified against obs-websocket");
Unexecuted instantiation: obws::client::connection::handshake::<_, _>::{closure#0}::{closure#1}
Unexecuted instantiation: obws::client::connection::handshake::<_, _>::{closure#0}::{closure#1}
163
        }
164
0
        _ => return Err(HandshakeError::NoIdentified),
165
    }
166
167
13
    Ok(())
168
13
}
obws::client::connection::handshake::<futures_util::stream::stream::split::SplitSink<tokio_tungstenite::WebSocketStream<tokio_tungstenite::stream::MaybeTlsStream<tokio::net::tcp::stream::TcpStream>>, tungstenite::protocol::message::Message>, futures_util::stream::stream::split::SplitStream<tokio_tungstenite::WebSocketStream<tokio_tungstenite::stream::MaybeTlsStream<tokio::net::tcp::stream::TcpStream>>>>::{closure#0}
Line
Count
Source
133
13
    match read_message(read)
.await0
?0
{
134
        ServerMessage::Hello(Hello {
135
            obs_web_socket_version: _,
136
13
            rpc_version,
137
13
            authentication,
138
13
        }) => {
139
13
            let authentication = authentication.zip(password).map(|(auth, password)| {
140
                create_auth_response(&auth.challenge, &auth.salt, password)
141
13
            });
142
143
13
            let req = serde_json::to_string(&ClientRequest::Identify(Identify {
144
13
                rpc_version,
145
13
                authentication,
146
13
                event_subscriptions,
147
13
            }))
148
13
            .map_err(HandshakeError::SerializeMessage)
?0
;
149
150
13
            write
151
13
                .send(Message::Text(req))
152
0
                .await
153
13
                .map_err(HandshakeError::Send)
?0
;
154
        }
155
0
        _ => return Err(HandshakeError::NoHello),
156
    }
157
158
13
    match read_message(read).await
?0
{
159
        ServerMessage::Identified(Identified {
160
13
            negotiated_rpc_version,
161
        }) => {
162
13
            debug!(rpc_version = %negotiated_rpc_version, "identified against obs-websocket");
163
        }
164
0
        _ => return Err(HandshakeError::NoIdentified),
165
    }
166
167
13
    Ok(())
168
13
}
Unexecuted instantiation: obws::client::connection::handshake::<_, _>::{closure#0}
Unexecuted instantiation: obws::client::connection::handshake::<_, _>::{closure#0}
169
170
13
fn create_auth_response(challenge: &str, salt: &str, password: &str) -> String {
171
13
    use sha2::{Digest, Sha256};
172
13
173
13
    let mut hasher = Sha256::new();
174
13
    hasher.update(password.as_bytes());
175
13
    hasher.update(salt.as_bytes());
176
13
177
13
    let mut auth = String::with_capacity(Sha256::output_size() * 4 / 3 + 4);
178
13
179
13
    base64::encode_config_buf(hasher.finalize_reset(), base64::STANDARD, &mut auth);
180
13
181
13
    hasher.update(auth.as_bytes());
182
13
    hasher.update(challenge.as_bytes());
183
13
    auth.clear();
184
13
185
13
    base64::encode_config_buf(hasher.finalize(), base64::STANDARD, &mut auth);
186
13
187
13
    auth
188
13
}
obws::client::connection::create_auth_response
Line
Count
Source
170
13
fn create_auth_response(challenge: &str, salt: &str, password: &str) -> String {
171
13
    use sha2::{Digest, Sha256};
172
13
173
13
    let mut hasher = Sha256::new();
174
13
    hasher.update(password.as_bytes());
175
13
    hasher.update(salt.as_bytes());
176
13
177
13
    let mut auth = String::with_capacity(Sha256::output_size() * 4 / 3 + 4);
178
13
179
13
    base64::encode_config_buf(hasher.finalize_reset(), base64::STANDARD, &mut auth);
180
13
181
13
    hasher.update(auth.as_bytes());
182
13
    hasher.update(challenge.as_bytes());
183
13
    auth.clear();
184
13
185
13
    base64::encode_config_buf(hasher.finalize(), base64::STANDARD, &mut auth);
186
13
187
13
    auth
188
13
}
Unexecuted instantiation: obws::client::connection::create_auth_response
\ No newline at end of file +

Coverage Report

Created: 2022-07-04 16:17

src/client/connection.rs
Line
Count
Source (jump to first uncovered line)
1
use std::collections::{HashMap, VecDeque};
2
3
use futures_util::{Sink, SinkExt, Stream, StreamExt};
4
use tokio::sync::{oneshot, Mutex};
5
use tokio_tungstenite::tungstenite::Message;
6
use tracing::debug;
7
8
use super::InnerError;
9
use crate::{
10
    requests::{ClientRequest, EventSubscription, Identify},
11
    responses::{Hello, Identified, RequestResponse, ServerMessage, Status},
12
};
13
14
/// Wrapper for the list of ongoing requests that wait for response.
15
18
#[derive(Default)]
<obws::client::connection::ReceiverList as core::default::Default>::default
Line
Count
Source
15
18
#[derive(Default)]
Unexecuted instantiation: <obws::client::connection::ReceiverList as core::default::Default>::default
Unexecuted instantiation: <obws::client::connection::ReceiverList as core::default::Default>::default
16
pub(super) struct ReceiverList(Mutex<HashMap<u64, oneshot::Sender<(Status, serde_json::Value)>>>);
17
18
impl ReceiverList {
19
    /// Add a new receiver to the wait list, that will be notified once a request with the given
20
    /// ID is received.
21
346
    pub async fn add(&self, id: u64) -> oneshot::Receiver<(Status, serde_json::Value)> {
<obws::client::connection::ReceiverList>::add
Line
Count
Source
21
346
    pub async fn add(&self, id: u64) -> oneshot::Receiver<(Status, serde_json::Value)> {
Unexecuted instantiation: <obws::client::connection::ReceiverList>::add
22
346
        let (tx, rx) = oneshot::channel();
23
346
        self.0.lock()
.await0
.insert(id, tx);
24
346
        rx
25
346
    }
<obws::client::connection::ReceiverList>::add::{closure#0}
Line
Count
Source
21
346
    pub async fn add(&self, id: u64) -> oneshot::Receiver<(Status, serde_json::Value)> {
22
346
        let (tx, rx) = oneshot::channel();
23
346
        self.0.lock()
.await0
.insert(id, tx);
24
346
        rx
25
346
    }
Unexecuted instantiation: <obws::client::connection::ReceiverList>::add::{closure#0}
Unexecuted instantiation: <obws::client::connection::ReceiverList>::add::{closure#0}
26
27
    /// Remove a previously added receiver. Used to free up resources, in case sending the request
28
    /// failed.
29
0
    pub async fn remove(&self, id: u64) {
Unexecuted instantiation: <obws::client::connection::ReceiverList>::remove
Unexecuted instantiation: <obws::client::connection::ReceiverList>::remove
30
0
        self.0.lock().await.remove(&id);
31
0
    }
Unexecuted instantiation: <obws::client::connection::ReceiverList>::remove::{closure#0}
Unexecuted instantiation: <obws::client::connection::ReceiverList>::remove::{closure#0}
Unexecuted instantiation: <obws::client::connection::ReceiverList>::remove::{closure#0}
32
33
    /// Notify a waiting receiver with the response to a request.
34
346
    pub async fn notify(&self, response: RequestResponse) -> Result<(), InnerError> {
<obws::client::connection::ReceiverList>::notify
Line
Count
Source
34
346
    pub async fn notify(&self, response: RequestResponse) -> Result<(), InnerError> {
Unexecuted instantiation: <obws::client::connection::ReceiverList>::notify
35
346
        let RequestResponse {
36
346
            r#type: _,
37
346
            id,
38
346
            status,
39
346
            data,
40
        } = response;
41
42
346
        let id = id
43
346
            .parse()
44
346
            .map_err(|e| 
InnerError::InvalidRequestId(e, id)0
)
?0
;
Unexecuted instantiation: <obws::client::connection::ReceiverList>::notify::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::connection::ReceiverList>::notify::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::connection::ReceiverList>::notify::{closure#0}::{closure#0}
45
46
346
        if let Some(tx) = self.0.lock()
.await0
.remove(&id) {
47
346
            tx.send((status, data)).ok();
48
346
        }
0
49
50
346
        Ok(())
51
346
    }
<obws::client::connection::ReceiverList>::notify::{closure#0}
Line
Count
Source
34
346
    pub async fn notify(&self, response: RequestResponse) -> Result<(), InnerError> {
35
346
        let RequestResponse {
36
346
            r#type: _,
37
346
            id,
38
346
            status,
39
346
            data,
40
        } = response;
41
42
346
        let id = id
43
346
            .parse()
44
346
            .map_err(|e| InnerError::InvalidRequestId(e, id))
?0
;
45
46
346
        if let Some(tx) = self.0.lock()
.await0
.remove(&id) {
47
346
            tx.send((status, data)).ok();
48
346
        }
0
49
50
346
        Ok(())
51
346
    }
Unexecuted instantiation: <obws::client::connection::ReceiverList>::notify::{closure#0}
Unexecuted instantiation: <obws::client::connection::ReceiverList>::notify::{closure#0}
52
53
    /// Reset the list, canceling any outstanding receivers.
54
0
    pub async fn reset(&self) {
Unexecuted instantiation: <obws::client::connection::ReceiverList>::reset
Unexecuted instantiation: <obws::client::connection::ReceiverList>::reset
55
0
        self.0.lock().await.clear();
56
0
    }
Unexecuted instantiation: <obws::client::connection::ReceiverList>::reset::{closure#0}
Unexecuted instantiation: <obws::client::connection::ReceiverList>::reset::{closure#0}
Unexecuted instantiation: <obws::client::connection::ReceiverList>::reset::{closure#0}
57
}
58
59
/// Wrapper around a thread-safe queue to park and notify re-identify listener.
60
18
#[derive(Default)]
<obws::client::connection::ReidentifyReceiverList as core::default::Default>::default
Line
Count
Source
60
18
#[derive(Default)]
Unexecuted instantiation: <obws::client::connection::ReidentifyReceiverList as core::default::Default>::default
Unexecuted instantiation: <obws::client::connection::ReidentifyReceiverList as core::default::Default>::default
61
pub(super) struct ReidentifyReceiverList(Mutex<VecDeque<oneshot::Sender<Identified>>>);
62
63
impl ReidentifyReceiverList {
64
    /// Add a new receiver to the wait list, returning a channel to await the result on.
65
0
    pub async fn add(&self) -> oneshot::Receiver<Identified> {
Unexecuted instantiation: <obws::client::connection::ReidentifyReceiverList>::add
Unexecuted instantiation: <obws::client::connection::ReidentifyReceiverList>::add
66
0
        let (tx, rx) = oneshot::channel();
67
0
        self.0.lock().await.push_back(tx);
68
0
        rx
69
0
    }
Unexecuted instantiation: <obws::client::connection::ReidentifyReceiverList>::add::{closure#0}
Unexecuted instantiation: <obws::client::connection::ReidentifyReceiverList>::add::{closure#0}
70
71
    /// Notify the next listener in the queue, transferring it the response.
72
0
    pub async fn notify(&self, identified: Identified) {
Unexecuted instantiation: <obws::client::connection::ReidentifyReceiverList>::notify
Unexecuted instantiation: <obws::client::connection::ReidentifyReceiverList>::notify
73
0
        if let Some(tx) = self.0.lock().await.pop_front() {
74
0
            tx.send(identified).ok();
75
0
        }
76
0
    }
Unexecuted instantiation: <obws::client::connection::ReidentifyReceiverList>::notify::{closure#0}
Unexecuted instantiation: <obws::client::connection::ReidentifyReceiverList>::notify::{closure#0}
Unexecuted instantiation: <obws::client::connection::ReidentifyReceiverList>::notify::{closure#0}
77
78
    /// Reset the list, canceling any outstanding receivers.
79
0
    pub async fn reset(&self) {
Unexecuted instantiation: <obws::client::connection::ReidentifyReceiverList>::reset
Unexecuted instantiation: <obws::client::connection::ReidentifyReceiverList>::reset
80
0
        self.0.lock().await.clear();
81
0
    }
Unexecuted instantiation: <obws::client::connection::ReidentifyReceiverList>::reset::{closure#0}
Unexecuted instantiation: <obws::client::connection::ReidentifyReceiverList>::reset::{closure#0}
Unexecuted instantiation: <obws::client::connection::ReidentifyReceiverList>::reset::{closure#0}
82
}
83
84
/// Errors that can occur while performing the initial handshake with obs-websocket.
85
0
#[derive(Debug, thiserror::Error)]
Unexecuted instantiation: <obws::client::connection::HandshakeError as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::client::connection::HandshakeError as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::client::connection::HandshakeError as core::fmt::Display>::fmt
Unexecuted instantiation: <obws::client::connection::HandshakeError as std::error::Error>::source
Unexecuted instantiation: <obws::client::connection::HandshakeError as std::error::Error>::source
Unexecuted instantiation: <obws::client::connection::HandshakeError as core::fmt::Display>::fmt
86
pub enum HandshakeError {
87
    /// The connection to obs-websocket was interrupted while trying to read a message.
88
    #[error("connection to obs-websocket was closed")]
89
    ConnectionClosed,
90
    /// Receiving a message did not succeed.
91
    #[error("failed reading websocket message")]
92
    Receive(#[source] tokio_tungstenite::tungstenite::Error),
93
    /// The web-socket message was not convertible to text.
94
    #[error("websocket message not convertible to text")]
95
    IntoText(#[source] tokio_tungstenite::tungstenite::Error),
96
    /// A message from obs-websocket could not be deserialized.
97
    #[error("failed deserializing message")]
98
    DeserializeMessage(#[source] serde_json::Error),
99
    /// A message could not be serialized for sending.
100
    #[error("failed serializing message")]
101
    SerializeMessage(#[source] serde_json::Error),
102
    /// Sending a message to obs-websocket failed.
103
    #[error("failed to send message to obs-websocket")]
104
    Send(#[source] tokio_tungstenite::tungstenite::Error),
105
    /// Didn't receive the initial `Hello` message from obs-websocket after connecting.
106
    #[error("didn't receive a `Hello` message after connecting")]
107
    NoHello,
108
    /// Didn't receive a `Identified` message from obs-websocket after authentication.
109
    #[error("didn't receive a `Identified` message")]
110
    NoIdentified,
111
}
112
113
18
pub(super) async fn handshake(
114
18
    write: &mut (impl Sink<Message, Error = tokio_tungstenite::tungstenite::Error> + Unpin),
115
18
    read: &mut (impl Stream<Item = tokio_tungstenite::tungstenite::Result<Message>> + Unpin),
116
18
    password: Option<&str>,
117
18
    event_subscriptions: Option<EventSubscription>,
118
18
) -> Result<(), HandshakeError> {
obws::client::connection::handshake::<futures_util::stream::stream::split::SplitSink<tokio_tungstenite::WebSocketStream<tokio_tungstenite::stream::MaybeTlsStream<tokio::net::tcp::stream::TcpStream>>, tungstenite::protocol::message::Message>, futures_util::stream::stream::split::SplitStream<tokio_tungstenite::WebSocketStream<tokio_tungstenite::stream::MaybeTlsStream<tokio::net::tcp::stream::TcpStream>>>>
Line
Count
Source
113
18
pub(super) async fn handshake(
114
18
    write: &mut (impl Sink<Message, Error = tokio_tungstenite::tungstenite::Error> + Unpin),
115
18
    read: &mut (impl Stream<Item = tokio_tungstenite::tungstenite::Result<Message>> + Unpin),
116
18
    password: Option<&str>,
117
18
    event_subscriptions: Option<EventSubscription>,
118
18
) -> Result<(), HandshakeError> {
Unexecuted instantiation: obws::client::connection::handshake::<_, _>
Unexecuted instantiation: obws::client::connection::handshake::<_, _>
119
36
    async fn read_message(
120
36
        read: &mut (impl Stream<Item = tokio_tungstenite::tungstenite::Result<Message>> + Unpin),
121
36
    ) -> Result<ServerMessage, HandshakeError> {
obws::client::connection::handshake::{closure#0}::read_message::<futures_util::stream::stream::split::SplitStream<tokio_tungstenite::WebSocketStream<tokio_tungstenite::stream::MaybeTlsStream<tokio::net::tcp::stream::TcpStream>>>>
Line
Count
Source
119
36
    async fn read_message(
120
36
        read: &mut (impl Stream<Item = tokio_tungstenite::tungstenite::Result<Message>> + Unpin),
121
36
    ) -> Result<ServerMessage, HandshakeError> {
Unexecuted instantiation: obws::client::connection::handshake::{closure#0}::read_message::<_>
Unexecuted instantiation: obws::client::connection::handshake::{closure#0}::read_message::<_>
122
36
        let message = read
123
36
            .next()
124
23
            .await
125
36
            .ok_or(HandshakeError::ConnectionClosed)
?0
126
36
            .map_err(HandshakeError::Receive)
?0
127
36
            .into_text()
128
36
            .map_err(HandshakeError::IntoText)
?0
;
129
130
36
        serde_json::from_str::<ServerMessage>(&message).map_err(HandshakeError::DeserializeMessage)
131
36
    }
obws::client::connection::handshake::{closure#0}::read_message::<futures_util::stream::stream::split::SplitStream<tokio_tungstenite::WebSocketStream<tokio_tungstenite::stream::MaybeTlsStream<tokio::net::tcp::stream::TcpStream>>>>::{closure#0}
Line
Count
Source
122
36
        let message = read
123
36
            .next()
124
23
            .await
125
36
            .ok_or(HandshakeError::ConnectionClosed)
?0
126
36
            .map_err(HandshakeError::Receive)
?0
127
36
            .into_text()
128
36
            .map_err(HandshakeError::IntoText)
?0
;
129
130
36
        serde_json::from_str::<ServerMessage>(&message).map_err(HandshakeError::DeserializeMessage)
131
36
    }
Unexecuted instantiation: obws::client::connection::handshake::{closure#0}::read_message::<_>::{closure#0}
Unexecuted instantiation: obws::client::connection::handshake::{closure#0}::read_message::<_>::{closure#0}
132
133
18
    match read_message(read)
.await5
?0
{
134
        ServerMessage::Hello(Hello {
135
            obs_web_socket_version: _,
136
18
            rpc_version,
137
18
            authentication,
138
18
        }) => {
139
18
            let authentication = authentication.zip(password).map(|(auth, password)| {
140
18
                create_auth_response(&auth.challenge, &auth.salt, password)
141
18
            });
obws::client::connection::handshake::<futures_util::stream::stream::split::SplitSink<tokio_tungstenite::WebSocketStream<tokio_tungstenite::stream::MaybeTlsStream<tokio::net::tcp::stream::TcpStream>>, tungstenite::protocol::message::Message>, futures_util::stream::stream::split::SplitStream<tokio_tungstenite::WebSocketStream<tokio_tungstenite::stream::MaybeTlsStream<tokio::net::tcp::stream::TcpStream>>>>::{closure#0}::{closure#0}
Line
Count
Source
139
18
            let authentication = authentication.zip(password).map(|(auth, password)| {
140
18
                create_auth_response(&auth.challenge, &auth.salt, password)
141
18
            });
Unexecuted instantiation: obws::client::connection::handshake::<_, _>::{closure#0}::{closure#0}
Unexecuted instantiation: obws::client::connection::handshake::<_, _>::{closure#0}::{closure#0}
142
143
18
            let req = serde_json::to_string(&ClientRequest::Identify(Identify {
144
18
                rpc_version,
145
18
                authentication,
146
18
                event_subscriptions,
147
18
            }))
148
18
            .map_err(HandshakeError::SerializeMessage)
?0
;
149
150
18
            write
151
18
                .send(Message::Text(req))
152
0
                .await
153
18
                .map_err(HandshakeError::Send)
?0
;
154
        }
155
0
        _ => return Err(HandshakeError::NoHello),
156
    }
157
158
18
    match read_message(read).await
?0
{
159
        ServerMessage::Identified(Identified {
160
18
            negotiated_rpc_version,
161
        }) => {
162
18
            debug!(rpc_version = %negotiated_rpc_version, "identified against obs-websocket");
obws::client::connection::handshake::<futures_util::stream::stream::split::SplitSink<tokio_tungstenite::WebSocketStream<tokio_tungstenite::stream::MaybeTlsStream<tokio::net::tcp::stream::TcpStream>>, tungstenite::protocol::message::Message>, futures_util::stream::stream::split::SplitStream<tokio_tungstenite::WebSocketStream<tokio_tungstenite::stream::MaybeTlsStream<tokio::net::tcp::stream::TcpStream>>>>::{closure#0}::{closure#1}
Line
Count
Source
162
18
            debug!(rpc_version = %negotiated_rpc_version, "identified against obs-websocket");
Unexecuted instantiation: obws::client::connection::handshake::<_, _>::{closure#0}::{closure#1}
Unexecuted instantiation: obws::client::connection::handshake::<_, _>::{closure#0}::{closure#1}
163
        }
164
0
        _ => return Err(HandshakeError::NoIdentified),
165
    }
166
167
18
    Ok(())
168
18
}
obws::client::connection::handshake::<futures_util::stream::stream::split::SplitSink<tokio_tungstenite::WebSocketStream<tokio_tungstenite::stream::MaybeTlsStream<tokio::net::tcp::stream::TcpStream>>, tungstenite::protocol::message::Message>, futures_util::stream::stream::split::SplitStream<tokio_tungstenite::WebSocketStream<tokio_tungstenite::stream::MaybeTlsStream<tokio::net::tcp::stream::TcpStream>>>>::{closure#0}
Line
Count
Source
133
18
    match read_message(read)
.await5
?0
{
134
        ServerMessage::Hello(Hello {
135
            obs_web_socket_version: _,
136
18
            rpc_version,
137
18
            authentication,
138
18
        }) => {
139
18
            let authentication = authentication.zip(password).map(|(auth, password)| {
140
                create_auth_response(&auth.challenge, &auth.salt, password)
141
18
            });
142
143
18
            let req = serde_json::to_string(&ClientRequest::Identify(Identify {
144
18
                rpc_version,
145
18
                authentication,
146
18
                event_subscriptions,
147
18
            }))
148
18
            .map_err(HandshakeError::SerializeMessage)
?0
;
149
150
18
            write
151
18
                .send(Message::Text(req))
152
0
                .await
153
18
                .map_err(HandshakeError::Send)
?0
;
154
        }
155
0
        _ => return Err(HandshakeError::NoHello),
156
    }
157
158
18
    match read_message(read).await
?0
{
159
        ServerMessage::Identified(Identified {
160
18
            negotiated_rpc_version,
161
        }) => {
162
18
            debug!(rpc_version = %negotiated_rpc_version, "identified against obs-websocket");
163
        }
164
0
        _ => return Err(HandshakeError::NoIdentified),
165
    }
166
167
18
    Ok(())
168
18
}
Unexecuted instantiation: obws::client::connection::handshake::<_, _>::{closure#0}
Unexecuted instantiation: obws::client::connection::handshake::<_, _>::{closure#0}
169
170
18
fn create_auth_response(challenge: &str, salt: &str, password: &str) -> String {
171
18
    use sha2::{Digest, Sha256};
172
18
173
18
    let mut hasher = Sha256::new();
174
18
    hasher.update(password.as_bytes());
175
18
    hasher.update(salt.as_bytes());
176
18
177
18
    let mut auth = String::with_capacity(Sha256::output_size() * 4 / 3 + 4);
178
18
179
18
    base64::encode_config_buf(hasher.finalize_reset(), base64::STANDARD, &mut auth);
180
18
181
18
    hasher.update(auth.as_bytes());
182
18
    hasher.update(challenge.as_bytes());
183
18
    auth.clear();
184
18
185
18
    base64::encode_config_buf(hasher.finalize(), base64::STANDARD, &mut auth);
186
18
187
18
    auth
188
18
}
obws::client::connection::create_auth_response
Line
Count
Source
170
18
fn create_auth_response(challenge: &str, salt: &str, password: &str) -> String {
171
18
    use sha2::{Digest, Sha256};
172
18
173
18
    let mut hasher = Sha256::new();
174
18
    hasher.update(password.as_bytes());
175
18
    hasher.update(salt.as_bytes());
176
18
177
18
    let mut auth = String::with_capacity(Sha256::output_size() * 4 / 3 + 4);
178
18
179
18
    base64::encode_config_buf(hasher.finalize_reset(), base64::STANDARD, &mut auth);
180
18
181
18
    hasher.update(auth.as_bytes());
182
18
    hasher.update(challenge.as_bytes());
183
18
    auth.clear();
184
18
185
18
    base64::encode_config_buf(hasher.finalize(), base64::STANDARD, &mut auth);
186
18
187
18
    auth
188
18
}
Unexecuted instantiation: obws::client::connection::create_auth_response
\ No newline at end of file diff --git a/coverage/src/client/filters.rs.html b/coverage/src/client/filters.rs.html index 3d24fa3..0a57c17 100644 --- a/coverage/src/client/filters.rs.html +++ b/coverage/src/client/filters.rs.html @@ -1 +1 @@ -

Coverage Report

Created: 2022-05-25 22:28

src/client/filters.rs
Line
Count
Source (jump to first uncovered line)
1
use serde::{de::DeserializeOwned, Serialize};
2
3
use super::Client;
4
use crate::{
5
    requests::{
6
        CreateSourceFilter, CreateSourceFilterInternal, RequestType, SetSourceFilterEnabled,
7
        SetSourceFilterIndex, SetSourceFilterName, SetSourceFilterSettings,
8
        SetSourceFilterSettingsInternal,
9
    },
10
    responses, Error, Result,
11
};
12
13
/// API functions related to filters.
14
pub struct Filters<'a> {
15
    pub(super) client: &'a Client,
16
}
17
18
impl<'a> Filters<'a> {
19
    /// Gets an array of all of a source's filters.
20
    ///
21
    /// - `source_name`: Name of the source.
22
14
    pub async fn get_source_filter_list(
23
14
        &self,
24
14
        source_name: &str,
25
14
    ) -> Result<Vec<responses::SourceFilter>> {
<obws::client::filters::Filters>::get_source_filter_list
Line
Count
Source
22
14
    pub async fn get_source_filter_list(
23
14
        &self,
24
14
        source_name: &str,
25
14
    ) -> Result<Vec<responses::SourceFilter>> {
Unexecuted instantiation: <obws::client::filters::Filters>::get_source_filter_list
26
14
        self.client
27
28
            .send_message::<responses::Filters>(RequestType::GetSourceFilterList { source_name })
28
28
            .await
29
14
            .map(|f| f.filters)
<obws::client::filters::Filters>::get_source_filter_list::{closure#0}::{closure#0}
Line
Count
Source
29
14
            .map(|f| f.filters)
Unexecuted instantiation: <obws::client::filters::Filters>::get_source_filter_list::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::filters::Filters>::get_source_filter_list::{closure#0}::{closure#0}
30
14
    }
<obws::client::filters::Filters>::get_source_filter_list::{closure#0}
Line
Count
Source
26
14
        self.client
27
28
            .send_message::<responses::Filters>(RequestType::GetSourceFilterList { source_name })
28
28
            .await
29
14
            .map(|f| f.filters)
30
14
    }
Unexecuted instantiation: <obws::client::filters::Filters>::get_source_filter_list::{closure#0}
Unexecuted instantiation: <obws::client::filters::Filters>::get_source_filter_list::{closure#0}
31
32
    /// Gets the default settings for a filter kind.
33
    ///
34
    /// - `filter_kind`: Filter kind to get the default settings for.
35
1
    pub async fn get_source_filter_default_settings<T>(&self, filter_kind: &str) -> Result<T>
36
1
    where
37
1
        T: DeserializeOwned,
38
1
    {
<obws::client::filters::Filters>::get_source_filter_default_settings::<serde_json::value::Value>
Line
Count
Source
35
1
    pub async fn get_source_filter_default_settings<T>(&self, filter_kind: &str) -> Result<T>
36
1
    where
37
1
        T: DeserializeOwned,
38
1
    {
Unexecuted instantiation: <obws::client::filters::Filters>::get_source_filter_default_settings::<_>
Unexecuted instantiation: <obws::client::filters::Filters>::get_source_filter_default_settings::<_>
39
1
        self.client
40
1
            .send_message::<responses::DefaultFilterSettings<T>>(
41
1
                RequestType::GetSourceFilterDefaultSettings { filter_kind },
42
2
            )
43
2
            .await
44
1
            .map(|dfs| dfs.default_filter_settings)
<obws::client::filters::Filters>::get_source_filter_default_settings::<serde_json::value::Value>::{closure#0}::{closure#0}
Line
Count
Source
44
1
            .map(|dfs| dfs.default_filter_settings)
Unexecuted instantiation: <obws::client::filters::Filters>::get_source_filter_default_settings::<_>::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::filters::Filters>::get_source_filter_default_settings::<_>::{closure#0}::{closure#0}
45
1
    }
<obws::client::filters::Filters>::get_source_filter_default_settings::<serde_json::value::Value>::{closure#0}
Line
Count
Source
39
1
        self.client
40
1
            .send_message::<responses::DefaultFilterSettings<T>>(
41
1
                RequestType::GetSourceFilterDefaultSettings { filter_kind },
42
2
            )
43
2
            .await
44
1
            .map(|dfs| dfs.default_filter_settings)
45
1
    }
Unexecuted instantiation: <obws::client::filters::Filters>::get_source_filter_default_settings::<_>::{closure#0}
Unexecuted instantiation: <obws::client::filters::Filters>::get_source_filter_default_settings::<_>::{closure#0}
46
47
    /// Creates a new filter, adding it to the specified source.
48
1
    pub async fn create_source_filter<T>(&self, filter: CreateSourceFilter<'_, T>) -> Result<()>
49
1
    where
50
1
        T: Serialize,
51
1
    {
<obws::client::filters::Filters>::create_source_filter::<serde_json::map::Map<alloc::string::String, serde_json::value::Value>>
Line
Count
Source
48
1
    pub async fn create_source_filter<T>(&self, filter: CreateSourceFilter<'_, T>) -> Result<()>
49
1
    where
50
1
        T: Serialize,
51
1
    {
Unexecuted instantiation: <obws::client::filters::Filters>::create_source_filter::<_>
Unexecuted instantiation: <obws::client::filters::Filters>::create_source_filter::<_>
52
        self.client
53
            .send_message(RequestType::CreateSourceFilter(
54
                CreateSourceFilterInternal {
55
1
                    source_name: filter.source_name,
56
1
                    filter_name: filter.filter_name,
57
1
                    filter_kind: filter.filter_kind,
58
1
                    filter_settings: filter
59
1
                        .filter_settings
60
1
                        .map(|settings| serde_json::to_value(&settings))
<obws::client::filters::Filters>::create_source_filter::<serde_json::map::Map<alloc::string::String, serde_json::value::Value>>::{closure#0}::{closure#0}
Line
Count
Source
60
1
                        .map(|settings| serde_json::to_value(&settings))
Unexecuted instantiation: <obws::client::filters::Filters>::create_source_filter::<_>::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::filters::Filters>::create_source_filter::<_>::{closure#0}::{closure#0}
61
1
                        .transpose()
62
1
                        .map_err(Error::SerializeCustomData)
?0
,
63
                },
64
2
            ))
65
2
            .await
66
1
    }
<obws::client::filters::Filters>::create_source_filter::<serde_json::map::Map<alloc::string::String, serde_json::value::Value>>::{closure#0}
Line
Count
Source
55
1
                    source_name: filter.source_name,
56
1
                    filter_name: filter.filter_name,
57
1
                    filter_kind: filter.filter_kind,
58
1
                    filter_settings: filter
59
1
                        .filter_settings
60
1
                        .map(|settings| serde_json::to_value(&settings))
61
1
                        .transpose()
62
1
                        .map_err(Error::SerializeCustomData)
?0
,
63
                },
64
2
            ))
65
2
            .await
66
1
    }
Unexecuted instantiation: <obws::client::filters::Filters>::create_source_filter::<_>::{closure#0}
Unexecuted instantiation: <obws::client::filters::Filters>::create_source_filter::<_>::{closure#0}
67
68
    /// Removes a filter from a source.
69
    ///
70
    /// - `source_name`: Name of the source the filter is on.
71
    /// - `filter_name`: Name of the filter to remove.
72
1
    pub async fn remove_source_filter(&self, source_name: &str, filter_name: &str) -> Result<()> {
<obws::client::filters::Filters>::remove_source_filter
Line
Count
Source
72
1
    pub async fn remove_source_filter(&self, source_name: &str, filter_name: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::filters::Filters>::remove_source_filter
73
1
        self.client
74
1
            .send_message(RequestType::RemoveSourceFilter {
75
1
                source_name,
76
1
                filter_name,
77
2
            })
78
2
            .await
79
1
    }
<obws::client::filters::Filters>::remove_source_filter::{closure#0}
Line
Count
Source
73
1
        self.client
74
1
            .send_message(RequestType::RemoveSourceFilter {
75
1
                source_name,
76
1
                filter_name,
77
2
            })
78
2
            .await
79
1
    }
Unexecuted instantiation: <obws::client::filters::Filters>::remove_source_filter::{closure#0}
Unexecuted instantiation: <obws::client::filters::Filters>::remove_source_filter::{closure#0}
80
81
    /// Sets the name of a source filter (rename).
82
2
    pub async fn set_source_filter_name(&self, name: SetSourceFilterName<'_>) -> Result<()> {
<obws::client::filters::Filters>::set_source_filter_name
Line
Count
Source
82
2
    pub async fn set_source_filter_name(&self, name: SetSourceFilterName<'_>) -> Result<()> {
Unexecuted instantiation: <obws::client::filters::Filters>::set_source_filter_name
83
2
        self.client
84
4
            .send_message(RequestType::SetSourceFilterName(name))
85
4
            .await
86
2
    }
<obws::client::filters::Filters>::set_source_filter_name::{closure#0}
Line
Count
Source
83
2
        self.client
84
4
            .send_message(RequestType::SetSourceFilterName(name))
85
4
            .await
86
2
    }
Unexecuted instantiation: <obws::client::filters::Filters>::set_source_filter_name::{closure#0}
Unexecuted instantiation: <obws::client::filters::Filters>::set_source_filter_name::{closure#0}
87
88
    /// Gets the info for a specific source filter.
89
    ///
90
    /// - `source_name`: Name of the source.
91
    /// - `filter_name`: Name of the filter.
92
1
    pub async fn get_source_filter(
93
1
        &self,
94
1
        source_name: &str,
95
1
        filter_name: &str,
96
1
    ) -> Result<responses::SourceFilter> {
<obws::client::filters::Filters>::get_source_filter
Line
Count
Source
92
1
    pub async fn get_source_filter(
93
1
        &self,
94
1
        source_name: &str,
95
1
        filter_name: &str,
96
1
    ) -> Result<responses::SourceFilter> {
Unexecuted instantiation: <obws::client::filters::Filters>::get_source_filter
97
1
        self.client
98
1
            .send_message(RequestType::GetSourceFilter {
99
1
                source_name,
100
1
                filter_name,
101
2
            })
102
2
            .await
103
1
    }
<obws::client::filters::Filters>::get_source_filter::{closure#0}
Line
Count
Source
97
1
        self.client
98
1
            .send_message(RequestType::GetSourceFilter {
99
1
                source_name,
100
1
                filter_name,
101
2
            })
102
2
            .await
103
1
    }
Unexecuted instantiation: <obws::client::filters::Filters>::get_source_filter::{closure#0}
Unexecuted instantiation: <obws::client::filters::Filters>::get_source_filter::{closure#0}
104
105
    /// Sets the index position of a filter on a source.
106
1
    pub async fn set_source_filter_index(&self, index: SetSourceFilterIndex<'_>) -> Result<()> {
<obws::client::filters::Filters>::set_source_filter_index
Line
Count
Source
106
1
    pub async fn set_source_filter_index(&self, index: SetSourceFilterIndex<'_>) -> Result<()> {
Unexecuted instantiation: <obws::client::filters::Filters>::set_source_filter_index
107
1
        self.client
108
2
            .send_message(RequestType::SetSourceFilterIndex(index))
109
2
            .await
110
1
    }
<obws::client::filters::Filters>::set_source_filter_index::{closure#0}
Line
Count
Source
107
1
        self.client
108
2
            .send_message(RequestType::SetSourceFilterIndex(index))
109
2
            .await
110
1
    }
Unexecuted instantiation: <obws::client::filters::Filters>::set_source_filter_index::{closure#0}
Unexecuted instantiation: <obws::client::filters::Filters>::set_source_filter_index::{closure#0}
111
112
    /// Sets the settings of a source filter.
113
1
    pub async fn set_source_filter_settings<T>(
114
1
        &self,
115
1
        settings: SetSourceFilterSettings<'_, T>,
116
1
    ) -> Result<()>
117
1
    where
118
1
        T: Serialize,
119
1
    {
<obws::client::filters::Filters>::set_source_filter_settings::<serde_json::map::Map<alloc::string::String, serde_json::value::Value>>
Line
Count
Source
113
1
    pub async fn set_source_filter_settings<T>(
114
1
        &self,
115
1
        settings: SetSourceFilterSettings<'_, T>,
116
1
    ) -> Result<()>
117
1
    where
118
1
        T: Serialize,
119
1
    {
Unexecuted instantiation: <obws::client::filters::Filters>::set_source_filter_settings::<_>
Unexecuted instantiation: <obws::client::filters::Filters>::set_source_filter_settings::<_>
120
        self.client
121
            .send_message(RequestType::SetSourceFilterSettings(
122
                SetSourceFilterSettingsInternal {
123
1
                    source_name: settings.source_name,
124
1
                    filter_name: settings.filter_name,
125
1
                    filter_settings: serde_json::to_value(&settings.filter_settings)
126
1
                        .map_err(Error::SerializeCustomData)
?0
,
127
1
                    overlay: settings.overlay,
128
                },
129
2
            ))
130
2
            .await
131
1
    }
<obws::client::filters::Filters>::set_source_filter_settings::<serde_json::map::Map<alloc::string::String, serde_json::value::Value>>::{closure#0}
Line
Count
Source
123
1
                    source_name: settings.source_name,
124
1
                    filter_name: settings.filter_name,
125
1
                    filter_settings: serde_json::to_value(&settings.filter_settings)
126
1
                        .map_err(Error::SerializeCustomData)
?0
,
127
1
                    overlay: settings.overlay,
128
                },
129
2
            ))
130
2
            .await
131
1
    }
Unexecuted instantiation: <obws::client::filters::Filters>::set_source_filter_settings::<_>::{closure#0}
Unexecuted instantiation: <obws::client::filters::Filters>::set_source_filter_settings::<_>::{closure#0}
132
133
    /// Sets the enable state of a source filter.
134
2
    pub async fn set_source_filter_enabled(
135
2
        &self,
136
2
        enabled: SetSourceFilterEnabled<'_>,
137
2
    ) -> Result<()> {
<obws::client::filters::Filters>::set_source_filter_enabled
Line
Count
Source
134
2
    pub async fn set_source_filter_enabled(
135
2
        &self,
136
2
        enabled: SetSourceFilterEnabled<'_>,
137
2
    ) -> Result<()> {
Unexecuted instantiation: <obws::client::filters::Filters>::set_source_filter_enabled
138
2
        self.client
139
4
            .send_message(RequestType::SetSourceFilterEnabled(enabled))
140
4
            .await
141
2
    }
<obws::client::filters::Filters>::set_source_filter_enabled::{closure#0}
Line
Count
Source
138
2
        self.client
139
4
            .send_message(RequestType::SetSourceFilterEnabled(enabled))
140
4
            .await
141
2
    }
Unexecuted instantiation: <obws::client::filters::Filters>::set_source_filter_enabled::{closure#0}
Unexecuted instantiation: <obws::client::filters::Filters>::set_source_filter_enabled::{closure#0}
142
}
\ No newline at end of file +

Coverage Report

Created: 2022-07-04 16:17

src/client/filters.rs
Line
Count
Source (jump to first uncovered line)
1
use serde::{de::DeserializeOwned, Serialize};
2
3
use super::Client;
4
use crate::{
5
    requests::filters::{
6
        Create, CreateInternal, Request, SetEnabled, SetIndex, SetName, SetSettings,
7
        SetSettingsInternal,
8
    },
9
    responses::filters as responses,
10
    Error, Result,
11
};
12
13
/// API functions related to filters.
14
pub struct Filters<'a> {
15
    pub(super) client: &'a Client,
16
}
17
18
impl<'a> Filters<'a> {
19
    /// Gets an array of all of a source's filters.
20
19
    pub async fn list(&self, source: &str) -> Result<Vec<responses::SourceFilter>> {
<obws::client::filters::Filters>::list
Line
Count
Source
20
19
    pub async fn list(&self, source: &str) -> Result<Vec<responses::SourceFilter>> {
Unexecuted instantiation: <obws::client::filters::Filters>::list
21
19
        self.client
22
38
            .send_message::<_, responses::Filters>(Request::List { source })
23
38
            .await
24
19
            .map(|f| f.filters)
<obws::client::filters::Filters>::list::{closure#0}::{closure#0}
Line
Count
Source
24
19
            .map(|f| f.filters)
Unexecuted instantiation: <obws::client::filters::Filters>::list::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::filters::Filters>::list::{closure#0}::{closure#0}
25
19
    }
<obws::client::filters::Filters>::list::{closure#0}
Line
Count
Source
21
19
        self.client
22
38
            .send_message::<_, responses::Filters>(Request::List { source })
23
38
            .await
24
19
            .map(|f| f.filters)
25
19
    }
Unexecuted instantiation: <obws::client::filters::Filters>::list::{closure#0}
Unexecuted instantiation: <obws::client::filters::Filters>::list::{closure#0}
26
27
    /// Gets the default settings for a filter kind.
28
1
    pub async fn default_settings<T>(&self, kind: &str) -> Result<T>
29
1
    where
30
1
        T: DeserializeOwned,
31
1
    {
<obws::client::filters::Filters>::default_settings::<serde_json::value::Value>
Line
Count
Source
28
1
    pub async fn default_settings<T>(&self, kind: &str) -> Result<T>
29
1
    where
30
1
        T: DeserializeOwned,
31
1
    {
Unexecuted instantiation: <obws::client::filters::Filters>::default_settings::<_>
Unexecuted instantiation: <obws::client::filters::Filters>::default_settings::<_>
32
1
        self.client
33
1
            .send_message::<_, responses::DefaultFilterSettings<T>>(Request::DefaultSettings {
34
1
                kind,
35
2
            })
36
2
            .await
37
1
            .map(|dfs| dfs.default_filter_settings)
<obws::client::filters::Filters>::default_settings::<serde_json::value::Value>::{closure#0}::{closure#0}
Line
Count
Source
37
1
            .map(|dfs| dfs.default_filter_settings)
Unexecuted instantiation: <obws::client::filters::Filters>::default_settings::<_>::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::filters::Filters>::default_settings::<_>::{closure#0}::{closure#0}
38
1
    }
<obws::client::filters::Filters>::default_settings::<serde_json::value::Value>::{closure#0}
Line
Count
Source
32
1
        self.client
33
1
            .send_message::<_, responses::DefaultFilterSettings<T>>(Request::DefaultSettings {
34
1
                kind,
35
2
            })
36
2
            .await
37
1
            .map(|dfs| dfs.default_filter_settings)
38
1
    }
Unexecuted instantiation: <obws::client::filters::Filters>::default_settings::<_>::{closure#0}
Unexecuted instantiation: <obws::client::filters::Filters>::default_settings::<_>::{closure#0}
39
40
    /// Creates a new filter, adding it to the specified source.
41
1
    pub async fn create<T>(&self, filter: Create<'_, T>) -> Result<()>
42
1
    where
43
1
        T: Serialize,
44
1
    {
<obws::client::filters::Filters>::create::<serde_json::map::Map<alloc::string::String, serde_json::value::Value>>
Line
Count
Source
41
1
    pub async fn create<T>(&self, filter: Create<'_, T>) -> Result<()>
42
1
    where
43
1
        T: Serialize,
44
1
    {
Unexecuted instantiation: <obws::client::filters::Filters>::create::<_>
Unexecuted instantiation: <obws::client::filters::Filters>::create::<_>
45
        self.client
46
            .send_message(Request::Create(CreateInternal {
47
1
                source: filter.source,
48
1
                filter: filter.filter,
49
1
                kind: filter.kind,
50
1
                settings: filter
51
1
                    .settings
52
1
                    .map(|settings| serde_json::to_value(&settings))
<obws::client::filters::Filters>::create::<serde_json::map::Map<alloc::string::String, serde_json::value::Value>>::{closure#0}::{closure#0}
Line
Count
Source
52
1
                    .map(|settings| serde_json::to_value(&settings))
Unexecuted instantiation: <obws::client::filters::Filters>::create::<_>::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::filters::Filters>::create::<_>::{closure#0}::{closure#0}
53
1
                    .transpose()
54
1
                    .map_err(Error::SerializeCustomData)
?0
,
55
2
            }))
56
2
            .await
57
1
    }
<obws::client::filters::Filters>::create::<serde_json::map::Map<alloc::string::String, serde_json::value::Value>>::{closure#0}
Line
Count
Source
47
1
                source: filter.source,
48
1
                filter: filter.filter,
49
1
                kind: filter.kind,
50
1
                settings: filter
51
1
                    .settings
52
1
                    .map(|settings| serde_json::to_value(&settings))
53
1
                    .transpose()
54
1
                    .map_err(Error::SerializeCustomData)
?0
,
55
2
            }))
56
2
            .await
57
1
    }
Unexecuted instantiation: <obws::client::filters::Filters>::create::<_>::{closure#0}
Unexecuted instantiation: <obws::client::filters::Filters>::create::<_>::{closure#0}
58
59
    /// Removes a filter from a source.
60
1
    pub async fn remove(&self, source: &str, filter: &str) -> Result<()> {
<obws::client::filters::Filters>::remove
Line
Count
Source
60
1
    pub async fn remove(&self, source: &str, filter: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::filters::Filters>::remove
61
1
        self.client
62
2
            .send_message(Request::Remove { source, filter })
63
2
            .await
64
1
    }
<obws::client::filters::Filters>::remove::{closure#0}
Line
Count
Source
61
1
        self.client
62
2
            .send_message(Request::Remove { source, filter })
63
2
            .await
64
1
    }
Unexecuted instantiation: <obws::client::filters::Filters>::remove::{closure#0}
Unexecuted instantiation: <obws::client::filters::Filters>::remove::{closure#0}
65
66
    /// Sets the name of a source filter (rename).
67
2
    pub async fn set_name(&self, name: SetName<'_>) -> Result<()> {
<obws::client::filters::Filters>::set_name
Line
Count
Source
67
2
    pub async fn set_name(&self, name: SetName<'_>) -> Result<()> {
Unexecuted instantiation: <obws::client::filters::Filters>::set_name
68
4
        
self.client.send_message(Request::SetName(name))2
.await
69
2
    }
<obws::client::filters::Filters>::set_name::{closure#0}
Line
Count
Source
68
4
        
self.client.send_message(Request::SetName(name))2
.await
69
2
    }
Unexecuted instantiation: <obws::client::filters::Filters>::set_name::{closure#0}
Unexecuted instantiation: <obws::client::filters::Filters>::set_name::{closure#0}
70
71
    /// Gets the info for a specific source filter.
72
1
    pub async fn get(&self, source: &str, filter: &str) -> Result<responses::SourceFilter> {
<obws::client::filters::Filters>::get
Line
Count
Source
72
1
    pub async fn get(&self, source: &str, filter: &str) -> Result<responses::SourceFilter> {
Unexecuted instantiation: <obws::client::filters::Filters>::get
73
1
        self.client
74
2
            .send_message(Request::Get { source, filter })
75
2
            .await
76
1
    }
<obws::client::filters::Filters>::get::{closure#0}
Line
Count
Source
73
1
        self.client
74
2
            .send_message(Request::Get { source, filter })
75
2
            .await
76
1
    }
Unexecuted instantiation: <obws::client::filters::Filters>::get::{closure#0}
Unexecuted instantiation: <obws::client::filters::Filters>::get::{closure#0}
77
78
    /// Sets the index position of a filter on a source.
79
1
    pub async fn set_index(&self, index: SetIndex<'_>) -> Result<()> {
<obws::client::filters::Filters>::set_index
Line
Count
Source
79
1
    pub async fn set_index(&self, index: SetIndex<'_>) -> Result<()> {
Unexecuted instantiation: <obws::client::filters::Filters>::set_index
80
2
        
self.client.send_message(Request::SetIndex(index))1
.await
81
1
    }
<obws::client::filters::Filters>::set_index::{closure#0}
Line
Count
Source
80
2
        
self.client.send_message(Request::SetIndex(index))1
.await
81
1
    }
Unexecuted instantiation: <obws::client::filters::Filters>::set_index::{closure#0}
Unexecuted instantiation: <obws::client::filters::Filters>::set_index::{closure#0}
82
83
    /// Sets the settings of a source filter.
84
1
    pub async fn set_settings<T>(&self, settings: SetSettings<'_, T>) -> Result<()>
85
1
    where
86
1
        T: Serialize,
87
1
    {
<obws::client::filters::Filters>::set_settings::<serde_json::map::Map<alloc::string::String, serde_json::value::Value>>
Line
Count
Source
84
1
    pub async fn set_settings<T>(&self, settings: SetSettings<'_, T>) -> Result<()>
85
1
    where
86
1
        T: Serialize,
87
1
    {
Unexecuted instantiation: <obws::client::filters::Filters>::set_settings::<_>
Unexecuted instantiation: <obws::client::filters::Filters>::set_settings::<_>
88
        self.client
89
            .send_message(Request::SetSettings(SetSettingsInternal {
90
1
                source: settings.source,
91
1
                filter: settings.filter,
92
1
                settings: serde_json::to_value(&settings.settings)
93
1
                    .map_err(Error::SerializeCustomData)
?0
,
94
1
                overlay: settings.overlay,
95
2
            }))
96
2
            .await
97
1
    }
<obws::client::filters::Filters>::set_settings::<serde_json::map::Map<alloc::string::String, serde_json::value::Value>>::{closure#0}
Line
Count
Source
90
1
                source: settings.source,
91
1
                filter: settings.filter,
92
1
                settings: serde_json::to_value(&settings.settings)
93
1
                    .map_err(Error::SerializeCustomData)
?0
,
94
1
                overlay: settings.overlay,
95
2
            }))
96
2
            .await
97
1
    }
Unexecuted instantiation: <obws::client::filters::Filters>::set_settings::<_>::{closure#0}
Unexecuted instantiation: <obws::client::filters::Filters>::set_settings::<_>::{closure#0}
98
99
    /// Sets the enable state of a source filter.
100
2
    pub async fn set_enabled(&self, enabled: SetEnabled<'_>) -> Result<()> {
<obws::client::filters::Filters>::set_enabled
Line
Count
Source
100
2
    pub async fn set_enabled(&self, enabled: SetEnabled<'_>) -> Result<()> {
Unexecuted instantiation: <obws::client::filters::Filters>::set_enabled
101
4
        
self.client.send_message(Request::SetEnabled(enabled))2
.await
102
2
    }
<obws::client::filters::Filters>::set_enabled::{closure#0}
Line
Count
Source
101
4
        
self.client.send_message(Request::SetEnabled(enabled))2
.await
102
2
    }
Unexecuted instantiation: <obws::client::filters::Filters>::set_enabled::{closure#0}
Unexecuted instantiation: <obws::client::filters::Filters>::set_enabled::{closure#0}
103
}
\ No newline at end of file diff --git a/coverage/src/client/general.rs.html b/coverage/src/client/general.rs.html index a9abe2c..bedb98d 100644 --- a/coverage/src/client/general.rs.html +++ b/coverage/src/client/general.rs.html @@ -1 +1 @@ -

Coverage Report

Created: 2022-05-25 22:28

src/client/general.rs
Line
Count
Source (jump to first uncovered line)
1
use serde::{de::DeserializeOwned, Serialize};
2
3
use super::Client;
4
use crate::{
5
    requests::{CallVendorRequest, CallVendorRequestInternal, KeyModifiers, RequestType},
6
    responses, Error, Result,
7
};
8
9
/// General functions of the API.
10
pub struct General<'a> {
11
    pub(super) client: &'a Client,
12
}
13
14
impl<'a> General<'a> {
15
    /// Gets data about the current plugin and RPC version.
16
14
    pub async fn get_version(&self) -> Result<responses::Version> {
<obws::client::general::General>::get_version
Line
Count
Source
16
14
    pub async fn get_version(&self) -> Result<responses::Version> {
Unexecuted instantiation: <obws::client::general::General>::get_version
17
28
        
self.client.send_message(RequestType::GetVersion)14
.await
18
14
    }
<obws::client::general::General>::get_version::{closure#0}
Line
Count
Source
17
28
        
self.client.send_message(RequestType::GetVersion)14
.await
18
14
    }
Unexecuted instantiation: <obws::client::general::General>::get_version::{closure#0}
Unexecuted instantiation: <obws::client::general::General>::get_version::{closure#0}
19
20
    /// Gets statistics about OBS, obs-websocket, and the current session.
21
1
    pub async fn get_stats(&self) -> Result<responses::Stats> {
<obws::client::general::General>::get_stats
Line
Count
Source
21
1
    pub async fn get_stats(&self) -> Result<responses::Stats> {
Unexecuted instantiation: <obws::client::general::General>::get_stats
22
2
        
self.client.send_message(RequestType::GetStats)1
.await
23
1
    }
<obws::client::general::General>::get_stats::{closure#0}
Line
Count
Source
22
2
        
self.client.send_message(RequestType::GetStats)1
.await
23
1
    }
Unexecuted instantiation: <obws::client::general::General>::get_stats::{closure#0}
Unexecuted instantiation: <obws::client::general::General>::get_stats::{closure#0}
24
25
    /// Broadcasts a custom event to all web-socket clients. Receivers are clients which are
26
    /// identified and subscribed.
27
    ///
28
    /// - `event_data`: Data payload to emit to all receivers.
29
1
    pub async fn broadcast_custom_event<T>(&self, event_data: &T) -> Result<()>
30
1
    where
31
1
        T: Serialize,
32
1
    {
<obws::client::general::General>::broadcast_custom_event::<integration::general::CustomEvent>
Line
Count
Source
29
1
    pub async fn broadcast_custom_event<T>(&self, event_data: &T) -> Result<()>
30
1
    where
31
1
        T: Serialize,
32
1
    {
Unexecuted instantiation: <obws::client::general::General>::broadcast_custom_event::<_>
Unexecuted instantiation: <obws::client::general::General>::broadcast_custom_event::<_>
33
1
        let event_data = serde_json::to_value(event_data).map_err(Error::SerializeCustomData)
?0
;
34
1
        if !event_data.is_object() {
35
0
            return Err(Error::InvalidCustomData);
36
1
        }
37
1
38
1
        self.client
39
2
            .send_message(RequestType::BroadcastCustomEvent { event_data })
40
2
            .await
41
1
    }
<obws::client::general::General>::broadcast_custom_event::<integration::general::CustomEvent>::{closure#0}
Line
Count
Source
33
1
        let event_data = serde_json::to_value(event_data).map_err(Error::SerializeCustomData)
?0
;
34
1
        if !event_data.is_object() {
35
0
            return Err(Error::InvalidCustomData);
36
1
        }
37
1
38
1
        self.client
39
2
            .send_message(RequestType::BroadcastCustomEvent { event_data })
40
2
            .await
41
1
    }
Unexecuted instantiation: <obws::client::general::General>::broadcast_custom_event::<_>::{closure#0}
Unexecuted instantiation: <obws::client::general::General>::broadcast_custom_event::<_>::{closure#0}
42
43
    /// Call a request registered to a vendor.
44
45
    /// A vendor is a unique name registered by a third-party plugin or script, which allows for
46
    /// custom requests and events to be added to obs-websocket. If a plugin or script implements
47
    /// vendor requests or events, documentation is expected to be provided with them.
48
0
    pub async fn call_vendor_request<T, R>(&self, request: CallVendorRequest<'_, T>) -> Result<R>
49
0
    where
50
0
        T: Serialize,
51
0
        R: DeserializeOwned,
52
0
    {
Unexecuted instantiation: <obws::client::general::General>::call_vendor_request::<_, _>
Unexecuted instantiation: <obws::client::general::General>::call_vendor_request::<_, _>
53
        self.client
54
            .send_message::<responses::CallVendorResponse<R>>(RequestType::CallVendorRequest(
55
                CallVendorRequestInternal {
56
0
                    vendor_name: request.vendor_name,
57
0
                    request_type: request.request_type,
58
0
                    request_data: serde_json::to_value(&request.request_data)
59
0
                        .map_err(Error::SerializeCustomData)?,
60
                },
61
0
            ))
62
0
            .await
63
0
            .map(|cvr| cvr.response_data)
Unexecuted instantiation: <obws::client::general::General>::call_vendor_request::<_, _>::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::general::General>::call_vendor_request::<_, _>::{closure#0}::{closure#0}
64
0
    }
Unexecuted instantiation: <obws::client::general::General>::call_vendor_request::<_, _>::{closure#0}
Unexecuted instantiation: <obws::client::general::General>::call_vendor_request::<_, _>::{closure#0}
65
66
    /// Gets an array of all hotkey names in OBS.
67
1
    pub async fn get_hotkey_list(&self) -> Result<Vec<String>> {
<obws::client::general::General>::get_hotkey_list
Line
Count
Source
67
1
    pub async fn get_hotkey_list(&self) -> Result<Vec<String>> {
Unexecuted instantiation: <obws::client::general::General>::get_hotkey_list
68
1
        self.client
69
2
            .send_message::<responses::Hotkeys>(RequestType::GetHotkeyList)
70
2
            .await
71
1
            .map(|h| h.hotkeys)
<obws::client::general::General>::get_hotkey_list::{closure#0}::{closure#0}
Line
Count
Source
71
1
            .map(|h| h.hotkeys)
Unexecuted instantiation: <obws::client::general::General>::get_hotkey_list::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::general::General>::get_hotkey_list::{closure#0}::{closure#0}
72
1
    }
<obws::client::general::General>::get_hotkey_list::{closure#0}
Line
Count
Source
68
1
        self.client
69
2
            .send_message::<responses::Hotkeys>(RequestType::GetHotkeyList)
70
2
            .await
71
1
            .map(|h| h.hotkeys)
72
1
    }
Unexecuted instantiation: <obws::client::general::General>::get_hotkey_list::{closure#0}
Unexecuted instantiation: <obws::client::general::General>::get_hotkey_list::{closure#0}
73
74
    /// Triggers a hotkey using its name. See [`General::get_hotkey_list`].
75
    ///
76
    /// - `hotkey_name`: Name of the hotkey to trigger.
77
1
    pub async fn trigger_hotkey_by_name(&self, hotkey_name: &str) -> Result<()> {
<obws::client::general::General>::trigger_hotkey_by_name
Line
Count
Source
77
1
    pub async fn trigger_hotkey_by_name(&self, hotkey_name: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::general::General>::trigger_hotkey_by_name
78
1
        self.client
79
2
            .send_message(RequestType::TriggerHotkeyByName { hotkey_name })
80
2
            .await
81
1
    }
<obws::client::general::General>::trigger_hotkey_by_name::{closure#0}
Line
Count
Source
78
1
        self.client
79
2
            .send_message(RequestType::TriggerHotkeyByName { hotkey_name })
80
2
            .await
81
1
    }
Unexecuted instantiation: <obws::client::general::General>::trigger_hotkey_by_name::{closure#0}
Unexecuted instantiation: <obws::client::general::General>::trigger_hotkey_by_name::{closure#0}
82
83
    /// Triggers a hotkey using a sequence of keys.
84
    ///
85
    /// - `key_id`: The OBS key ID to use. See
86
    ///   <https://github.com/obsproject/obs-studio/blob/master/libobs/obs-hotkeys.h>.
87
    /// -  `key_modifiers`: Object containing key modifiers to apply.
88
1
    pub async fn trigger_hotkey_by_key_sequence(
89
1
        &self,
90
1
        key_id: &str,
91
1
        key_modifiers: KeyModifiers,
92
1
    ) -> Result<()> {
<obws::client::general::General>::trigger_hotkey_by_key_sequence
Line
Count
Source
88
1
    pub async fn trigger_hotkey_by_key_sequence(
89
1
        &self,
90
1
        key_id: &str,
91
1
        key_modifiers: KeyModifiers,
92
1
    ) -> Result<()> {
Unexecuted instantiation: <obws::client::general::General>::trigger_hotkey_by_key_sequence
93
1
        self.client
94
1
            .send_message(RequestType::TriggerHotkeyByKeySequence {
95
1
                key_id,
96
1
                key_modifiers,
97
2
            })
98
2
            .await
99
1
    }
<obws::client::general::General>::trigger_hotkey_by_key_sequence::{closure#0}
Line
Count
Source
93
1
        self.client
94
1
            .send_message(RequestType::TriggerHotkeyByKeySequence {
95
1
                key_id,
96
1
                key_modifiers,
97
2
            })
98
2
            .await
99
1
    }
Unexecuted instantiation: <obws::client::general::General>::trigger_hotkey_by_key_sequence::{closure#0}
Unexecuted instantiation: <obws::client::general::General>::trigger_hotkey_by_key_sequence::{closure#0}
100
}
\ No newline at end of file +

Coverage Report

Created: 2022-07-04 16:17

src/client/general.rs
Line
Count
Source (jump to first uncovered line)
1
use serde::{de::DeserializeOwned, Serialize};
2
3
use super::Client;
4
use crate::{
5
    requests::general::{CallVendorRequest, CallVendorRequestInternal, Request},
6
    responses::general as responses,
7
    Error, Result,
8
};
9
10
/// General functions of the API.
11
pub struct General<'a> {
12
    pub(super) client: &'a Client,
13
}
14
15
impl<'a> General<'a> {
16
    /// Gets data about the current plugin and RPC version.
17
19
    pub async fn version(&self) -> Result<responses::Version> {
<obws::client::general::General>::version
Line
Count
Source
17
19
    pub async fn version(&self) -> Result<responses::Version> {
Unexecuted instantiation: <obws::client::general::General>::version
18
38
        
self.client.send_message(Request::Version)19
.await
19
19
    }
<obws::client::general::General>::version::{closure#0}
Line
Count
Source
18
38
        
self.client.send_message(Request::Version)19
.await
19
19
    }
Unexecuted instantiation: <obws::client::general::General>::version::{closure#0}
Unexecuted instantiation: <obws::client::general::General>::version::{closure#0}
20
21
    /// Gets statistics about OBS, obs-websocket, and the current session.
22
1
    pub async fn stats(&self) -> Result<responses::Stats> {
<obws::client::general::General>::stats
Line
Count
Source
22
1
    pub async fn stats(&self) -> Result<responses::Stats> {
Unexecuted instantiation: <obws::client::general::General>::stats
23
2
        
self.client.send_message(Request::Stats)1
.await
24
1
    }
<obws::client::general::General>::stats::{closure#0}
Line
Count
Source
23
2
        
self.client.send_message(Request::Stats)1
.await
24
1
    }
Unexecuted instantiation: <obws::client::general::General>::stats::{closure#0}
Unexecuted instantiation: <obws::client::general::General>::stats::{closure#0}
25
26
    /// Broadcasts a custom event to all web-socket clients. Receivers are clients which are
27
    /// identified and subscribed.
28
1
    pub async fn broadcast_custom_event<T>(&self, event_data: &T) -> Result<()>
29
1
    where
30
1
        T: Serialize,
31
1
    {
<obws::client::general::General>::broadcast_custom_event::<integration::general::CustomEvent>
Line
Count
Source
28
1
    pub async fn broadcast_custom_event<T>(&self, event_data: &T) -> Result<()>
29
1
    where
30
1
        T: Serialize,
31
1
    {
Unexecuted instantiation: <obws::client::general::General>::broadcast_custom_event::<_>
Unexecuted instantiation: <obws::client::general::General>::broadcast_custom_event::<_>
32
1
        let event_data = serde_json::to_value(event_data).map_err(Error::SerializeCustomData)
?0
;
33
1
        if !event_data.is_object() {
34
0
            return Err(Error::InvalidCustomData);
35
1
        }
36
1
37
1
        self.client
38
2
            .send_message(Request::BroadcastCustomEvent { event_data })
39
2
            .await
40
1
    }
<obws::client::general::General>::broadcast_custom_event::<integration::general::CustomEvent>::{closure#0}
Line
Count
Source
32
1
        let event_data = serde_json::to_value(event_data).map_err(Error::SerializeCustomData)
?0
;
33
1
        if !event_data.is_object() {
34
0
            return Err(Error::InvalidCustomData);
35
1
        }
36
1
37
1
        self.client
38
2
            .send_message(Request::BroadcastCustomEvent { event_data })
39
2
            .await
40
1
    }
Unexecuted instantiation: <obws::client::general::General>::broadcast_custom_event::<_>::{closure#0}
Unexecuted instantiation: <obws::client::general::General>::broadcast_custom_event::<_>::{closure#0}
41
42
    /// Call a request registered to a vendor.
43
    ///
44
    /// A vendor is a unique name registered by a third-party plugin or script, which allows for
45
    /// custom requests and events to be added to obs-websocket. If a plugin or script implements
46
    /// vendor requests or events, documentation is expected to be provided with them.
47
0
    pub async fn call_vendor_request<T, R>(
48
0
        &self,
49
0
        request: CallVendorRequest<'_, T>,
50
0
    ) -> Result<responses::VendorResponse<R>>
51
0
    where
52
0
        T: Serialize,
53
0
        R: DeserializeOwned,
54
0
    {
Unexecuted instantiation: <obws::client::general::General>::call_vendor_request::<_, _>
Unexecuted instantiation: <obws::client::general::General>::call_vendor_request::<_, _>
55
        self.client
56
            .send_message(Request::CallVendorRequest(CallVendorRequestInternal {
57
0
                vendor_name: request.vendor_name,
58
0
                request_type: request.request_type,
59
0
                request_data: serde_json::to_value(&request.request_data)
60
0
                    .map_err(Error::SerializeCustomData)?,
61
0
            }))
62
0
            .await
63
0
    }
Unexecuted instantiation: <obws::client::general::General>::call_vendor_request::<_, _>::{closure#0}
Unexecuted instantiation: <obws::client::general::General>::call_vendor_request::<_, _>::{closure#0}
64
}
\ No newline at end of file diff --git a/coverage/src/client/hotkeys.rs.html b/coverage/src/client/hotkeys.rs.html new file mode 100644 index 0000000..d2426c5 --- /dev/null +++ b/coverage/src/client/hotkeys.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/client/hotkeys.rs
Line
Count
Source
1
use super::Client;
2
use crate::{
3
    requests::hotkeys::{KeyModifiers, Request},
4
    responses::hotkeys as responses,
5
    Result,
6
};
7
8
/// API functions related to hotkeys.
9
pub struct Hotkeys<'a> {
10
    pub(super) client: &'a Client,
11
}
12
13
impl<'a> Hotkeys<'a> {
14
    /// Gets an array of all hotkey names in OBS.
15
1
    pub async fn list(&self) -> Result<Vec<String>> {
<obws::client::hotkeys::Hotkeys>::list
Line
Count
Source
15
1
    pub async fn list(&self) -> Result<Vec<String>> {
Unexecuted instantiation: <obws::client::hotkeys::Hotkeys>::list
16
1
        self.client
17
2
            .send_message::<_, responses::Hotkeys>(Request::List)
18
2
            .await
19
1
            .map(|h| h.hotkeys)
<obws::client::hotkeys::Hotkeys>::list::{closure#0}::{closure#0}
Line
Count
Source
19
1
            .map(|h| h.hotkeys)
Unexecuted instantiation: <obws::client::hotkeys::Hotkeys>::list::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::hotkeys::Hotkeys>::list::{closure#0}::{closure#0}
20
1
    }
<obws::client::hotkeys::Hotkeys>::list::{closure#0}
Line
Count
Source
16
1
        self.client
17
2
            .send_message::<_, responses::Hotkeys>(Request::List)
18
2
            .await
19
1
            .map(|h| h.hotkeys)
20
1
    }
Unexecuted instantiation: <obws::client::hotkeys::Hotkeys>::list::{closure#0}
Unexecuted instantiation: <obws::client::hotkeys::Hotkeys>::list::{closure#0}
21
22
    /// Triggers a hotkey using its name. See [`Self::list`].
23
1
    pub async fn trigger_by_name(&self, name: &str) -> Result<()> {
<obws::client::hotkeys::Hotkeys>::trigger_by_name
Line
Count
Source
23
1
    pub async fn trigger_by_name(&self, name: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::hotkeys::Hotkeys>::trigger_by_name
24
1
        self.client
25
2
            .send_message(Request::TriggerByName { name })
26
2
            .await
27
1
    }
<obws::client::hotkeys::Hotkeys>::trigger_by_name::{closure#0}
Line
Count
Source
24
1
        self.client
25
2
            .send_message(Request::TriggerByName { name })
26
2
            .await
27
1
    }
Unexecuted instantiation: <obws::client::hotkeys::Hotkeys>::trigger_by_name::{closure#0}
Unexecuted instantiation: <obws::client::hotkeys::Hotkeys>::trigger_by_name::{closure#0}
28
29
    /// Triggers a hotkey using a sequence of keys.
30
1
    pub async fn trigger_by_sequence(&self, id: &str, modifiers: KeyModifiers) -> Result<()> {
<obws::client::hotkeys::Hotkeys>::trigger_by_sequence
Line
Count
Source
30
1
    pub async fn trigger_by_sequence(&self, id: &str, modifiers: KeyModifiers) -> Result<()> {
Unexecuted instantiation: <obws::client::hotkeys::Hotkeys>::trigger_by_sequence
31
1
        self.client
32
2
            .send_message(Request::TriggerBySequence { id, modifiers })
33
2
            .await
34
1
    }
<obws::client::hotkeys::Hotkeys>::trigger_by_sequence::{closure#0}
Line
Count
Source
31
1
        self.client
32
2
            .send_message(Request::TriggerBySequence { id, modifiers })
33
2
            .await
34
1
    }
Unexecuted instantiation: <obws::client::hotkeys::Hotkeys>::trigger_by_sequence::{closure#0}
Unexecuted instantiation: <obws::client::hotkeys::Hotkeys>::trigger_by_sequence::{closure#0}
35
}
\ No newline at end of file diff --git a/coverage/src/client/inputs.rs.html b/coverage/src/client/inputs.rs.html index b643584..c8a9e5a 100644 --- a/coverage/src/client/inputs.rs.html +++ b/coverage/src/client/inputs.rs.html @@ -1 +1 @@ -

Coverage Report

Created: 2022-05-25 22:28

src/client/inputs.rs
Line
Count
Source (jump to first uncovered line)
1
use serde::{de::DeserializeOwned, Serialize};
2
use time::Duration;
3
4
use super::Client;
5
use crate::{
6
    common::MonitorType,
7
    requests::{
8
        CreateInput, CreateInputInternal, RequestType, SetInputSettings, SetInputSettingsInternal,
9
        Volume,
10
    },
11
    responses, Error, Result,
12
};
13
14
/// API functions related to inputs.
15
pub struct Inputs<'a> {
16
    pub(super) client: &'a Client,
17
}
18
19
impl<'a> Inputs<'a> {
20
    /// Gets an array of all inputs in OBS.
21
    ///
22
    /// - `input_kind`: Restrict the array to only inputs of the specified kind.
23
14
    pub async fn get_input_list(&self, input_kind: Option<&str>) -> Result<Vec<responses::Input>> {
<obws::client::inputs::Inputs>::get_input_list
Line
Count
Source
23
14
    pub async fn get_input_list(&self, input_kind: Option<&str>) -> Result<Vec<responses::Input>> {
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_list
24
14
        self.client
25
28
            .send_message::<responses::Inputs>(RequestType::GetInputList { input_kind })
26
28
            .await
27
14
            .map(|i| i.inputs)
<obws::client::inputs::Inputs>::get_input_list::{closure#0}::{closure#0}
Line
Count
Source
27
14
            .map(|i| i.inputs)
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_list::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_list::{closure#0}::{closure#0}
28
14
    }
<obws::client::inputs::Inputs>::get_input_list::{closure#0}
Line
Count
Source
24
14
        self.client
25
28
            .send_message::<responses::Inputs>(RequestType::GetInputList { input_kind })
26
28
            .await
27
14
            .map(|i| i.inputs)
28
14
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_list::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_list::{closure#0}
29
30
    /// Gets an array of all available input kinds in OBS.
31
    ///
32
    /// - `unversioned`: Return all kinds as unversioned or with version suffixes (if available).
33
1
    pub async fn get_input_kind_list(&self, unversioned: bool) -> Result<Vec<String>> {
<obws::client::inputs::Inputs>::get_input_kind_list
Line
Count
Source
33
1
    pub async fn get_input_kind_list(&self, unversioned: bool) -> Result<Vec<String>> {
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_kind_list
34
1
        self.client
35
2
            .send_message::<responses::InputKinds>(RequestType::GetInputKindList { unversioned })
36
2
            .await
37
1
            .map(|ik| ik.input_kinds)
<obws::client::inputs::Inputs>::get_input_kind_list::{closure#0}::{closure#0}
Line
Count
Source
37
1
            .map(|ik| ik.input_kinds)
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_kind_list::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_kind_list::{closure#0}::{closure#0}
38
1
    }
<obws::client::inputs::Inputs>::get_input_kind_list::{closure#0}
Line
Count
Source
34
1
        self.client
35
2
            .send_message::<responses::InputKinds>(RequestType::GetInputKindList { unversioned })
36
2
            .await
37
1
            .map(|ik| ik.input_kinds)
38
1
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_kind_list::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_kind_list::{closure#0}
39
40
    /// Gets the default settings for an input kind.
41
    ///
42
    /// - `input_kind`: Input kind to get the default settings for.
43
1
    pub async fn get_input_default_settings<T>(&self, input_kind: &str) -> Result<T>
44
1
    where
45
1
        T: DeserializeOwned,
46
1
    {
<obws::client::inputs::Inputs>::get_input_default_settings::<serde_json::value::Value>
Line
Count
Source
43
1
    pub async fn get_input_default_settings<T>(&self, input_kind: &str) -> Result<T>
44
1
    where
45
1
        T: DeserializeOwned,
46
1
    {
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_default_settings::<_>
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_default_settings::<_>
47
1
        self.client
48
1
            .send_message::<responses::DefaultInputSettings<T>>(
49
1
                RequestType::GetInputDefaultSettings { input_kind },
50
2
            )
51
2
            .await
52
1
            .map(|dis| dis.default_input_settings)
<obws::client::inputs::Inputs>::get_input_default_settings::<serde_json::value::Value>::{closure#0}::{closure#0}
Line
Count
Source
52
1
            .map(|dis| dis.default_input_settings)
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_default_settings::<_>::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_default_settings::<_>::{closure#0}::{closure#0}
53
1
    }
<obws::client::inputs::Inputs>::get_input_default_settings::<serde_json::value::Value>::{closure#0}
Line
Count
Source
47
1
        self.client
48
1
            .send_message::<responses::DefaultInputSettings<T>>(
49
1
                RequestType::GetInputDefaultSettings { input_kind },
50
2
            )
51
2
            .await
52
1
            .map(|dis| dis.default_input_settings)
53
1
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_default_settings::<_>::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_default_settings::<_>::{closure#0}
54
55
    /// Gets the settings of an input.
56
    ///
57
    /// **Note:** Does not include defaults. To create the entire settings object, overlay input
58
    /// settings over the default input settings provided by [`get_input_default_settings`].
59
    ///
60
    /// - `input_name`: Name of the input to get the settings of.
61
    ///
62
    /// [`get_input_default_settings`]: Inputs::get_input_default_settings
63
1
    pub async fn get_input_settings<T>(
64
1
        &self,
65
1
        input_name: &str,
66
1
    ) -> Result<responses::InputSettings<T>>
67
1
    where
68
1
        T: DeserializeOwned,
69
1
    {
<obws::client::inputs::Inputs>::get_input_settings::<serde_json::value::Value>
Line
Count
Source
63
1
    pub async fn get_input_settings<T>(
64
1
        &self,
65
1
        input_name: &str,
66
1
    ) -> Result<responses::InputSettings<T>>
67
1
    where
68
1
        T: DeserializeOwned,
69
1
    {
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_settings::<_>
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_settings::<_>
70
1
        self.client
71
2
            .send_message(RequestType::GetInputSettings { input_name })
72
2
            .await
73
1
    }
<obws::client::inputs::Inputs>::get_input_settings::<serde_json::value::Value>::{closure#0}
Line
Count
Source
70
1
        self.client
71
2
            .send_message(RequestType::GetInputSettings { input_name })
72
2
            .await
73
1
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_settings::<_>::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_settings::<_>::{closure#0}
74
75
    /// Sets the settings of an input.
76
1
    pub async fn set_input_settings<T>(&self, settings: SetInputSettings<'_, T>) -> Result<()>
77
1
    where
78
1
        T: Serialize,
79
1
    {
<obws::client::inputs::Inputs>::set_input_settings::<serde_json::value::Value>
Line
Count
Source
76
1
    pub async fn set_input_settings<T>(&self, settings: SetInputSettings<'_, T>) -> Result<()>
77
1
    where
78
1
        T: Serialize,
79
1
    {
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_input_settings::<_>
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_input_settings::<_>
80
        self.client
81
            .send_message(RequestType::SetInputSettings(SetInputSettingsInternal {
82
1
                input_name: settings.input_name,
83
1
                input_settings: serde_json::to_value(&settings.input_settings)
84
1
                    .map_err(Error::SerializeCustomData)
?0
,
85
1
                overlay: settings.overlay,
86
2
            }))
87
2
            .await
88
1
    }
<obws::client::inputs::Inputs>::set_input_settings::<serde_json::value::Value>::{closure#0}
Line
Count
Source
82
1
                input_name: settings.input_name,
83
1
                input_settings: serde_json::to_value(&settings.input_settings)
84
1
                    .map_err(Error::SerializeCustomData)
?0
,
85
1
                overlay: settings.overlay,
86
2
            }))
87
2
            .await
88
1
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_input_settings::<_>::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_input_settings::<_>::{closure#0}
89
90
    /// Gets the audio mute state of an input.
91
    ///
92
    /// - `input_name`: Name of input to get the mute state of.
93
1
    pub async fn get_input_mute(&self, input_name: &str) -> Result<bool> {
<obws::client::inputs::Inputs>::get_input_mute
Line
Count
Source
93
1
    pub async fn get_input_mute(&self, input_name: &str) -> Result<bool> {
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_mute
94
1
        self.client
95
2
            .send_message::<responses::InputMuted>(RequestType::GetInputMute { input_name })
96
2
            .await
97
1
            .map(|im| im.input_muted)
<obws::client::inputs::Inputs>::get_input_mute::{closure#0}::{closure#0}
Line
Count
Source
97
1
            .map(|im| im.input_muted)
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_mute::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_mute::{closure#0}::{closure#0}
98
1
    }
<obws::client::inputs::Inputs>::get_input_mute::{closure#0}
Line
Count
Source
94
1
        self.client
95
2
            .send_message::<responses::InputMuted>(RequestType::GetInputMute { input_name })
96
2
            .await
97
1
            .map(|im| im.input_muted)
98
1
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_mute::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_mute::{closure#0}
99
100
    /// Sets the audio mute state of an input..
101
    ///
102
    /// - `input_name`: Name of the input to set the mute state of.
103
    /// - `input_muted`: Whether to mute the input.
104
2
    pub async fn set_input_mute(&self, input_name: &str, input_muted: bool) -> Result<()> {
<obws::client::inputs::Inputs>::set_input_mute
Line
Count
Source
104
2
    pub async fn set_input_mute(&self, input_name: &str, input_muted: bool) -> Result<()> {
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_input_mute
105
2
        self.client
106
2
            .send_message(RequestType::SetInputMute {
107
2
                input_name,
108
2
                input_muted,
109
4
            })
110
4
            .await
111
2
    }
<obws::client::inputs::Inputs>::set_input_mute::{closure#0}
Line
Count
Source
105
2
        self.client
106
2
            .send_message(RequestType::SetInputMute {
107
2
                input_name,
108
2
                input_muted,
109
4
            })
110
4
            .await
111
2
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_input_mute::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_input_mute::{closure#0}
112
113
    /// Toggles the audio mute state of an input.
114
    ///
115
    /// - `input_name`: Name of the input to toggle the mute state of.
116
2
    pub async fn toggle_input_mute(&self, input_name: &str) -> Result<bool> {
<obws::client::inputs::Inputs>::toggle_input_mute
Line
Count
Source
116
2
    pub async fn toggle_input_mute(&self, input_name: &str) -> Result<bool> {
Unexecuted instantiation: <obws::client::inputs::Inputs>::toggle_input_mute
117
2
        self.client
118
4
            .send_message::<responses::InputMuted>(RequestType::ToggleInputMute { input_name })
119
4
            .await
120
2
            .map(|im| im.input_muted)
<obws::client::inputs::Inputs>::toggle_input_mute::{closure#0}::{closure#0}
Line
Count
Source
120
2
            .map(|im| im.input_muted)
Unexecuted instantiation: <obws::client::inputs::Inputs>::toggle_input_mute::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::toggle_input_mute::{closure#0}::{closure#0}
121
2
    }
<obws::client::inputs::Inputs>::toggle_input_mute::{closure#0}
Line
Count
Source
117
2
        self.client
118
4
            .send_message::<responses::InputMuted>(RequestType::ToggleInputMute { input_name })
119
4
            .await
120
2
            .map(|im| im.input_muted)
121
2
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::toggle_input_mute::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::toggle_input_mute::{closure#0}
122
123
    /// Gets the current volume setting of an input.
124
    ///
125
    /// - `input_name`: Name of the input to get the volume of.
126
1
    pub async fn get_input_volume(&self, input_name: &str) -> Result<responses::InputVolume> {
<obws::client::inputs::Inputs>::get_input_volume
Line
Count
Source
126
1
    pub async fn get_input_volume(&self, input_name: &str) -> Result<responses::InputVolume> {
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_volume
127
1
        self.client
128
2
            .send_message(RequestType::GetInputVolume { input_name })
129
2
            .await
130
1
    }
<obws::client::inputs::Inputs>::get_input_volume::{closure#0}
Line
Count
Source
127
1
        self.client
128
2
            .send_message(RequestType::GetInputVolume { input_name })
129
2
            .await
130
1
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_volume::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_volume::{closure#0}
131
132
    /// Sets the volume setting of an input.
133
    ///
134
    /// - `input_name`: Name of the input to set the volume of.
135
    /// - `input_volume`: Volume settings in either mul or dB.
136
1
    pub async fn set_input_volume(&self, input_name: &str, input_volume: Volume) -> Result<()> {
<obws::client::inputs::Inputs>::set_input_volume
Line
Count
Source
136
1
    pub async fn set_input_volume(&self, input_name: &str, input_volume: Volume) -> Result<()> {
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_input_volume
137
1
        self.client
138
1
            .send_message(RequestType::SetInputVolume {
139
1
                input_name,
140
1
                input_volume,
141
2
            })
142
2
            .await
143
1
    }
<obws::client::inputs::Inputs>::set_input_volume::{closure#0}
Line
Count
Source
137
1
        self.client
138
1
            .send_message(RequestType::SetInputVolume {
139
1
                input_name,
140
1
                input_volume,
141
2
            })
142
2
            .await
143
1
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_input_volume::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_input_volume::{closure#0}
144
145
    /// Sets the name of an input (rename).
146
    ///
147
    /// - `input_name`: Current input name.
148
    /// - `new_input_name`: New name for the input.
149
2
    pub async fn set_input_name(&self, input_name: &str, new_input_name: &str) -> Result<()> {
<obws::client::inputs::Inputs>::set_input_name
Line
Count
Source
149
2
    pub async fn set_input_name(&self, input_name: &str, new_input_name: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_input_name
150
2
        self.client
151
2
            .send_message(RequestType::SetInputName {
152
2
                input_name,
153
2
                new_input_name,
154
4
            })
155
4
            .await
156
2
    }
<obws::client::inputs::Inputs>::set_input_name::{closure#0}
Line
Count
Source
150
2
        self.client
151
2
            .send_message(RequestType::SetInputName {
152
2
                input_name,
153
2
                new_input_name,
154
4
            })
155
4
            .await
156
2
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_input_name::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_input_name::{closure#0}
157
158
    /// Creates a new input, adding it as a scene item to the specified scene.
159
0
    pub async fn create_input<T>(&self, input: CreateInput<'_, T>) -> Result<i64>
160
0
    where
161
0
        T: Serialize,
162
0
    {
Unexecuted instantiation: <obws::client::inputs::Inputs>::create_input::<_>
Unexecuted instantiation: <obws::client::inputs::Inputs>::create_input::<_>
163
        self.client
164
            .send_message::<responses::SceneItemId>(RequestType::CreateInput(CreateInputInternal {
165
0
                scene_name: input.scene_name,
166
0
                input_name: input.input_name,
167
0
                input_kind: input.input_kind,
168
0
                input_settings: input
169
0
                    .input_settings
170
0
                    .map(|settings| {
171
0
                        serde_json::to_value(&settings).map_err(Error::SerializeCustomData)
172
0
                    })
Unexecuted instantiation: <obws::client::inputs::Inputs>::create_input::<_>::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::create_input::<_>::{closure#0}::{closure#0}
173
0
                    .transpose()?,
174
0
                scene_item_enabled: input.scene_item_enabled,
175
0
            }))
176
0
            .await
177
0
            .map(|sii| sii.scene_item_id)
Unexecuted instantiation: <obws::client::inputs::Inputs>::create_input::<_>::{closure#0}::{closure#1}
Unexecuted instantiation: <obws::client::inputs::Inputs>::create_input::<_>::{closure#0}::{closure#1}
178
0
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::create_input::<_>::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::create_input::<_>::{closure#0}
179
180
    /// Removes an existing input.
181
    ///
182
    /// **Note:** Will immediately remove all associated scene items.
183
    ///
184
    /// - `input_name`: Name of the input to remove.
185
0
    pub async fn remove_input(&self, input_name: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::inputs::Inputs>::remove_input
Unexecuted instantiation: <obws::client::inputs::Inputs>::remove_input
186
0
        self.client
187
0
            .send_message(RequestType::RemoveInput { input_name })
188
0
            .await
189
0
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::remove_input::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::remove_input::{closure#0}
190
191
    /// Gets the audio sync offset of an input.
192
    ///
193
    /// **Note:** The audio sync offset can be negative too!
194
    ///
195
    /// - `input_name`: Name of the input to get the audio sync offset of.
196
1
    pub async fn get_input_audio_sync_offset(&self, input_name: &str) -> Result<Duration> {
<obws::client::inputs::Inputs>::get_input_audio_sync_offset
Line
Count
Source
196
1
    pub async fn get_input_audio_sync_offset(&self, input_name: &str) -> Result<Duration> {
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_audio_sync_offset
197
1
        self.client
198
1
            .send_message::<responses::AudioSyncOffset>(RequestType::GetInputAudioSyncOffset {
199
1
                input_name,
200
2
            })
201
2
            .await
202
1
            .map(|aso| aso.input_audio_sync_offset)
<obws::client::inputs::Inputs>::get_input_audio_sync_offset::{closure#0}::{closure#0}
Line
Count
Source
202
1
            .map(|aso| aso.input_audio_sync_offset)
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_audio_sync_offset::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_audio_sync_offset::{closure#0}::{closure#0}
203
1
    }
<obws::client::inputs::Inputs>::get_input_audio_sync_offset::{closure#0}
Line
Count
Source
197
1
        self.client
198
1
            .send_message::<responses::AudioSyncOffset>(RequestType::GetInputAudioSyncOffset {
199
1
                input_name,
200
2
            })
201
2
            .await
202
1
            .map(|aso| aso.input_audio_sync_offset)
203
1
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_audio_sync_offset::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_audio_sync_offset::{closure#0}
204
205
    /// Sets the audio sync offset of an input.
206
    ///
207
    /// - `input_name`: Name of the input to set the audio sync offset of.
208
    /// - `input_audio_sync_offset`: New audio sync offset in milliseconds.
209
2
    pub async fn set_input_audio_sync_offset(
210
2
        &self,
211
2
        input_name: &str,
212
2
        input_audio_sync_offset: Duration,
213
2
    ) -> Result<()> {
<obws::client::inputs::Inputs>::set_input_audio_sync_offset
Line
Count
Source
209
2
    pub async fn set_input_audio_sync_offset(
210
2
        &self,
211
2
        input_name: &str,
212
2
        input_audio_sync_offset: Duration,
213
2
    ) -> Result<()> {
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_input_audio_sync_offset
214
2
        self.client
215
2
            .send_message(RequestType::SetInputAudioSyncOffset {
216
2
                input_name,
217
2
                input_audio_sync_offset,
218
4
            })
219
4
            .await
220
2
    }
<obws::client::inputs::Inputs>::set_input_audio_sync_offset::{closure#0}
Line
Count
Source
214
2
        self.client
215
2
            .send_message(RequestType::SetInputAudioSyncOffset {
216
2
                input_name,
217
2
                input_audio_sync_offset,
218
4
            })
219
4
            .await
220
2
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_input_audio_sync_offset::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_input_audio_sync_offset::{closure#0}
221
222
    /// Gets the audio monitor type of input.
223
    ///
224
    /// - `input_name`: Name of the input to get the audio monitor type of.
225
1
    pub async fn get_input_audio_monitor_type(&self, input_name: &str) -> Result<MonitorType> {
<obws::client::inputs::Inputs>::get_input_audio_monitor_type
Line
Count
Source
225
1
    pub async fn get_input_audio_monitor_type(&self, input_name: &str) -> Result<MonitorType> {
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_audio_monitor_type
226
1
        self.client
227
1
            .send_message::<responses::AudioMonitorType>(RequestType::GetInputAudioMonitorType {
228
1
                input_name,
229
2
            })
230
2
            .await
231
1
            .map(|amt| amt.monitor_type)
<obws::client::inputs::Inputs>::get_input_audio_monitor_type::{closure#0}::{closure#0}
Line
Count
Source
231
1
            .map(|amt| amt.monitor_type)
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_audio_monitor_type::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_audio_monitor_type::{closure#0}::{closure#0}
232
1
    }
<obws::client::inputs::Inputs>::get_input_audio_monitor_type::{closure#0}
Line
Count
Source
226
1
        self.client
227
1
            .send_message::<responses::AudioMonitorType>(RequestType::GetInputAudioMonitorType {
228
1
                input_name,
229
2
            })
230
2
            .await
231
1
            .map(|amt| amt.monitor_type)
232
1
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_audio_monitor_type::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_audio_monitor_type::{closure#0}
233
234
    /// Sets the audio monitor type of input.
235
    ///
236
    /// - `input_name`: Name of the input to set the audio monitor type of.
237
    /// - `monitor_type`: Audio monitor type.
238
2
    pub async fn set_input_audio_monitor_type(
239
2
        &self,
240
2
        input_name: &str,
241
2
        monitor_type: MonitorType,
242
2
    ) -> Result<()> {
<obws::client::inputs::Inputs>::set_input_audio_monitor_type
Line
Count
Source
238
2
    pub async fn set_input_audio_monitor_type(
239
2
        &self,
240
2
        input_name: &str,
241
2
        monitor_type: MonitorType,
242
2
    ) -> Result<()> {
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_input_audio_monitor_type
243
2
        self.client
244
2
            .send_message(RequestType::SetInputAudioMonitorType {
245
2
                input_name,
246
2
                monitor_type,
247
4
            })
248
4
            .await
249
2
    }
<obws::client::inputs::Inputs>::set_input_audio_monitor_type::{closure#0}
Line
Count
Source
243
2
        self.client
244
2
            .send_message(RequestType::SetInputAudioMonitorType {
245
2
                input_name,
246
2
                monitor_type,
247
4
            })
248
4
            .await
249
2
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_input_audio_monitor_type::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_input_audio_monitor_type::{closure#0}
250
251
    /// Gets the items of a list property from an input's properties.
252
    ///
253
    /// **Note:** Use this in cases where an input provides a dynamic, selectable list of items. For
254
    /// example, display capture, where it provides a list of available displays.
255
    ///
256
    /// - `input_name`: Name of the input.
257
    /// - `property_name`: Name of the list property to get the items of.
258
0
    pub async fn get_input_properties_list_property_items(
259
0
        &self,
260
0
        input_name: &str,
261
0
        property_name: &str,
262
0
    ) -> Result<Vec<responses::ListPropertyItem>> {
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_properties_list_property_items
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_properties_list_property_items
263
0
        self.client
264
0
            .send_message::<responses::ListPropertyItems>(
265
0
                RequestType::GetInputPropertiesListPropertyItems {
266
0
                    input_name,
267
0
                    property_name,
268
0
                },
269
0
            )
270
0
            .await
271
0
            .map(|lpi| lpi.property_items)
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_properties_list_property_items::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_properties_list_property_items::{closure#0}::{closure#0}
272
0
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_properties_list_property_items::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::get_input_properties_list_property_items::{closure#0}
273
274
    /// Presses a button in the properties of an input.
275
    ///
276
    /// **Note:** Use this in cases where there is a button in the properties of an input that
277
    /// cannot be accessed in any other way. For example, browser sources, where there is a refresh
278
    /// button.
279
    ///
280
    /// - `input_name`: Name of the input.
281
    /// - `property_name`: Name of the button property to press.
282
0
    pub async fn press_input_properties_button(
283
0
        &self,
284
0
        input_name: &str,
285
0
        property_name: &str,
286
0
    ) -> Result<()> {
Unexecuted instantiation: <obws::client::inputs::Inputs>::press_input_properties_button
Unexecuted instantiation: <obws::client::inputs::Inputs>::press_input_properties_button
287
0
        self.client
288
0
            .send_message(RequestType::PressInputPropertiesButton {
289
0
                input_name,
290
0
                property_name,
291
0
            })
292
0
            .await
293
0
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::press_input_properties_button::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::press_input_properties_button::{closure#0}
294
}
\ No newline at end of file +

Coverage Report

Created: 2022-07-04 16:17

src/client/inputs.rs
Line
Count
Source (jump to first uncovered line)
1
use serde::{de::DeserializeOwned, Serialize};
2
use time::Duration;
3
4
use super::Client;
5
use crate::{
6
    common::MonitorType,
7
    requests::inputs::{
8
        Create, CreateInputInternal, Request, SetSettings, SetSettingsInternal, Volume,
9
    },
10
    responses::inputs as responses,
11
    Error, Result,
12
};
13
14
/// API functions related to inputs.
15
pub struct Inputs<'a> {
16
    pub(super) client: &'a Client,
17
}
18
19
impl<'a> Inputs<'a> {
20
    /// Gets an array of all inputs in OBS.
21
19
    pub async fn list(&self, kind: Option<&str>) -> Result<Vec<responses::Input>> {
<obws::client::inputs::Inputs>::list
Line
Count
Source
21
19
    pub async fn list(&self, kind: Option<&str>) -> Result<Vec<responses::Input>> {
Unexecuted instantiation: <obws::client::inputs::Inputs>::list
22
19
        self.client
23
38
            .send_message::<_, responses::Inputs>(Request::List { kind })
24
38
            .await
25
19
            .map(|i| i.inputs)
<obws::client::inputs::Inputs>::list::{closure#0}::{closure#0}
Line
Count
Source
25
19
            .map(|i| i.inputs)
Unexecuted instantiation: <obws::client::inputs::Inputs>::list::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::list::{closure#0}::{closure#0}
26
19
    }
<obws::client::inputs::Inputs>::list::{closure#0}
Line
Count
Source
22
19
        self.client
23
38
            .send_message::<_, responses::Inputs>(Request::List { kind })
24
38
            .await
25
19
            .map(|i| i.inputs)
26
19
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::list::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::list::{closure#0}
27
28
    /// Gets an array of all available input kinds in OBS.
29
1
    pub async fn list_kinds(&self, unversioned: bool) -> Result<Vec<String>> {
<obws::client::inputs::Inputs>::list_kinds
Line
Count
Source
29
1
    pub async fn list_kinds(&self, unversioned: bool) -> Result<Vec<String>> {
Unexecuted instantiation: <obws::client::inputs::Inputs>::list_kinds
30
1
        self.client
31
2
            .send_message::<_, responses::InputKinds>(Request::ListKinds { unversioned })
32
2
            .await
33
1
            .map(|ik| ik.input_kinds)
<obws::client::inputs::Inputs>::list_kinds::{closure#0}::{closure#0}
Line
Count
Source
33
1
            .map(|ik| ik.input_kinds)
Unexecuted instantiation: <obws::client::inputs::Inputs>::list_kinds::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::list_kinds::{closure#0}::{closure#0}
34
1
    }
<obws::client::inputs::Inputs>::list_kinds::{closure#0}
Line
Count
Source
30
1
        self.client
31
2
            .send_message::<_, responses::InputKinds>(Request::ListKinds { unversioned })
32
2
            .await
33
1
            .map(|ik| ik.input_kinds)
34
1
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::list_kinds::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::list_kinds::{closure#0}
35
36
    /// Gets the default settings for an input kind.
37
1
    pub async fn default_settings<T>(&self, kind: &str) -> Result<T>
38
1
    where
39
1
        T: DeserializeOwned,
40
1
    {
<obws::client::inputs::Inputs>::default_settings::<serde_json::value::Value>
Line
Count
Source
37
1
    pub async fn default_settings<T>(&self, kind: &str) -> Result<T>
38
1
    where
39
1
        T: DeserializeOwned,
40
1
    {
Unexecuted instantiation: <obws::client::inputs::Inputs>::default_settings::<_>
Unexecuted instantiation: <obws::client::inputs::Inputs>::default_settings::<_>
41
1
        self.client
42
1
            .send_message::<_, responses::DefaultInputSettings<T>>(Request::DefaultSettings {
43
1
                kind,
44
2
            })
45
2
            .await
46
1
            .map(|dis| dis.default_input_settings)
<obws::client::inputs::Inputs>::default_settings::<serde_json::value::Value>::{closure#0}::{closure#0}
Line
Count
Source
46
1
            .map(|dis| dis.default_input_settings)
Unexecuted instantiation: <obws::client::inputs::Inputs>::default_settings::<_>::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::default_settings::<_>::{closure#0}::{closure#0}
47
1
    }
<obws::client::inputs::Inputs>::default_settings::<serde_json::value::Value>::{closure#0}
Line
Count
Source
41
1
        self.client
42
1
            .send_message::<_, responses::DefaultInputSettings<T>>(Request::DefaultSettings {
43
1
                kind,
44
2
            })
45
2
            .await
46
1
            .map(|dis| dis.default_input_settings)
47
1
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::default_settings::<_>::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::default_settings::<_>::{closure#0}
48
49
    /// Gets the settings of an input.
50
    ///
51
    /// **Note:** Does not include defaults. To create the entire settings object, overlay input
52
    /// settings over the default input settings provided by [`Inputs::default_settings`].
53
1
    pub async fn settings<T>(&self, name: &str) -> Result<responses::InputSettings<T>>
54
1
    where
55
1
        T: DeserializeOwned,
56
1
    {
<obws::client::inputs::Inputs>::settings::<serde_json::value::Value>
Line
Count
Source
53
1
    pub async fn settings<T>(&self, name: &str) -> Result<responses::InputSettings<T>>
54
1
    where
55
1
        T: DeserializeOwned,
56
1
    {
Unexecuted instantiation: <obws::client::inputs::Inputs>::settings::<_>
Unexecuted instantiation: <obws::client::inputs::Inputs>::settings::<_>
57
2
        
self.client.send_message(Request::Settings { name })1
.await
58
1
    }
<obws::client::inputs::Inputs>::settings::<serde_json::value::Value>::{closure#0}
Line
Count
Source
57
2
        
self.client.send_message(Request::Settings { name })1
.await
58
1
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::settings::<_>::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::settings::<_>::{closure#0}
59
60
    /// Sets the settings of an input.
61
1
    pub async fn set_settings<T>(&self, settings: SetSettings<'_, T>) -> Result<()>
62
1
    where
63
1
        T: Serialize,
64
1
    {
<obws::client::inputs::Inputs>::set_settings::<serde_json::value::Value>
Line
Count
Source
61
1
    pub async fn set_settings<T>(&self, settings: SetSettings<'_, T>) -> Result<()>
62
1
    where
63
1
        T: Serialize,
64
1
    {
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_settings::<_>
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_settings::<_>
65
        self.client
66
            .send_message(Request::SetSettings(SetSettingsInternal {
67
1
                input: settings.input,
68
1
                settings: serde_json::to_value(&settings.settings)
69
1
                    .map_err(Error::SerializeCustomData)
?0
,
70
1
                overlay: settings.overlay,
71
2
            }))
72
2
            .await
73
1
    }
<obws::client::inputs::Inputs>::set_settings::<serde_json::value::Value>::{closure#0}
Line
Count
Source
67
1
                input: settings.input,
68
1
                settings: serde_json::to_value(&settings.settings)
69
1
                    .map_err(Error::SerializeCustomData)
?0
,
70
1
                overlay: settings.overlay,
71
2
            }))
72
2
            .await
73
1
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_settings::<_>::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_settings::<_>::{closure#0}
74
75
    /// Gets the audio mute state of an input.
76
1
    pub async fn muted(&self, name: &str) -> Result<bool> {
<obws::client::inputs::Inputs>::muted
Line
Count
Source
76
1
    pub async fn muted(&self, name: &str) -> Result<bool> {
Unexecuted instantiation: <obws::client::inputs::Inputs>::muted
77
1
        self.client
78
2
            .send_message::<_, responses::InputMuted>(Request::Muted { name })
79
2
            .await
80
1
            .map(|im| im.muted)
<obws::client::inputs::Inputs>::muted::{closure#0}::{closure#0}
Line
Count
Source
80
1
            .map(|im| im.muted)
Unexecuted instantiation: <obws::client::inputs::Inputs>::muted::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::muted::{closure#0}::{closure#0}
81
1
    }
<obws::client::inputs::Inputs>::muted::{closure#0}
Line
Count
Source
77
1
        self.client
78
2
            .send_message::<_, responses::InputMuted>(Request::Muted { name })
79
2
            .await
80
1
            .map(|im| im.muted)
81
1
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::muted::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::muted::{closure#0}
82
83
    /// Sets the audio mute state of an input.
84
2
    pub async fn set_muted(&self, name: &str, muted: bool) -> Result<()> {
<obws::client::inputs::Inputs>::set_muted
Line
Count
Source
84
2
    pub async fn set_muted(&self, name: &str, muted: bool) -> Result<()> {
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_muted
85
2
        self.client
86
4
            .send_message(Request::SetMuted { name, muted })
87
4
            .await
88
2
    }
<obws::client::inputs::Inputs>::set_muted::{closure#0}
Line
Count
Source
85
2
        self.client
86
4
            .send_message(Request::SetMuted { name, muted })
87
4
            .await
88
2
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_muted::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_muted::{closure#0}
89
90
    /// Toggles the audio mute state of an input.
91
2
    pub async fn toggle_mute(&self, name: &str) -> Result<bool> {
<obws::client::inputs::Inputs>::toggle_mute
Line
Count
Source
91
2
    pub async fn toggle_mute(&self, name: &str) -> Result<bool> {
Unexecuted instantiation: <obws::client::inputs::Inputs>::toggle_mute
92
2
        self.client
93
4
            .send_message::<_, responses::InputMuted>(Request::ToggleMute { name })
94
4
            .await
95
2
            .map(|im| im.muted)
<obws::client::inputs::Inputs>::toggle_mute::{closure#0}::{closure#0}
Line
Count
Source
95
2
            .map(|im| im.muted)
Unexecuted instantiation: <obws::client::inputs::Inputs>::toggle_mute::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::toggle_mute::{closure#0}::{closure#0}
96
2
    }
<obws::client::inputs::Inputs>::toggle_mute::{closure#0}
Line
Count
Source
92
2
        self.client
93
4
            .send_message::<_, responses::InputMuted>(Request::ToggleMute { name })
94
4
            .await
95
2
            .map(|im| im.muted)
96
2
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::toggle_mute::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::toggle_mute::{closure#0}
97
98
    /// Gets the current volume setting of an input.
99
1
    pub async fn volume(&self, name: &str) -> Result<responses::InputVolume> {
<obws::client::inputs::Inputs>::volume
Line
Count
Source
99
1
    pub async fn volume(&self, name: &str) -> Result<responses::InputVolume> {
Unexecuted instantiation: <obws::client::inputs::Inputs>::volume
100
2
        
self.client.send_message(Request::Volume { name })1
.await
101
1
    }
<obws::client::inputs::Inputs>::volume::{closure#0}
Line
Count
Source
100
2
        
self.client.send_message(Request::Volume { name })1
.await
101
1
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::volume::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::volume::{closure#0}
102
103
    /// Sets the volume setting of an input.
104
1
    pub async fn set_volume(&self, name: &str, volume: Volume) -> Result<()> {
<obws::client::inputs::Inputs>::set_volume
Line
Count
Source
104
1
    pub async fn set_volume(&self, name: &str, volume: Volume) -> Result<()> {
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_volume
105
1
        self.client
106
2
            .send_message(Request::SetVolume { name, volume })
107
2
            .await
108
1
    }
<obws::client::inputs::Inputs>::set_volume::{closure#0}
Line
Count
Source
105
1
        self.client
106
2
            .send_message(Request::SetVolume { name, volume })
107
2
            .await
108
1
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_volume::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_volume::{closure#0}
109
110
    /// Sets the name of an input (rename).
111
2
    pub async fn set_name(&self, name: &str, new: &str) -> Result<()> {
<obws::client::inputs::Inputs>::set_name
Line
Count
Source
111
2
    pub async fn set_name(&self, name: &str, new: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_name
112
2
        self.client
113
4
            .send_message(Request::SetName { name, new })
114
4
            .await
115
2
    }
<obws::client::inputs::Inputs>::set_name::{closure#0}
Line
Count
Source
112
2
        self.client
113
4
            .send_message(Request::SetName { name, new })
114
4
            .await
115
2
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_name::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_name::{closure#0}
116
117
    /// Creates a new input, adding it as a scene item to the specified scene.
118
0
    pub async fn create<T>(&self, input: Create<'_, T>) -> Result<i64>
119
0
    where
120
0
        T: Serialize,
121
0
    {
Unexecuted instantiation: <obws::client::inputs::Inputs>::create::<_>
Unexecuted instantiation: <obws::client::inputs::Inputs>::create::<_>
122
        self.client
123
            .send_message::<_, responses::SceneItemId>(Request::Create(CreateInputInternal {
124
0
                scene: input.scene,
125
0
                input: input.input,
126
0
                kind: input.kind,
127
0
                settings: input
128
0
                    .settings
129
0
                    .map(|settings| {
130
0
                        serde_json::to_value(&settings).map_err(Error::SerializeCustomData)
131
0
                    })
Unexecuted instantiation: <obws::client::inputs::Inputs>::create::<_>::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::create::<_>::{closure#0}::{closure#0}
132
0
                    .transpose()?,
133
0
                enabled: input.enabled,
134
0
            }))
135
0
            .await
136
0
            .map(|sii| sii.scene_item_id)
Unexecuted instantiation: <obws::client::inputs::Inputs>::create::<_>::{closure#0}::{closure#1}
Unexecuted instantiation: <obws::client::inputs::Inputs>::create::<_>::{closure#0}::{closure#1}
137
0
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::create::<_>::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::create::<_>::{closure#0}
138
139
    /// Removes an existing input.
140
    ///
141
    /// **Note:** Will immediately remove all associated scene items.
142
0
    pub async fn remove(&self, name: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::inputs::Inputs>::remove
Unexecuted instantiation: <obws::client::inputs::Inputs>::remove
143
0
        self.client.send_message(Request::Remove { name }).await
144
0
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::remove::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::remove::{closure#0}
145
146
    /// Gets the audio sync offset of an input.
147
    ///
148
    /// **Note:** The audio sync offset can be negative too!
149
1
    pub async fn audio_sync_offset(&self, name: &str) -> Result<Duration> {
<obws::client::inputs::Inputs>::audio_sync_offset
Line
Count
Source
149
1
    pub async fn audio_sync_offset(&self, name: &str) -> Result<Duration> {
Unexecuted instantiation: <obws::client::inputs::Inputs>::audio_sync_offset
150
1
        self.client
151
2
            .send_message::<_, responses::AudioSyncOffset>(Request::AudioSyncOffset { name })
152
2
            .await
153
1
            .map(|aso| aso.input_audio_sync_offset)
<obws::client::inputs::Inputs>::audio_sync_offset::{closure#0}::{closure#0}
Line
Count
Source
153
1
            .map(|aso| aso.input_audio_sync_offset)
Unexecuted instantiation: <obws::client::inputs::Inputs>::audio_sync_offset::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::audio_sync_offset::{closure#0}::{closure#0}
154
1
    }
<obws::client::inputs::Inputs>::audio_sync_offset::{closure#0}
Line
Count
Source
150
1
        self.client
151
2
            .send_message::<_, responses::AudioSyncOffset>(Request::AudioSyncOffset { name })
152
2
            .await
153
1
            .map(|aso| aso.input_audio_sync_offset)
154
1
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::audio_sync_offset::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::audio_sync_offset::{closure#0}
155
156
    /// Sets the audio sync offset of an input.
157
2
    pub async fn set_audio_sync_offset(&self, name: &str, offset: Duration) -> Result<()> {
<obws::client::inputs::Inputs>::set_audio_sync_offset
Line
Count
Source
157
2
    pub async fn set_audio_sync_offset(&self, name: &str, offset: Duration) -> Result<()> {
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_audio_sync_offset
158
2
        self.client
159
4
            .send_message(Request::SetAudioSyncOffset { name, offset })
160
4
            .await
161
2
    }
<obws::client::inputs::Inputs>::set_audio_sync_offset::{closure#0}
Line
Count
Source
158
2
        self.client
159
4
            .send_message(Request::SetAudioSyncOffset { name, offset })
160
4
            .await
161
2
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_audio_sync_offset::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_audio_sync_offset::{closure#0}
162
163
    /// Gets the audio monitor type of input.
164
1
    pub async fn audio_monitor_type(&self, name: &str) -> Result<MonitorType> {
<obws::client::inputs::Inputs>::audio_monitor_type
Line
Count
Source
164
1
    pub async fn audio_monitor_type(&self, name: &str) -> Result<MonitorType> {
Unexecuted instantiation: <obws::client::inputs::Inputs>::audio_monitor_type
165
1
        self.client
166
2
            .send_message::<_, responses::AudioMonitorType>(Request::AudioMonitorType { name })
167
2
            .await
168
1
            .map(|amt| amt.monitor_type)
<obws::client::inputs::Inputs>::audio_monitor_type::{closure#0}::{closure#0}
Line
Count
Source
168
1
            .map(|amt| amt.monitor_type)
Unexecuted instantiation: <obws::client::inputs::Inputs>::audio_monitor_type::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::audio_monitor_type::{closure#0}::{closure#0}
169
1
    }
<obws::client::inputs::Inputs>::audio_monitor_type::{closure#0}
Line
Count
Source
165
1
        self.client
166
2
            .send_message::<_, responses::AudioMonitorType>(Request::AudioMonitorType { name })
167
2
            .await
168
1
            .map(|amt| amt.monitor_type)
169
1
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::audio_monitor_type::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::audio_monitor_type::{closure#0}
170
171
    /// Sets the audio monitor type of input.
172
2
    pub async fn set_audio_monitor_type(
173
2
        &self,
174
2
        name: &str,
175
2
        monitor_type: MonitorType,
176
2
    ) -> Result<()> {
<obws::client::inputs::Inputs>::set_audio_monitor_type
Line
Count
Source
172
2
    pub async fn set_audio_monitor_type(
173
2
        &self,
174
2
        name: &str,
175
2
        monitor_type: MonitorType,
176
2
    ) -> Result<()> {
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_audio_monitor_type
177
2
        self.client
178
4
            .send_message(Request::SetAudioMonitorType { name, monitor_type })
179
4
            .await
180
2
    }
<obws::client::inputs::Inputs>::set_audio_monitor_type::{closure#0}
Line
Count
Source
177
2
        self.client
178
4
            .send_message(Request::SetAudioMonitorType { name, monitor_type })
179
4
            .await
180
2
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_audio_monitor_type::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::set_audio_monitor_type::{closure#0}
181
182
    /// Gets the items of a list property from an input's properties.
183
    ///
184
    /// **Note:** Use this in cases where an input provides a dynamic, selectable list of items. For
185
    /// example, display capture, where it provides a list of available displays.
186
0
    pub async fn properties_list_property_items(
187
0
        &self,
188
0
        input: &str,
189
0
        property: &str,
190
0
    ) -> Result<Vec<responses::ListPropertyItem>> {
Unexecuted instantiation: <obws::client::inputs::Inputs>::properties_list_property_items
Unexecuted instantiation: <obws::client::inputs::Inputs>::properties_list_property_items
191
0
        self.client
192
0
            .send_message::<_, responses::ListPropertyItems>(Request::PropertiesListPropertyItems {
193
0
                input,
194
0
                property,
195
0
            })
196
0
            .await
197
0
            .map(|lpi| lpi.property_items)
Unexecuted instantiation: <obws::client::inputs::Inputs>::properties_list_property_items::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::properties_list_property_items::{closure#0}::{closure#0}
198
0
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::properties_list_property_items::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::properties_list_property_items::{closure#0}
199
200
    /// Presses a button in the properties of an input.
201
    ///
202
    /// **Note:** Use this in cases where there is a button in the properties of an input that
203
    /// cannot be accessed in any other way. For example, browser sources, where there is a refresh
204
    /// button.
205
0
    pub async fn press_properties_button(&self, input: &str, property: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::inputs::Inputs>::press_properties_button
Unexecuted instantiation: <obws::client::inputs::Inputs>::press_properties_button
206
0
        self.client
207
0
            .send_message(Request::PressPropertiesButton { input, property })
208
0
            .await
209
0
    }
Unexecuted instantiation: <obws::client::inputs::Inputs>::press_properties_button::{closure#0}
Unexecuted instantiation: <obws::client::inputs::Inputs>::press_properties_button::{closure#0}
210
}
\ No newline at end of file diff --git a/coverage/src/client/media_inputs.rs.html b/coverage/src/client/media_inputs.rs.html index 81ff513..15476dd 100644 --- a/coverage/src/client/media_inputs.rs.html +++ b/coverage/src/client/media_inputs.rs.html @@ -1 +1 @@ -

Coverage Report

Created: 2022-05-25 22:28

src/client/media_inputs.rs
Line
Count
Source
1
use time::Duration;
2
3
use super::Client;
4
use crate::{common::MediaAction, requests::RequestType, responses, Result};
5
6
/// API functions related to media inputs.
7
pub struct MediaInputs<'a> {
8
    pub(super) client: &'a Client,
9
}
10
11
impl<'a> MediaInputs<'a> {
12
    /// Gets the status of a media input.
13
    ///
14
    /// - `input_name`: Name of the media input.
15
1
    pub async fn get_media_input_status(&self, input_name: &str) -> Result<responses::MediaStatus> {
<obws::client::media_inputs::MediaInputs>::get_media_input_status
Line
Count
Source
15
1
    pub async fn get_media_input_status(&self, input_name: &str) -> Result<responses::MediaStatus> {
Unexecuted instantiation: <obws::client::media_inputs::MediaInputs>::get_media_input_status
16
1
        self.client
17
2
            .send_message(RequestType::GetMediaInputStatus { input_name })
18
2
            .await
19
1
    }
<obws::client::media_inputs::MediaInputs>::get_media_input_status::{closure#0}
Line
Count
Source
16
1
        self.client
17
2
            .send_message(RequestType::GetMediaInputStatus { input_name })
18
2
            .await
19
1
    }
Unexecuted instantiation: <obws::client::media_inputs::MediaInputs>::get_media_input_status::{closure#0}
Unexecuted instantiation: <obws::client::media_inputs::MediaInputs>::get_media_input_status::{closure#0}
20
21
    /// Sets the cursor position of a media input.
22
    ///
23
    /// This request does not perform bounds checking of the cursor position.
24
    ///
25
    /// - `input_name`: Name of the media input.
26
    /// - `media_cursor`: New cursor position to set.
27
1
    pub async fn set_media_input_cursor(
28
1
        &self,
29
1
        input_name: &str,
30
1
        media_cursor: Duration,
31
1
    ) -> Result<()> {
<obws::client::media_inputs::MediaInputs>::set_media_input_cursor
Line
Count
Source
27
1
    pub async fn set_media_input_cursor(
28
1
        &self,
29
1
        input_name: &str,
30
1
        media_cursor: Duration,
31
1
    ) -> Result<()> {
Unexecuted instantiation: <obws::client::media_inputs::MediaInputs>::set_media_input_cursor
32
1
        self.client
33
1
            .send_message(RequestType::SetMediaInputCursor {
34
1
                input_name,
35
1
                media_cursor,
36
2
            })
37
2
            .await
38
1
    }
<obws::client::media_inputs::MediaInputs>::set_media_input_cursor::{closure#0}
Line
Count
Source
32
1
        self.client
33
1
            .send_message(RequestType::SetMediaInputCursor {
34
1
                input_name,
35
1
                media_cursor,
36
2
            })
37
2
            .await
38
1
    }
Unexecuted instantiation: <obws::client::media_inputs::MediaInputs>::set_media_input_cursor::{closure#0}
Unexecuted instantiation: <obws::client::media_inputs::MediaInputs>::set_media_input_cursor::{closure#0}
39
40
    /// Offsets the current cursor position of a media input by the specified value.
41
    ///
42
    /// This request does not perform bounds checking of the cursor position.
43
    ///
44
    /// - `input_name`: Name of the media input.
45
    /// - `media_cursor_offset`: Value to offset the current cursor position by.
46
1
    pub async fn offset_media_input_cursor(
47
1
        &self,
48
1
        input_name: &str,
49
1
        media_cursor_offset: Duration,
50
1
    ) -> Result<()> {
<obws::client::media_inputs::MediaInputs>::offset_media_input_cursor
Line
Count
Source
46
1
    pub async fn offset_media_input_cursor(
47
1
        &self,
48
1
        input_name: &str,
49
1
        media_cursor_offset: Duration,
50
1
    ) -> Result<()> {
Unexecuted instantiation: <obws::client::media_inputs::MediaInputs>::offset_media_input_cursor
51
1
        self.client
52
1
            .send_message(RequestType::OffsetMediaInputCursor {
53
1
                input_name,
54
1
                media_cursor_offset,
55
2
            })
56
2
            .await
57
1
    }
<obws::client::media_inputs::MediaInputs>::offset_media_input_cursor::{closure#0}
Line
Count
Source
51
1
        self.client
52
1
            .send_message(RequestType::OffsetMediaInputCursor {
53
1
                input_name,
54
1
                media_cursor_offset,
55
2
            })
56
2
            .await
57
1
    }
Unexecuted instantiation: <obws::client::media_inputs::MediaInputs>::offset_media_input_cursor::{closure#0}
Unexecuted instantiation: <obws::client::media_inputs::MediaInputs>::offset_media_input_cursor::{closure#0}
58
59
    /// Triggers an action on a media input.
60
    ///
61
    /// - `input_name`: Name of the media input.
62
    /// - `media_action`: Identifier of the media action.
63
1
    pub async fn trigger_media_input_action(
64
1
        &self,
65
1
        input_name: &str,
66
1
        media_action: MediaAction,
67
1
    ) -> Result<()> {
<obws::client::media_inputs::MediaInputs>::trigger_media_input_action
Line
Count
Source
63
1
    pub async fn trigger_media_input_action(
64
1
        &self,
65
1
        input_name: &str,
66
1
        media_action: MediaAction,
67
1
    ) -> Result<()> {
Unexecuted instantiation: <obws::client::media_inputs::MediaInputs>::trigger_media_input_action
68
1
        self.client
69
1
            .send_message(RequestType::TriggerMediaInputAction {
70
1
                input_name,
71
1
                media_action,
72
2
            })
73
2
            .await
74
1
    }
<obws::client::media_inputs::MediaInputs>::trigger_media_input_action::{closure#0}
Line
Count
Source
68
1
        self.client
69
1
            .send_message(RequestType::TriggerMediaInputAction {
70
1
                input_name,
71
1
                media_action,
72
2
            })
73
2
            .await
74
1
    }
Unexecuted instantiation: <obws::client::media_inputs::MediaInputs>::trigger_media_input_action::{closure#0}
Unexecuted instantiation: <obws::client::media_inputs::MediaInputs>::trigger_media_input_action::{closure#0}
75
}
\ No newline at end of file +

Coverage Report

Created: 2022-07-04 16:17

src/client/media_inputs.rs
Line
Count
Source
1
use time::Duration;
2
3
use super::Client;
4
use crate::{
5
    common::MediaAction, requests::media_inputs::Request, responses::media_inputs as responses,
6
    Result,
7
};
8
9
/// API functions related to media inputs.
10
pub struct MediaInputs<'a> {
11
    pub(super) client: &'a Client,
12
}
13
14
impl<'a> MediaInputs<'a> {
15
    /// Gets the status of a media input.
16
1
    pub async fn status(&self, input: &str) -> Result<responses::MediaStatus> {
<obws::client::media_inputs::MediaInputs>::status
Line
Count
Source
16
1
    pub async fn status(&self, input: &str) -> Result<responses::MediaStatus> {
Unexecuted instantiation: <obws::client::media_inputs::MediaInputs>::status
17
2
        
self.client.send_message(Request::Status { input })1
.await
18
1
    }
<obws::client::media_inputs::MediaInputs>::status::{closure#0}
Line
Count
Source
17
2
        
self.client.send_message(Request::Status { input })1
.await
18
1
    }
Unexecuted instantiation: <obws::client::media_inputs::MediaInputs>::status::{closure#0}
Unexecuted instantiation: <obws::client::media_inputs::MediaInputs>::status::{closure#0}
19
20
    /// Sets the cursor position of a media input.
21
    ///
22
    /// This request does not perform bounds checking of the cursor position.
23
1
    pub async fn set_cursor(&self, input: &str, cursor: Duration) -> Result<()> {
<obws::client::media_inputs::MediaInputs>::set_cursor
Line
Count
Source
23
1
    pub async fn set_cursor(&self, input: &str, cursor: Duration) -> Result<()> {
Unexecuted instantiation: <obws::client::media_inputs::MediaInputs>::set_cursor
24
1
        self.client
25
2
            .send_message(Request::SetCursor { input, cursor })
26
2
            .await
27
1
    }
<obws::client::media_inputs::MediaInputs>::set_cursor::{closure#0}
Line
Count
Source
24
1
        self.client
25
2
            .send_message(Request::SetCursor { input, cursor })
26
2
            .await
27
1
    }
Unexecuted instantiation: <obws::client::media_inputs::MediaInputs>::set_cursor::{closure#0}
Unexecuted instantiation: <obws::client::media_inputs::MediaInputs>::set_cursor::{closure#0}
28
29
    /// Offsets the current cursor position of a media input by the specified value.
30
    ///
31
    /// This request does not perform bounds checking of the cursor position.
32
1
    pub async fn offset_cursor(&self, input: &str, offset: Duration) -> Result<()> {
<obws::client::media_inputs::MediaInputs>::offset_cursor
Line
Count
Source
32
1
    pub async fn offset_cursor(&self, input: &str, offset: Duration) -> Result<()> {
Unexecuted instantiation: <obws::client::media_inputs::MediaInputs>::offset_cursor
33
1
        self.client
34
2
            .send_message(Request::OffsetCursor { input, offset })
35
2
            .await
36
1
    }
<obws::client::media_inputs::MediaInputs>::offset_cursor::{closure#0}
Line
Count
Source
33
1
        self.client
34
2
            .send_message(Request::OffsetCursor { input, offset })
35
2
            .await
36
1
    }
Unexecuted instantiation: <obws::client::media_inputs::MediaInputs>::offset_cursor::{closure#0}
Unexecuted instantiation: <obws::client::media_inputs::MediaInputs>::offset_cursor::{closure#0}
37
38
    /// Triggers an action on a media input.
39
1
    pub async fn trigger_action(&self, input: &str, action: MediaAction) -> Result<()> {
<obws::client::media_inputs::MediaInputs>::trigger_action
Line
Count
Source
39
1
    pub async fn trigger_action(&self, input: &str, action: MediaAction) -> Result<()> {
Unexecuted instantiation: <obws::client::media_inputs::MediaInputs>::trigger_action
40
1
        self.client
41
2
            .send_message(Request::TriggerAction { input, action })
42
2
            .await
43
1
    }
<obws::client::media_inputs::MediaInputs>::trigger_action::{closure#0}
Line
Count
Source
40
1
        self.client
41
2
            .send_message(Request::TriggerAction { input, action })
42
2
            .await
43
1
    }
Unexecuted instantiation: <obws::client::media_inputs::MediaInputs>::trigger_action::{closure#0}
Unexecuted instantiation: <obws::client::media_inputs::MediaInputs>::trigger_action::{closure#0}
44
}
\ No newline at end of file diff --git a/coverage/src/client/mod.rs.html b/coverage/src/client/mod.rs.html index 0546959..b4faa5e 100644 --- a/coverage/src/client/mod.rs.html +++ b/coverage/src/client/mod.rs.html @@ -1 +1 @@ -

Coverage Report

Created: 2022-05-25 22:28

src/client/mod.rs
Line
Count
Source (jump to first uncovered line)
1
//! The client to the obs-websocket API and main entry point.
2
3
#[cfg(feature = "events")]
4
use std::sync::Weak;
5
use std::{
6
    future::Future,
7
    sync::{
8
        atomic::{AtomicU64, Ordering},
9
        Arc,
10
    },
11
};
12
13
use futures_util::{
14
    sink::SinkExt,
15
    stream::{SplitSink, Stream, StreamExt},
16
};
17
use semver::{Comparator, Op, Prerelease};
18
use serde::de::DeserializeOwned;
19
#[cfg(feature = "events")]
20
use tokio::sync::broadcast;
21
use tokio::{net::TcpStream, sync::Mutex, task::JoinHandle};
22
use tokio_tungstenite::{
23
    tungstenite::{protocol::CloseFrame, Message},
24
    MaybeTlsStream, WebSocketStream,
25
};
26
use tracing::{debug, error, info, trace};
27
28
use self::connection::{ReceiverList, ReidentifyReceiverList};
29
pub use self::{
30
    config::Config, connection::HandshakeError, filters::Filters, general::General, inputs::Inputs,
31
    media_inputs::MediaInputs, outputs::Outputs, recording::Recording, scene_items::SceneItems,
32
    scenes::Scenes, sources::Sources, streaming::Streaming, transitions::Transitions, ui::Ui,
33
};
34
#[cfg(feature = "events")]
35
use crate::events::Event;
36
use crate::{
37
    requests::{ClientRequest, EventSubscription, Reidentify, Request, RequestType},
38
    responses::ServerMessage,
39
    Error, Result,
40
};
41
42
mod config;
43
mod connection;
44
mod filters;
45
mod general;
46
mod inputs;
47
mod media_inputs;
48
mod outputs;
49
mod recording;
50
mod scene_items;
51
mod scenes;
52
mod sources;
53
mod streaming;
54
mod transitions;
55
mod ui;
56
57
0
#[derive(Debug, thiserror::Error)]
Unexecuted instantiation: <obws::client::InnerError as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::client::InnerError as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::client::InnerError as std::error::Error>::source
Unexecuted instantiation: <obws::client::InnerError as core::fmt::Display>::fmt
Unexecuted instantiation: <obws::client::InnerError as std::error::Error>::source
Unexecuted instantiation: <obws::client::InnerError as core::fmt::Display>::fmt
58
enum InnerError {
59
    #[error("websocket message not convertible to text")]
60
    IntoText(#[source] tokio_tungstenite::tungstenite::Error),
61
    #[error("failed deserializing message")]
62
    DeserializeMessage(#[source] serde_json::Error),
63
    #[error("the request ID `{0}` is not an integer")]
64
    InvalidRequestId(#[source] std::num::ParseIntError, String),
65
    #[error("received unexpected server message: {0:?}")]
66
    UnexpectedMessage(ServerMessage),
67
}
68
69
/// The client is the main entry point to access the obs-websocket API. It allows to call various
70
/// functions to remote control an OBS instance as well as to listen to events caused by the user
71
/// by interacting with OBS.
72
pub struct Client {
73
    /// The writer handle to the web-socket stream.
74
    write: Mutex<MessageWriter>,
75
    /// Global counter for requests that help to find out what response belongs to what previously
76
    /// sent request.
77
    id_counter: AtomicU64,
78
    /// A list of currently waiting requests to get a response back. The key is the string version
79
    /// of a request ID and the value is a oneshot sender that allows to send the response back to
80
    /// the other end that waits for the response.
81
    receivers: Arc<ReceiverList>,
82
    /// A list of awaiting [`reidentify`](Self::reidentify) requests, waiting for confirmation. As
83
    /// these requests don't carry any kind of ID, they're handled sequentially and must be tracked
84
    /// separate from normal requests.
85
    reidentify_receivers: Arc<ReidentifyReceiverList>,
86
    /// Broadcast sender that distributes received events to all current listeners. Events are
87
    /// dropped if nobody listens.
88
    #[cfg(feature = "events")]
89
    event_sender: Weak<broadcast::Sender<Event>>,
90
    /// Handle to the background task that receives messages and distributes them to waiting
91
    /// receivers and event listeners. It allows to shut down all the machinery once the client is
92
    /// no longer needed.
93
    handle: Option<JoinHandle<()>>,
94
}
95
96
/// Shorthand for the writer side of a web-socket stream that has been split into reader and writer.
97
type MessageWriter = SplitSink<WebSocketStream<MaybeTlsStream<TcpStream>>, Message>;
98
99
/// Default broadcast capacity used when not overwritten by the user.
100
#[cfg(feature = "events")]
101
const DEFAULT_CAPACITY: usize = 100;
102
103
/// Configuration for connecting to a obs-websocket instance.
104
pub struct ConnectConfig<H, P>
105
where
106
    H: AsRef<str>,
107
    P: AsRef<str>,
108
{
109
    /// The host name, usually `localhost` unless the OBS instance is on a remote machine.
110
    pub host: H,
111
    /// Port to connect to.
112
    pub port: u16,
113
    /// Optional password to authenticate against `obs-websocket`.
114
    pub password: Option<P>,
115
    /// Optional list of event subscriptions, controlling what events to receive. By default all
116
    /// events are listened to, with the exception of high volume events.
117
    pub event_subscriptions: Option<EventSubscription>,
118
    /// Whether to use TLS when connecting. Only useful when OBS runs on a remote machine.
119
    #[cfg(feature = "tls")]
120
    pub tls: bool,
121
    /// Capacity of the broadcast channel for events. The default is `100` which should suffice.
122
    /// If the consumption of events takes a long time and the broadcast channel fills up faster
123
    /// than events are consumed, it will start dropping old messages from the queue and these will
124
    /// not be send to listeners anymore.
125
    #[cfg_attr(not(feature = "events"), allow(dead_code))]
126
    pub broadcast_capacity: Option<usize>,
127
}
128
129
const OBS_STUDIO_VERSION: Comparator = Comparator {
130
    op: Op::GreaterEq,
131
    major: 27,
132
    minor: None,
133
    patch: None,
134
    pre: Prerelease::EMPTY,
135
};
136
const OBS_WEBSOCKET_VERSION: Comparator = Comparator {
137
    op: Op::Caret,
138
    major: 5,
139
    minor: None,
140
    patch: None,
141
    pre: Prerelease::EMPTY,
142
};
143
const RPC_VERSION: u32 = 1;
144
145
impl<H, P> ConnectConfig<H, P>
146
where
147
    H: AsRef<str>,
148
    P: AsRef<str>,
149
{
150
    #[cfg(feature = "tls")]
151
13
    fn tls(&self) -> bool {
152
13
        self.tls
153
13
    }
<obws::client::ConnectConfig<alloc::string::String, alloc::string::String>>::tls
Line
Count
Source
151
13
    fn tls(&self) -> bool {
152
13
        self.tls
153
13
    }
Unexecuted instantiation: <obws::client::ConnectConfig<_, _>>::tls
Unexecuted instantiation: <obws::client::ConnectConfig<_, _>>::tls
154
155
    #[cfg(not(feature = "tls"))]
156
    fn tls(&self) -> bool {
157
        false
158
    }
159
}
160
161
impl Client {
162
    /// Connect to a obs-websocket instance on the given host and port.
163
13
    pub async fn connect(
164
13
        host: impl AsRef<str>,
165
13
        port: u16,
166
13
        password: Option<impl AsRef<str>>,
167
13
    ) -> Result<Self> {
<obws::client::Client>::connect::<alloc::string::String, alloc::string::String>
Line
Count
Source
163
13
    pub async fn connect(
164
13
        host: impl AsRef<str>,
165
13
        port: u16,
166
13
        password: Option<impl AsRef<str>>,
167
13
    ) -> Result<Self> {
Unexecuted instantiation: <obws::client::Client>::connect::<_, _>
Unexecuted instantiation: <obws::client::Client>::connect::<_, _>
168
13
        Self::connect_with_config(ConnectConfig {
169
13
            host,
170
13
            port,
171
13
            password,
172
13
            event_subscriptions: None,
173
13
            #[cfg(feature = "tls")]
174
13
            tls: false,
175
13
            broadcast_capacity: None,
176
91
        })
177
91
        .await
178
13
    }
<obws::client::Client>::connect::<alloc::string::String, alloc::string::String>::{closure#0}
Line
Count
Source
168
13
        Self::connect_with_config(ConnectConfig {
169
13
            host,
170
13
            port,
171
13
            password,
172
13
            event_subscriptions: None,
173
13
            #[cfg(feature = "tls")]
174
13
            tls: false,
175
13
            broadcast_capacity: None,
176
91
        })
177
91
        .await
178
13
    }
Unexecuted instantiation: <obws::client::Client>::connect::<_, _>::{closure#0}
Unexecuted instantiation: <obws::client::Client>::connect::<_, _>::{closure#0}
179
180
    /// Connect to a obs-websocket instance with the given configuration.
181
13
    pub async fn connect_with_config<H, P>(config: ConnectConfig<H, P>) -> Result<Self>
182
13
    where
183
13
        H: AsRef<str>,
184
13
        P: AsRef<str>,
185
13
    {
<obws::client::Client>::connect_with_config::<alloc::string::String, alloc::string::String>
Line
Count
Source
181
13
    pub async fn connect_with_config<H, P>(config: ConnectConfig<H, P>) -> Result<Self>
182
13
    where
183
13
        H: AsRef<str>,
184
13
        P: AsRef<str>,
185
13
    {
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<_, _>
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<_, _>
186
13
        let (socket, _) = tokio_tungstenite::connect_async(format!(
187
13
            "{}://{}:{}",
188
13
            if config.tls() { 
"wss"0
} else { "ws" },
189
13
            config.host.as_ref(),
190
            config.port
191
52
        ))
192
52
        .await
193
13
        .map_err(Error::Connect)
?0
;
194
195
13
        let (mut write, mut read) = socket.split();
196
13
197
13
        let receivers = Arc::new(ReceiverList::default());
198
13
        let receivers2 = Arc::clone(&receivers);
199
13
200
13
        let reidentify_receivers = Arc::new(ReidentifyReceiverList::default());
201
13
        let reidentify_receivers2 = Arc::clone(&reidentify_receivers);
202
13
203
13
        #[cfg(feature = "events")]
204
13
        let (event_sender, _) =
205
13
            broadcast::channel(config.broadcast_capacity.unwrap_or(DEFAULT_CAPACITY));
206
13
        #[cfg(feature = "events")]
207
13
        let event_sender = Arc::new(event_sender);
208
13
        #[cfg(feature = "events")]
209
13
        let events_tx = Arc::clone(&event_sender);
210
13
211
13
        self::connection::handshake(
212
13
            &mut write,
213
13
            &mut read,
214
13
            config.password.as_ref().map(AsRef::as_ref),
215
13
            config.event_subscriptions,
216
13
        )
217
13
        .await
?0
;
218
219
13
        let handle = tokio::spawn(async move {
220
525
            while let Some(Ok(
msg512
)) = read.next()
.await323
{
221
512
                if let Message::Close(
info0
) = &msg {
222
0
                    if let Some(CloseFrame { reason, .. }) = info {
223
0
                        info!(%reason, "connection closed with reason");
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<alloc::string::String, alloc::string::String>::{closure#0}::{closure#0}::{closure#1}
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<_, _>::{closure#0}::{closure#0}::{closure#1}
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<_, _>::{closure#0}::{closure#0}::{closure#1}
224
0
                    }
225
226
                    #[cfg(feature = "events")]
227
0
                    events_tx.send(Event::ServerStopping).ok();
228
0
                    continue;
229
512
                }
230
231
1.02k
                let 
res: Result<(), InnerError>512
= async {
232
512
                    let text = msg.into_text().map_err(InnerError::IntoText)
?0
;
233
234
512
                    let message = serde_json::from_str::<ServerMessage>(&text)
235
512
                        .map_err(InnerError::DeserializeMessage)
?0
;
236
237
512
                    match message {
238
277
                        ServerMessage::RequestResponse(response) => {
239
277
                            trace!(id = %response.request_id, "got request-response message");
<obws::client::Client>::connect_with_config::<alloc::string::String, alloc::string::String>::{closure#0}::{closure#0}::{closure#0}::{closure#0}
Line
Count
Source
239
277
                            trace!(id = %response.request_id, "got request-response message");
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<_, _>::{closure#0}::{closure#0}::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<_, _>::{closure#0}::{closure#0}::{closure#0}::{closure#0}
240
277
                            receivers2.notify(response)
.await0
?0
;
241
                        }
242
                        #[cfg(feature = "events")]
243
235
                        ServerMessage::Event(event) => {
244
235
                            trace!("got OBS event");
<obws::client::Client>::connect_with_config::<alloc::string::String, alloc::string::String>::{closure#0}::{closure#0}::{closure#0}::{closure#1}
Line
Count
Source
244
235
                            trace!("got OBS event");
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<_, _>::{closure#0}::{closure#0}::{closure#0}::{closure#1}
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<_, _>::{closure#0}::{closure#0}::{closure#0}::{closure#1}
245
235
                            events_tx.send(event).ok();
246
                        }
247
0
                        ServerMessage::Identified(identified) => {
248
0
                            trace!("got identified message");
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<alloc::string::String, alloc::string::String>::{closure#0}::{closure#0}::{closure#0}::{closure#2}
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<_, _>::{closure#0}::{closure#0}::{closure#0}::{closure#2}
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<_, _>::{closure#0}::{closure#0}::{closure#0}::{closure#2}
249
0
                            reidentify_receivers2.notify(identified).await;
250
                        }
251
0
                        _ => return Err(InnerError::UnexpectedMessage(message)),
252
                    }
253
254
512
                    Ok(())
255
512
                }
<obws::client::Client>::connect_with_config::<alloc::string::String, alloc::string::String>::{closure#0}::{closure#0}::{closure#0}
Line
Count
Source
231
512
                let res: Result<(), InnerError> = async {
232
512
                    let text = msg.into_text().map_err(InnerError::IntoText)
?0
;
233
234
512
                    let message = serde_json::from_str::<ServerMessage>(&text)
235
512
                        .map_err(InnerError::DeserializeMessage)
?0
;
236
237
512
                    match message {
238
277
                        ServerMessage::RequestResponse(response) => {
239
277
                            trace!(id = %response.request_id, "got request-response message");
240
277
                            receivers2.notify(response)
.await0
?0
;
241
                        }
242
                        #[cfg(feature = "events")]
243
235
                        ServerMessage::Event(event) => {
244
235
                            trace!("got OBS event");
245
235
                            events_tx.send(event).ok();
246
                        }
247
0
                        ServerMessage::Identified(identified) => {
248
0
                            trace!("got identified message");
249
0
                            reidentify_receivers2.notify(identified).await;
250
                        }
251
0
                        _ => return Err(InnerError::UnexpectedMessage(message)),
252
                    }
253
254
512
                    Ok(())
255
512
                }
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<_, _>::{closure#0}::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<_, _>::{closure#0}::{closure#0}::{closure#0}
256
0
                .await;
257
258
512
                if let Err(
error0
) = res {
259
0
                    error!(?error, "failed handling message");
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<alloc::string::String, alloc::string::String>::{closure#0}::{closure#0}::{closure#2}
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<_, _>::{closure#0}::{closure#0}::{closure#2}
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<_, _>::{closure#0}::{closure#0}::{closure#2}
260
512
                }
261
            }
262
263
            #[cfg(feature = "events")]
264
0
            events_tx.send(Event::ServerStopped).ok();
265
0
266
0
            // clear all outstanding receivers to stop them from waiting forever on responses
267
0
            // they'll never receive.
268
0
            receivers2.reset().await;
269
0
            reidentify_receivers2.reset().await;
270
13
        
}0
);
<obws::client::Client>::connect_with_config::<alloc::string::String, alloc::string::String>::{closure#0}::{closure#0}
Line
Count
Source
219
13
        let handle = tokio::spawn(async move {
220
525
            while let Some(Ok(
msg512
)) = read.next()
.await323
{
221
512
                if let Message::Close(
info0
) = &msg {
222
0
                    if let Some(CloseFrame { reason, .. }) = info {
223
0
                        info!(%reason, "connection closed with reason");
224
0
                    }
225
226
                    #[cfg(feature = "events")]
227
0
                    events_tx.send(Event::ServerStopping).ok();
228
0
                    continue;
229
512
                }
230
231
512
                let res: Result<(), InnerError> = async {
232
                    let text = msg.into_text().map_err(InnerError::IntoText)?;
233
234
                    let message = serde_json::from_str::<ServerMessage>(&text)
235
                        .map_err(InnerError::DeserializeMessage)?;
236
237
                    match message {
238
                        ServerMessage::RequestResponse(response) => {
239
                            trace!(id = %response.request_id, "got request-response message");
240
                            receivers2.notify(response).await?;
241
                        }
242
                        #[cfg(feature = "events")]
243
                        ServerMessage::Event(event) => {
244
                            trace!("got OBS event");
245
                            events_tx.send(event).ok();
246
                        }
247
                        ServerMessage::Identified(identified) => {
248
                            trace!("got identified message");
249
                            reidentify_receivers2.notify(identified).await;
250
                        }
251
                        _ => return Err(InnerError::UnexpectedMessage(message)),
252
                    }
253
254
                    Ok(())
255
0
                }
256
0
                .await;
257
258
512
                if let Err(
error0
) = res {
259
0
                    error!(?error, "failed handling message");
260
512
                }
261
            }
262
263
            #[cfg(feature = "events")]
264
0
            events_tx.send(Event::ServerStopped).ok();
265
0
266
0
            // clear all outstanding receivers to stop them from waiting forever on responses
267
0
            // they'll never receive.
268
0
            receivers2.reset().await;
269
0
            reidentify_receivers2.reset().await;
270
0
        });
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<_, _>::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<_, _>::{closure#0}::{closure#0}
271
13
272
13
        let write = Mutex::new(write);
273
13
        let id_counter = AtomicU64::new(1);
274
13
275
13
        let client = Self {
276
13
            write,
277
13
            id_counter,
278
13
            receivers,
279
13
            reidentify_receivers,
280
13
            #[cfg(feature = "events")]
281
13
            event_sender: Arc::downgrade(&event_sender),
282
13
            handle: Some(handle),
283
13
        };
284
13
285
26
        client.verify_versions().await
?0
;
286
287
13
        Ok(client)
288
13
    }
<obws::client::Client>::connect_with_config::<alloc::string::String, alloc::string::String>::{closure#0}
Line
Count
Source
186
13
        let (socket, _) = tokio_tungstenite::connect_async(format!(
187
13
            "{}://{}:{}",
188
13
            if config.tls() { 
"wss"0
} else { "ws" },
189
13
            config.host.as_ref(),
190
            config.port
191
52
        ))
192
52
        .await
193
13
        .map_err(Error::Connect)
?0
;
194
195
13
        let (mut write, mut read) = socket.split();
196
13
197
13
        let receivers = Arc::new(ReceiverList::default());
198
13
        let receivers2 = Arc::clone(&receivers);
199
13
200
13
        let reidentify_receivers = Arc::new(ReidentifyReceiverList::default());
201
13
        let reidentify_receivers2 = Arc::clone(&reidentify_receivers);
202
13
203
13
        #[cfg(feature = "events")]
204
13
        let (event_sender, _) =
205
13
            broadcast::channel(config.broadcast_capacity.unwrap_or(DEFAULT_CAPACITY));
206
13
        #[cfg(feature = "events")]
207
13
        let event_sender = Arc::new(event_sender);
208
13
        #[cfg(feature = "events")]
209
13
        let events_tx = Arc::clone(&event_sender);
210
13
211
13
        self::connection::handshake(
212
13
            &mut write,
213
13
            &mut read,
214
13
            config.password.as_ref().map(AsRef::as_ref),
215
13
            config.event_subscriptions,
216
13
        )
217
13
        .await
?0
;
218
219
13
        let handle = tokio::spawn(async move {
220
            while let Some(Ok(msg)) = read.next().await {
221
                if let Message::Close(info) = &msg {
222
                    if let Some(CloseFrame { reason, .. }) = info {
223
                        info!(%reason, "connection closed with reason");
224
                    }
225
226
                    #[cfg(feature = "events")]
227
                    events_tx.send(Event::ServerStopping).ok();
228
                    continue;
229
                }
230
231
                let res: Result<(), InnerError> = async {
232
                    let text = msg.into_text().map_err(InnerError::IntoText)?;
233
234
                    let message = serde_json::from_str::<ServerMessage>(&text)
235
                        .map_err(InnerError::DeserializeMessage)?;
236
237
                    match message {
238
                        ServerMessage::RequestResponse(response) => {
239
                            trace!(id = %response.request_id, "got request-response message");
240
                            receivers2.notify(response).await?;
241
                        }
242
                        #[cfg(feature = "events")]
243
                        ServerMessage::Event(event) => {
244
                            trace!("got OBS event");
245
                            events_tx.send(event).ok();
246
                        }
247
                        ServerMessage::Identified(identified) => {
248
                            trace!("got identified message");
249
                            reidentify_receivers2.notify(identified).await;
250
                        }
251
                        _ => return Err(InnerError::UnexpectedMessage(message)),
252
                    }
253
254
                    Ok(())
255
                }
256
                .await;
257
258
                if let Err(error) = res {
259
                    error!(?error, "failed handling message");
260
                }
261
            }
262
263
            #[cfg(feature = "events")]
264
            events_tx.send(Event::ServerStopped).ok();
265
266
            // clear all outstanding receivers to stop them from waiting forever on responses
267
            // they'll never receive.
268
            receivers2.reset().await;
269
            reidentify_receivers2.reset().await;
270
13
        });
271
13
272
13
        let write = Mutex::new(write);
273
13
        let id_counter = AtomicU64::new(1);
274
13
275
13
        let client = Self {
276
13
            write,
277
13
            id_counter,
278
13
            receivers,
279
13
            reidentify_receivers,
280
13
            #[cfg(feature = "events")]
281
13
            event_sender: Arc::downgrade(&event_sender),
282
13
            handle: Some(handle),
283
13
        };
284
13
285
26
        client.verify_versions().await
?0
;
286
287
13
        Ok(client)
288
13
    }
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<_, _>::{closure#0}
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<_, _>::{closure#0}
289
290
13
    async fn verify_versions(&self) -> Result<()> {
<obws::client::Client>::verify_versions
Line
Count
Source
290
13
    async fn verify_versions(&self) -> Result<()> {
Unexecuted instantiation: <obws::client::Client>::verify_versions
291
26
        let 
version13
=
self.general().get_version()13
.await
?0
;
292
293
13
        if !OBS_STUDIO_VERSION.matches(&version.obs_version) {
294
0
            return Err(Error::ObsStudioVersion(
295
0
                version.obs_version,
296
0
                OBS_STUDIO_VERSION,
297
0
            ));
298
13
        }
299
13
300
13
        if !OBS_WEBSOCKET_VERSION.matches(&version.obs_web_socket_version) {
301
0
            return Err(Error::ObsWebsocketVersion(
302
0
                version.obs_web_socket_version,
303
0
                OBS_WEBSOCKET_VERSION,
304
0
            ));
305
13
        }
306
13
307
13
        if RPC_VERSION != version.rpc_version {
308
0
            return Err(Error::RpcVersion {
309
0
                requested: RPC_VERSION,
310
0
                negotiated: version.rpc_version,
311
0
            });
312
13
        }
313
13
314
13
        Ok(())
315
13
    }
<obws::client::Client>::verify_versions::{closure#0}
Line
Count
Source
291
26
        let 
version13
=
self.general().get_version()13
.await
?0
;
292
293
13
        if !OBS_STUDIO_VERSION.matches(&version.obs_version) {
294
0
            return Err(Error::ObsStudioVersion(
295
0
                version.obs_version,
296
0
                OBS_STUDIO_VERSION,
297
0
            ));
298
13
        }
299
13
300
13
        if !OBS_WEBSOCKET_VERSION.matches(&version.obs_web_socket_version) {
301
0
            return Err(Error::ObsWebsocketVersion(
302
0
                version.obs_web_socket_version,
303
0
                OBS_WEBSOCKET_VERSION,
304
0
            ));
305
13
        }
306
13
307
13
        if RPC_VERSION != version.rpc_version {
308
0
            return Err(Error::RpcVersion {
309
0
                requested: RPC_VERSION,
310
0
                negotiated: version.rpc_version,
311
0
            });
312
13
        }
313
13
314
13
        Ok(())
315
13
    }
Unexecuted instantiation: <obws::client::Client>::verify_versions::{closure#0}
Unexecuted instantiation: <obws::client::Client>::verify_versions::{closure#0}
316
317
277
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
277
    where
319
277
        T: DeserializeOwned,
320
277
    {
<obws::client::Client>::send_message::<obws::responses::StreamServiceSettings<serde_json::value::Value>>
Line
Count
Source
317
1
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
1
    where
319
1
        T: DeserializeOwned,
320
1
    {
<obws::client::Client>::send_message::<obws::responses::SavedReplayPath>
Line
Count
Source
317
1
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
1
    where
319
1
        T: DeserializeOwned,
320
1
    {
<obws::client::Client>::send_message::<obws::responses::ImageData>
Line
Count
Source
317
1
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
1
    where
319
1
        T: DeserializeOwned,
320
1
    {
<obws::client::Client>::send_message::<obws::responses::SceneItemId>
Line
Count
Source
317
3
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
3
    where
319
3
        T: DeserializeOwned,
320
3
    {
<obws::client::Client>::send_message::<obws::responses::StreamStatus>
Line
Count
Source
317
1
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
1
    where
319
1
        T: DeserializeOwned,
320
1
    {
<obws::client::Client>::send_message::<obws::responses::AudioSyncOffset>
Line
Count
Source
317
1
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
1
    where
319
1
        T: DeserializeOwned,
320
1
    {
<obws::client::Client>::send_message::<obws::responses::InputMuted>
Line
Count
Source
317
3
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
3
    where
319
3
        T: DeserializeOwned,
320
3
    {
<obws::client::Client>::send_message::<obws::responses::OutputActive>
Line
Count
Source
317
34
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
34
    where
319
34
        T: DeserializeOwned,
320
34
    {
<obws::client::Client>::send_message::<obws::responses::InputKinds>
Line
Count
Source
317
1
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
1
    where
319
1
        T: DeserializeOwned,
320
1
    {
<obws::client::Client>::send_message::<obws::responses::SceneItemLocked>
Line
Count
Source
317
1
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
1
    where
319
1
        T: DeserializeOwned,
320
1
    {
<obws::client::Client>::send_message::<obws::responses::CurrentSceneTransition>
Line
Count
Source
317
1
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
1
    where
319
1
        T: DeserializeOwned,
320
1
    {
<obws::client::Client>::send_message::<obws::responses::Version>
Line
Count
Source
317
14
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
14
    where
319
14
        T: DeserializeOwned,
320
14
    {
<obws::client::Client>::send_message::<obws::responses::SceneItemIndex>
Line
Count
Source
317
1
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
1
    where
319
1
        T: DeserializeOwned,
320
1
    {
<obws::client::Client>::send_message::<obws::responses::Groups>
Line
Count
Source
317
14
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
14
    where
319
14
        T: DeserializeOwned,
320
14
    {
<obws::client::Client>::send_message::<obws::responses::DefaultInputSettings<serde_json::value::Value>>
Line
Count
Source
317
1
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
1
    where
319
1
        T: DeserializeOwned,
320
1
    {
<obws::client::Client>::send_message::<obws::responses::DefaultFilterSettings<serde_json::value::Value>>
Line
Count
Source
317
1
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
1
    where
319
1
        T: DeserializeOwned,
320
1
    {
<obws::client::Client>::send_message::<obws::responses::StudioModeEnabled>
Line
Count
Source
317
14
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
14
    where
319
14
        T: DeserializeOwned,
320
14
    {
<obws::client::Client>::send_message::<obws::responses::GetSceneItemTransform>
Line
Count
Source
317
1
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
1
    where
319
1
        T: DeserializeOwned,
320
1
    {
<obws::client::Client>::send_message::<obws::responses::AudioMonitorType>
Line
Count
Source
317
1
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
1
    where
319
1
        T: DeserializeOwned,
320
1
    {
<obws::client::Client>::send_message::<obws::responses::SceneTransitionList>
Line
Count
Source
317
1
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
1
    where
319
1
        T: DeserializeOwned,
320
1
    {
<obws::client::Client>::send_message::<obws::responses::SourceFilter>
Line
Count
Source
317
1
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
1
    where
319
1
        T: DeserializeOwned,
320
1
    {
<obws::client::Client>::send_message::<obws::responses::SceneTransitionOverride>
Line
Count
Source
317
1
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
1
    where
319
1
        T: DeserializeOwned,
320
1
    {
<obws::client::Client>::send_message::<obws::responses::RecordDirectory>
Line
Count
Source
317
1
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
1
    where
319
1
        T: DeserializeOwned,
320
1
    {
<obws::client::Client>::send_message::<obws::responses::Stats>
Line
Count
Source
317
1
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
1
    where
319
1
        T: DeserializeOwned,
320
1
    {
<obws::client::Client>::send_message::<obws::responses::VideoSettings>
Line
Count
Source
317
1
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
1
    where
319
1
        T: DeserializeOwned,
320
1
    {
<obws::client::Client>::send_message::<obws::responses::Scenes>
Line
Count
Source
317
14
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
14
    where
319
14
        T: DeserializeOwned,
320
14
    {
<obws::client::Client>::send_message::<obws::responses::MediaStatus>
Line
Count
Source
317
1
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
1
    where
319
1
        T: DeserializeOwned,
320
1
    {
<obws::client::Client>::send_message::<obws::responses::Filters>
Line
Count
Source
317
14
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
14
    where
319
14
        T: DeserializeOwned,
320
14
    {
<obws::client::Client>::send_message::<obws::responses::TransitionKinds>
Line
Count
Source
317
1
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
1
    where
319
1
        T: DeserializeOwned,
320
1
    {
<obws::client::Client>::send_message::<obws::responses::ProfileParameter>
Line
Count
Source
317
1
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
1
    where
319
1
        T: DeserializeOwned,
320
1
    {
<obws::client::Client>::send_message::<obws::responses::CurrentProgramScene>
Line
Count
Source
317
1
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
1
    where
319
1
        T: DeserializeOwned,
320
1
    {
<obws::client::Client>::send_message::<obws::responses::InputSettings<serde_json::value::Value>>
Line
Count
Source
317
1
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
1
    where
319
1
        T: DeserializeOwned,
320
1
    {
<obws::client::Client>::send_message::<obws::responses::OutputPaused>
Line
Count
Source
317
2
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
2
    where
319
2
        T: DeserializeOwned,
320
2
    {
<obws::client::Client>::send_message::<obws::responses::CurrentPreviewScene>
Line
Count
Source
317
1
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
1
    where
319
1
        T: DeserializeOwned,
320
1
    {
<obws::client::Client>::send_message::<serde_json::value::Value>
Line
Count
Source
317
1
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
1
    where
319
1
        T: DeserializeOwned,
320
1
    {
<obws::client::Client>::send_message::<obws::responses::InputVolume>
Line
Count
Source
317
1
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
1
    where
319
1
        T: DeserializeOwned,
320
1
    {
<obws::client::Client>::send_message::<obws::responses::SourceActive>
Line
Count
Source
317
1
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
1
    where
319
1
        T: DeserializeOwned,
320
1
    {
<obws::client::Client>::send_message::<obws::responses::Profiles>
Line
Count
Source
317
14
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
14
    where
319
14
        T: DeserializeOwned,
320
14
    {
<obws::client::Client>::send_message::<()>
Line
Count
Source
317
89
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
89
    where
319
89
        T: DeserializeOwned,
320
89
    {
<obws::client::Client>::send_message::<obws::responses::SceneItemList>
Line
Count
Source
317
2
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
2
    where
319
2
        T: DeserializeOwned,
320
2
    {
<obws::client::Client>::send_message::<obws::responses::SceneCollections>
Line
Count
Source
317
1
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
1
    where
319
1
        T: DeserializeOwned,
320
1
    {
<obws::client::Client>::send_message::<obws::responses::RecordStatus>
Line
Count
Source
317
14
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
14
    where
319
14
        T: DeserializeOwned,
320
14
    {
<obws::client::Client>::send_message::<obws::responses::TransitionCursor>
Line
Count
Source
317
1
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
1
    where
319
1
        T: DeserializeOwned,
320
1
    {
<obws::client::Client>::send_message::<obws::responses::Inputs>
Line
Count
Source
317
14
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
14
    where
319
14
        T: DeserializeOwned,
320
14
    {
<obws::client::Client>::send_message::<obws::responses::SceneItemEnabled>
Line
Count
Source
317
1
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
1
    where
319
1
        T: DeserializeOwned,
320
1
    {
<obws::client::Client>::send_message::<obws::responses::Hotkeys>
Line
Count
Source
317
1
    async fn send_message<T>(&self, req: RequestType<'_>) -> Result<T>
318
1
    where
319
1
        T: DeserializeOwned,
320
1
    {
Unexecuted instantiation: <obws::client::Client>::send_message::<_>
Unexecuted instantiation: <obws::client::Client>::send_message::<_>
321
277
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
277
        let id_str = id.to_string();
323
277
        let req = ClientRequest::Request(Request {
324
277
            request_id: &id_str,
325
277
            ty: req,
326
277
        });
327
277
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
277
        let rx = self.receivers.add(id)
.await0
;
330
331
277
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::InputKinds>::{closure#0}::{closure#0}
Line
Count
Source
331
1
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::OutputActive>::{closure#0}::{closure#0}
Line
Count
Source
331
34
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<serde_json::value::Value>::{closure#0}::{closure#0}
Line
Count
Source
331
1
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::ProfileParameter>::{closure#0}::{closure#0}
Line
Count
Source
331
1
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::Profiles>::{closure#0}::{closure#0}
Line
Count
Source
331
14
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::InputMuted>::{closure#0}::{closure#0}
Line
Count
Source
331
3
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::ImageData>::{closure#0}::{closure#0}
Line
Count
Source
331
1
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::AudioMonitorType>::{closure#0}::{closure#0}
Line
Count
Source
331
1
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::SceneCollections>::{closure#0}::{closure#0}
Line
Count
Source
331
1
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::GetSceneItemTransform>::{closure#0}::{closure#0}
Line
Count
Source
331
1
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::InputSettings<serde_json::value::Value>>::{closure#0}::{closure#0}
Line
Count
Source
331
1
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::SceneItemId>::{closure#0}::{closure#0}
Line
Count
Source
331
3
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::RecordStatus>::{closure#0}::{closure#0}
Line
Count
Source
331
14
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::StudioModeEnabled>::{closure#0}::{closure#0}
Line
Count
Source
331
14
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::SceneItemList>::{closure#0}::{closure#0}
Line
Count
Source
331
2
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::SceneTransitionList>::{closure#0}::{closure#0}
Line
Count
Source
331
1
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::Groups>::{closure#0}::{closure#0}
Line
Count
Source
331
14
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::SceneTransitionOverride>::{closure#0}::{closure#0}
Line
Count
Source
331
1
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::StreamServiceSettings<serde_json::value::Value>>::{closure#0}::{closure#0}
Line
Count
Source
331
1
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::Inputs>::{closure#0}::{closure#0}
Line
Count
Source
331
14
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::SourceActive>::{closure#0}::{closure#0}
Line
Count
Source
331
1
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::SourceFilter>::{closure#0}::{closure#0}
Line
Count
Source
331
1
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::CurrentSceneTransition>::{closure#0}::{closure#0}
Line
Count
Source
331
1
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::Version>::{closure#0}::{closure#0}
Line
Count
Source
331
14
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::Hotkeys>::{closure#0}::{closure#0}
Line
Count
Source
331
1
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::StreamStatus>::{closure#0}::{closure#0}
Line
Count
Source
331
1
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::RecordDirectory>::{closure#0}::{closure#0}
Line
Count
Source
331
1
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::TransitionKinds>::{closure#0}::{closure#0}
Line
Count
Source
331
1
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::Stats>::{closure#0}::{closure#0}
Line
Count
Source
331
1
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::SceneItemIndex>::{closure#0}::{closure#0}
Line
Count
Source
331
1
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::VideoSettings>::{closure#0}::{closure#0}
Line
Count
Source
331
1
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::CurrentProgramScene>::{closure#0}::{closure#0}
Line
Count
Source
331
1
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::OutputPaused>::{closure#0}::{closure#0}
Line
Count
Source
331
2
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::Scenes>::{closure#0}::{closure#0}
Line
Count
Source
331
14
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::TransitionCursor>::{closure#0}::{closure#0}
Line
Count
Source
331
1
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::AudioSyncOffset>::{closure#0}::{closure#0}
Line
Count
Source
331
1
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::SavedReplayPath>::{closure#0}::{closure#0}
Line
Count
Source
331
1
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::MediaStatus>::{closure#0}::{closure#0}
Line
Count
Source
331
1
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::SceneItemEnabled>::{closure#0}::{closure#0}
Line
Count
Source
331
1
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::CurrentPreviewScene>::{closure#0}::{closure#0}
Line
Count
Source
331
1
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::Filters>::{closure#0}::{closure#0}
Line
Count
Source
331
14
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::DefaultInputSettings<serde_json::value::Value>>::{closure#0}::{closure#0}
Line
Count
Source
331
1
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::DefaultFilterSettings<serde_json::value::Value>>::{closure#0}::{closure#0}
Line
Count
Source
331
1
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::SceneItemLocked>::{closure#0}::{closure#0}
Line
Count
Source
331
1
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<obws::responses::InputVolume>::{closure#0}::{closure#0}
Line
Count
Source
331
1
        trace!(%json, "sending message");
<obws::client::Client>::send_message::<()>::{closure#0}::{closure#0}
Line
Count
Source
331
89
        trace!(%json, "sending message");
Unexecuted instantiation: <obws::client::Client>::send_message::<_>::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::Client>::send_message::<_>::{closure#0}::{closure#0}
332
277
        let write_result = self
333
277
            .write
334
277
            .lock()
335
0
            .await
336
277
            .send(Message::Text(json))
337
0
            .await
338
277
            .map_err(Error::Send);
339
340
277
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
277
        }
344
345
554
        let (
status, resp277
) =
rx277
.await.
map_err(Error::ReceiveMessage)277
?0
;
346
277
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
277
        }
352
277
353
277
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
277
    }
<obws::client::Client>::send_message::<obws::responses::GetSceneItemTransform>::{closure#0}
Line
Count
Source
320
1
    {
321
1
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
1
        let id_str = id.to_string();
323
1
        let req = ClientRequest::Request(Request {
324
1
            request_id: &id_str,
325
1
            ty: req,
326
1
        });
327
1
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
1
        let rx = self.receivers.add(id)
.await0
;
330
331
1
        trace!(%json, "sending message");
332
1
        let write_result = self
333
1
            .write
334
1
            .lock()
335
0
            .await
336
1
            .send(Message::Text(json))
337
0
            .await
338
1
            .map_err(Error::Send);
339
340
1
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
1
        }
344
345
2
        let (
status, resp1
) =
rx1
.await.
map_err(Error::ReceiveMessage)1
?0
;
346
1
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
1
        }
352
1
353
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
1
    }
<obws::client::Client>::send_message::<obws::responses::Stats>::{closure#0}
Line
Count
Source
320
1
    {
321
1
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
1
        let id_str = id.to_string();
323
1
        let req = ClientRequest::Request(Request {
324
1
            request_id: &id_str,
325
1
            ty: req,
326
1
        });
327
1
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
1
        let rx = self.receivers.add(id)
.await0
;
330
331
1
        trace!(%json, "sending message");
332
1
        let write_result = self
333
1
            .write
334
1
            .lock()
335
0
            .await
336
1
            .send(Message::Text(json))
337
0
            .await
338
1
            .map_err(Error::Send);
339
340
1
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
1
        }
344
345
2
        let (
status, resp1
) =
rx1
.await.
map_err(Error::ReceiveMessage)1
?0
;
346
1
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
1
        }
352
1
353
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
1
    }
<obws::client::Client>::send_message::<obws::responses::CurrentSceneTransition>::{closure#0}
Line
Count
Source
320
1
    {
321
1
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
1
        let id_str = id.to_string();
323
1
        let req = ClientRequest::Request(Request {
324
1
            request_id: &id_str,
325
1
            ty: req,
326
1
        });
327
1
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
1
        let rx = self.receivers.add(id)
.await0
;
330
331
1
        trace!(%json, "sending message");
332
1
        let write_result = self
333
1
            .write
334
1
            .lock()
335
0
            .await
336
1
            .send(Message::Text(json))
337
0
            .await
338
1
            .map_err(Error::Send);
339
340
1
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
1
        }
344
345
2
        let (
status, resp1
) =
rx1
.await.
map_err(Error::ReceiveMessage)1
?0
;
346
1
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
1
        }
352
1
353
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
1
    }
<obws::client::Client>::send_message::<obws::responses::ImageData>::{closure#0}
Line
Count
Source
320
1
    {
321
1
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
1
        let id_str = id.to_string();
323
1
        let req = ClientRequest::Request(Request {
324
1
            request_id: &id_str,
325
1
            ty: req,
326
1
        });
327
1
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
1
        let rx = self.receivers.add(id)
.await0
;
330
331
1
        trace!(%json, "sending message");
332
1
        let write_result = self
333
1
            .write
334
1
            .lock()
335
0
            .await
336
1
            .send(Message::Text(json))
337
0
            .await
338
1
            .map_err(Error::Send);
339
340
1
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
1
        }
344
345
2
        let (
status, resp1
) =
rx1
.await.
map_err(Error::ReceiveMessage)1
?0
;
346
1
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
1
        }
352
1
353
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
1
    }
<obws::client::Client>::send_message::<obws::responses::RecordStatus>::{closure#0}
Line
Count
Source
320
14
    {
321
14
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
14
        let id_str = id.to_string();
323
14
        let req = ClientRequest::Request(Request {
324
14
            request_id: &id_str,
325
14
            ty: req,
326
14
        });
327
14
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
14
        let rx = self.receivers.add(id)
.await0
;
330
331
14
        trace!(%json, "sending message");
332
14
        let write_result = self
333
14
            .write
334
14
            .lock()
335
0
            .await
336
14
            .send(Message::Text(json))
337
0
            .await
338
14
            .map_err(Error::Send);
339
340
14
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
14
        }
344
345
28
        let (
status, resp14
) =
rx14
.await.
map_err(Error::ReceiveMessage)14
?0
;
346
14
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
14
        }
352
14
353
14
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
14
    }
<obws::client::Client>::send_message::<obws::responses::RecordDirectory>::{closure#0}
Line
Count
Source
320
1
    {
321
1
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
1
        let id_str = id.to_string();
323
1
        let req = ClientRequest::Request(Request {
324
1
            request_id: &id_str,
325
1
            ty: req,
326
1
        });
327
1
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
1
        let rx = self.receivers.add(id)
.await0
;
330
331
1
        trace!(%json, "sending message");
332
1
        let write_result = self
333
1
            .write
334
1
            .lock()
335
0
            .await
336
1
            .send(Message::Text(json))
337
0
            .await
338
1
            .map_err(Error::Send);
339
340
1
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
1
        }
344
345
2
        let (
status, resp1
) =
rx1
.await.
map_err(Error::ReceiveMessage)1
?0
;
346
1
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
1
        }
352
1
353
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
1
    }
<obws::client::Client>::send_message::<obws::responses::SavedReplayPath>::{closure#0}
Line
Count
Source
320
1
    {
321
1
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
1
        let id_str = id.to_string();
323
1
        let req = ClientRequest::Request(Request {
324
1
            request_id: &id_str,
325
1
            ty: req,
326
1
        });
327
1
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
1
        let rx = self.receivers.add(id)
.await0
;
330
331
1
        trace!(%json, "sending message");
332
1
        let write_result = self
333
1
            .write
334
1
            .lock()
335
0
            .await
336
1
            .send(Message::Text(json))
337
0
            .await
338
1
            .map_err(Error::Send);
339
340
1
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
1
        }
344
345
2
        let (
status, resp1
) =
rx1
.await.
map_err(Error::ReceiveMessage)1
?0
;
346
1
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
1
        }
352
1
353
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
1
    }
<obws::client::Client>::send_message::<obws::responses::InputSettings<serde_json::value::Value>>::{closure#0}
Line
Count
Source
320
1
    {
321
1
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
1
        let id_str = id.to_string();
323
1
        let req = ClientRequest::Request(Request {
324
1
            request_id: &id_str,
325
1
            ty: req,
326
1
        });
327
1
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
1
        let rx = self.receivers.add(id)
.await0
;
330
331
1
        trace!(%json, "sending message");
332
1
        let write_result = self
333
1
            .write
334
1
            .lock()
335
0
            .await
336
1
            .send(Message::Text(json))
337
0
            .await
338
1
            .map_err(Error::Send);
339
340
1
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
1
        }
344
345
2
        let (
status, resp1
) =
rx1
.await.
map_err(Error::ReceiveMessage)1
?0
;
346
1
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
1
        }
352
1
353
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
1
    }
<obws::client::Client>::send_message::<obws::responses::AudioMonitorType>::{closure#0}
Line
Count
Source
320
1
    {
321
1
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
1
        let id_str = id.to_string();
323
1
        let req = ClientRequest::Request(Request {
324
1
            request_id: &id_str,
325
1
            ty: req,
326
1
        });
327
1
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
1
        let rx = self.receivers.add(id)
.await0
;
330
331
1
        trace!(%json, "sending message");
332
1
        let write_result = self
333
1
            .write
334
1
            .lock()
335
0
            .await
336
1
            .send(Message::Text(json))
337
0
            .await
338
1
            .map_err(Error::Send);
339
340
1
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
1
        }
344
345
2
        let (
status, resp1
) =
rx1
.await.
map_err(Error::ReceiveMessage)1
?0
;
346
1
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
1
        }
352
1
353
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
1
    }
<obws::client::Client>::send_message::<obws::responses::Groups>::{closure#0}
Line
Count
Source
320
14
    {
321
14
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
14
        let id_str = id.to_string();
323
14
        let req = ClientRequest::Request(Request {
324
14
            request_id: &id_str,
325
14
            ty: req,
326
14
        });
327
14
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
14
        let rx = self.receivers.add(id)
.await0
;
330
331
14
        trace!(%json, "sending message");
332
14
        let write_result = self
333
14
            .write
334
14
            .lock()
335
0
            .await
336
14
            .send(Message::Text(json))
337
0
            .await
338
14
            .map_err(Error::Send);
339
340
14
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
14
        }
344
345
28
        let (
status, resp14
) =
rx14
.await.
map_err(Error::ReceiveMessage)14
?0
;
346
14
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
14
        }
352
14
353
14
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
14
    }
<obws::client::Client>::send_message::<obws::responses::SourceFilter>::{closure#0}
Line
Count
Source
320
1
    {
321
1
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
1
        let id_str = id.to_string();
323
1
        let req = ClientRequest::Request(Request {
324
1
            request_id: &id_str,
325
1
            ty: req,
326
1
        });
327
1
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
1
        let rx = self.receivers.add(id)
.await0
;
330
331
1
        trace!(%json, "sending message");
332
1
        let write_result = self
333
1
            .write
334
1
            .lock()
335
0
            .await
336
1
            .send(Message::Text(json))
337
0
            .await
338
1
            .map_err(Error::Send);
339
340
1
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
1
        }
344
345
2
        let (
status, resp1
) =
rx1
.await.
map_err(Error::ReceiveMessage)1
?0
;
346
1
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
1
        }
352
1
353
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
1
    }
<obws::client::Client>::send_message::<obws::responses::TransitionKinds>::{closure#0}
Line
Count
Source
320
1
    {
321
1
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
1
        let id_str = id.to_string();
323
1
        let req = ClientRequest::Request(Request {
324
1
            request_id: &id_str,
325
1
            ty: req,
326
1
        });
327
1
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
1
        let rx = self.receivers.add(id)
.await0
;
330
331
1
        trace!(%json, "sending message");
332
1
        let write_result = self
333
1
            .write
334
1
            .lock()
335
0
            .await
336
1
            .send(Message::Text(json))
337
0
            .await
338
1
            .map_err(Error::Send);
339
340
1
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
1
        }
344
345
2
        let (
status, resp1
) =
rx1
.await.
map_err(Error::ReceiveMessage)1
?0
;
346
1
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
1
        }
352
1
353
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
1
    }
<obws::client::Client>::send_message::<obws::responses::InputVolume>::{closure#0}
Line
Count
Source
320
1
    {
321
1
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
1
        let id_str = id.to_string();
323
1
        let req = ClientRequest::Request(Request {
324
1
            request_id: &id_str,
325
1
            ty: req,
326
1
        });
327
1
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
1
        let rx = self.receivers.add(id)
.await0
;
330
331
1
        trace!(%json, "sending message");
332
1
        let write_result = self
333
1
            .write
334
1
            .lock()
335
0
            .await
336
1
            .send(Message::Text(json))
337
0
            .await
338
1
            .map_err(Error::Send);
339
340
1
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
1
        }
344
345
2
        let (
status, resp1
) =
rx1
.await.
map_err(Error::ReceiveMessage)1
?0
;
346
1
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
1
        }
352
1
353
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
1
    }
<obws::client::Client>::send_message::<obws::responses::SceneTransitionOverride>::{closure#0}
Line
Count
Source
320
1
    {
321
1
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
1
        let id_str = id.to_string();
323
1
        let req = ClientRequest::Request(Request {
324
1
            request_id: &id_str,
325
1
            ty: req,
326
1
        });
327
1
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
1
        let rx = self.receivers.add(id)
.await0
;
330
331
1
        trace!(%json, "sending message");
332
1
        let write_result = self
333
1
            .write
334
1
            .lock()
335
0
            .await
336
1
            .send(Message::Text(json))
337
0
            .await
338
1
            .map_err(Error::Send);
339
340
1
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
1
        }
344
345
2
        let (
status, resp1
) =
rx1
.await.
map_err(Error::ReceiveMessage)1
?0
;
346
1
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
1
        }
352
1
353
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
1
    }
<obws::client::Client>::send_message::<obws::responses::Scenes>::{closure#0}
Line
Count
Source
320
14
    {
321
14
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
14
        let id_str = id.to_string();
323
14
        let req = ClientRequest::Request(Request {
324
14
            request_id: &id_str,
325
14
            ty: req,
326
14
        });
327
14
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
14
        let rx = self.receivers.add(id)
.await0
;
330
331
14
        trace!(%json, "sending message");
332
14
        let write_result = self
333
14
            .write
334
14
            .lock()
335
0
            .await
336
14
            .send(Message::Text(json))
337
0
            .await
338
14
            .map_err(Error::Send);
339
340
14
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
14
        }
344
345
28
        let (
status, resp14
) =
rx14
.await.
map_err(Error::ReceiveMessage)14
?0
;
346
14
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
14
        }
352
14
353
14
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
14
    }
<obws::client::Client>::send_message::<()>::{closure#0}
Line
Count
Source
320
89
    {
321
89
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
89
        let id_str = id.to_string();
323
89
        let req = ClientRequest::Request(Request {
324
89
            request_id: &id_str,
325
89
            ty: req,
326
89
        });
327
89
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
89
        let rx = self.receivers.add(id)
.await0
;
330
331
89
        trace!(%json, "sending message");
332
89
        let write_result = self
333
89
            .write
334
89
            .lock()
335
0
            .await
336
89
            .send(Message::Text(json))
337
0
            .await
338
89
            .map_err(Error::Send);
339
340
89
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
89
        }
344
345
178
        let (
status, resp89
) =
rx89
.await.
map_err(Error::ReceiveMessage)89
?0
;
346
89
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
89
        }
352
89
353
89
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
89
    }
<obws::client::Client>::send_message::<obws::responses::SceneItemIndex>::{closure#0}
Line
Count
Source
320
1
    {
321
1
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
1
        let id_str = id.to_string();
323
1
        let req = ClientRequest::Request(Request {
324
1
            request_id: &id_str,
325
1
            ty: req,
326
1
        });
327
1
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
1
        let rx = self.receivers.add(id)
.await0
;
330
331
1
        trace!(%json, "sending message");
332
1
        let write_result = self
333
1
            .write
334
1
            .lock()
335
0
            .await
336
1
            .send(Message::Text(json))
337
0
            .await
338
1
            .map_err(Error::Send);
339
340
1
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
1
        }
344
345
2
        let (
status, resp1
) =
rx1
.await.
map_err(Error::ReceiveMessage)1
?0
;
346
1
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
1
        }
352
1
353
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
1
    }
<obws::client::Client>::send_message::<obws::responses::OutputActive>::{closure#0}
Line
Count
Source
320
34
    {
321
34
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
34
        let id_str = id.to_string();
323
34
        let req = ClientRequest::Request(Request {
324
34
            request_id: &id_str,
325
34
            ty: req,
326
34
        });
327
34
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
34
        let rx = self.receivers.add(id)
.await0
;
330
331
34
        trace!(%json, "sending message");
332
34
        let write_result = self
333
34
            .write
334
34
            .lock()
335
0
            .await
336
34
            .send(Message::Text(json))
337
0
            .await
338
34
            .map_err(Error::Send);
339
340
34
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
34
        }
344
345
68
        let (
status, resp34
) =
rx34
.await.
map_err(Error::ReceiveMessage)34
?0
;
346
34
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
34
        }
352
34
353
34
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
34
    }
<obws::client::Client>::send_message::<obws::responses::SceneTransitionList>::{closure#0}
Line
Count
Source
320
1
    {
321
1
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
1
        let id_str = id.to_string();
323
1
        let req = ClientRequest::Request(Request {
324
1
            request_id: &id_str,
325
1
            ty: req,
326
1
        });
327
1
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
1
        let rx = self.receivers.add(id)
.await0
;
330
331
1
        trace!(%json, "sending message");
332
1
        let write_result = self
333
1
            .write
334
1
            .lock()
335
0
            .await
336
1
            .send(Message::Text(json))
337
0
            .await
338
1
            .map_err(Error::Send);
339
340
1
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
1
        }
344
345
2
        let (
status, resp1
) =
rx1
.await.
map_err(Error::ReceiveMessage)1
?0
;
346
1
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
1
        }
352
1
353
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
1
    }
<obws::client::Client>::send_message::<obws::responses::OutputPaused>::{closure#0}
Line
Count
Source
320
2
    {
321
2
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
2
        let id_str = id.to_string();
323
2
        let req = ClientRequest::Request(Request {
324
2
            request_id: &id_str,
325
2
            ty: req,
326
2
        });
327
2
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
2
        let rx = self.receivers.add(id)
.await0
;
330
331
2
        trace!(%json, "sending message");
332
2
        let write_result = self
333
2
            .write
334
2
            .lock()
335
0
            .await
336
2
            .send(Message::Text(json))
337
0
            .await
338
2
            .map_err(Error::Send);
339
340
2
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
2
        }
344
345
4
        let (
status, resp2
) =
rx2
.await.
map_err(Error::ReceiveMessage)2
?0
;
346
2
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
2
        }
352
2
353
2
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
2
    }
<obws::client::Client>::send_message::<obws::responses::Version>::{closure#0}
Line
Count
Source
320
14
    {
321
14
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
14
        let id_str = id.to_string();
323
14
        let req = ClientRequest::Request(Request {
324
14
            request_id: &id_str,
325
14
            ty: req,
326
14
        });
327
14
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
14
        let rx = self.receivers.add(id)
.await0
;
330
331
14
        trace!(%json, "sending message");
332
14
        let write_result = self
333
14
            .write
334
14
            .lock()
335
0
            .await
336
14
            .send(Message::Text(json))
337
0
            .await
338
14
            .map_err(Error::Send);
339
340
14
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
14
        }
344
345
28
        let (
status, resp14
) =
rx14
.await.
map_err(Error::ReceiveMessage)14
?0
;
346
14
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
14
        }
352
14
353
14
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
14
    }
<obws::client::Client>::send_message::<obws::responses::StreamServiceSettings<serde_json::value::Value>>::{closure#0}
Line
Count
Source
320
1
    {
321
1
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
1
        let id_str = id.to_string();
323
1
        let req = ClientRequest::Request(Request {
324
1
            request_id: &id_str,
325
1
            ty: req,
326
1
        });
327
1
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
1
        let rx = self.receivers.add(id)
.await0
;
330
331
1
        trace!(%json, "sending message");
332
1
        let write_result = self
333
1
            .write
334
1
            .lock()
335
0
            .await
336
1
            .send(Message::Text(json))
337
0
            .await
338
1
            .map_err(Error::Send);
339
340
1
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
1
        }
344
345
2
        let (
status, resp1
) =
rx1
.await.
map_err(Error::ReceiveMessage)1
?0
;
346
1
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
1
        }
352
1
353
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
1
    }
<obws::client::Client>::send_message::<obws::responses::DefaultFilterSettings<serde_json::value::Value>>::{closure#0}
Line
Count
Source
320
1
    {
321
1
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
1
        let id_str = id.to_string();
323
1
        let req = ClientRequest::Request(Request {
324
1
            request_id: &id_str,
325
1
            ty: req,
326
1
        });
327
1
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
1
        let rx = self.receivers.add(id)
.await0
;
330
331
1
        trace!(%json, "sending message");
332
1
        let write_result = self
333
1
            .write
334
1
            .lock()
335
0
            .await
336
1
            .send(Message::Text(json))
337
0
            .await
338
1
            .map_err(Error::Send);
339
340
1
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
1
        }
344
345
2
        let (
status, resp1
) =
rx1
.await.
map_err(Error::ReceiveMessage)1
?0
;
346
1
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
1
        }
352
1
353
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
1
    }
<obws::client::Client>::send_message::<obws::responses::InputMuted>::{closure#0}
Line
Count
Source
320
3
    {
321
3
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
3
        let id_str = id.to_string();
323
3
        let req = ClientRequest::Request(Request {
324
3
            request_id: &id_str,
325
3
            ty: req,
326
3
        });
327
3
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
3
        let rx = self.receivers.add(id)
.await0
;
330
331
3
        trace!(%json, "sending message");
332
3
        let write_result = self
333
3
            .write
334
3
            .lock()
335
0
            .await
336
3
            .send(Message::Text(json))
337
0
            .await
338
3
            .map_err(Error::Send);
339
340
3
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
3
        }
344
345
6
        let (
status, resp3
) =
rx3
.await.
map_err(Error::ReceiveMessage)3
?0
;
346
3
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
3
        }
352
3
353
3
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
3
    }
<obws::client::Client>::send_message::<obws::responses::SceneItemLocked>::{closure#0}
Line
Count
Source
320
1
    {
321
1
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
1
        let id_str = id.to_string();
323
1
        let req = ClientRequest::Request(Request {
324
1
            request_id: &id_str,
325
1
            ty: req,
326
1
        });
327
1
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
1
        let rx = self.receivers.add(id)
.await0
;
330
331
1
        trace!(%json, "sending message");
332
1
        let write_result = self
333
1
            .write
334
1
            .lock()
335
0
            .await
336
1
            .send(Message::Text(json))
337
0
            .await
338
1
            .map_err(Error::Send);
339
340
1
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
1
        }
344
345
2
        let (
status, resp1
) =
rx1
.await.
map_err(Error::ReceiveMessage)1
?0
;
346
1
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
1
        }
352
1
353
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
1
    }
<obws::client::Client>::send_message::<serde_json::value::Value>::{closure#0}
Line
Count
Source
320
1
    {
321
1
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
1
        let id_str = id.to_string();
323
1
        let req = ClientRequest::Request(Request {
324
1
            request_id: &id_str,
325
1
            ty: req,
326
1
        });
327
1
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
1
        let rx = self.receivers.add(id)
.await0
;
330
331
1
        trace!(%json, "sending message");
332
1
        let write_result = self
333
1
            .write
334
1
            .lock()
335
0
            .await
336
1
            .send(Message::Text(json))
337
0
            .await
338
1
            .map_err(Error::Send);
339
340
1
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
1
        }
344
345
2
        let (
status, resp1
) =
rx1
.await.
map_err(Error::ReceiveMessage)1
?0
;
346
1
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
1
        }
352
1
353
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
1
    }
<obws::client::Client>::send_message::<obws::responses::VideoSettings>::{closure#0}
Line
Count
Source
320
1
    {
321
1
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
1
        let id_str = id.to_string();
323
1
        let req = ClientRequest::Request(Request {
324
1
            request_id: &id_str,
325
1
            ty: req,
326
1
        });
327
1
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
1
        let rx = self.receivers.add(id)
.await0
;
330
331
1
        trace!(%json, "sending message");
332
1
        let write_result = self
333
1
            .write
334
1
            .lock()
335
0
            .await
336
1
            .send(Message::Text(json))
337
0
            .await
338
1
            .map_err(Error::Send);
339
340
1
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
1
        }
344
345
2
        let (
status, resp1
) =
rx1
.await.
map_err(Error::ReceiveMessage)1
?0
;
346
1
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
1
        }
352
1
353
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
1
    }
<obws::client::Client>::send_message::<obws::responses::CurrentPreviewScene>::{closure#0}
Line
Count
Source
320
1
    {
321
1
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
1
        let id_str = id.to_string();
323
1
        let req = ClientRequest::Request(Request {
324
1
            request_id: &id_str,
325
1
            ty: req,
326
1
        });
327
1
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
1
        let rx = self.receivers.add(id)
.await0
;
330
331
1
        trace!(%json, "sending message");
332
1
        let write_result = self
333
1
            .write
334
1
            .lock()
335
0
            .await
336
1
            .send(Message::Text(json))
337
0
            .await
338
1
            .map_err(Error::Send);
339
340
1
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
1
        }
344
345
2
        let (
status, resp1
) =
rx1
.await.
map_err(Error::ReceiveMessage)1
?0
;
346
1
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
1
        }
352
1
353
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
1
    }
<obws::client::Client>::send_message::<obws::responses::Filters>::{closure#0}
Line
Count
Source
320
14
    {
321
14
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
14
        let id_str = id.to_string();
323
14
        let req = ClientRequest::Request(Request {
324
14
            request_id: &id_str,
325
14
            ty: req,
326
14
        });
327
14
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
14
        let rx = self.receivers.add(id)
.await0
;
330
331
14
        trace!(%json, "sending message");
332
14
        let write_result = self
333
14
            .write
334
14
            .lock()
335
0
            .await
336
14
            .send(Message::Text(json))
337
0
            .await
338
14
            .map_err(Error::Send);
339
340
14
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
14
        }
344
345
28
        let (
status, resp14
) =
rx14
.await.
map_err(Error::ReceiveMessage)14
?0
;
346
14
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
14
        }
352
14
353
14
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
14
    }
<obws::client::Client>::send_message::<obws::responses::SceneCollections>::{closure#0}
Line
Count
Source
320
1
    {
321
1
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
1
        let id_str = id.to_string();
323
1
        let req = ClientRequest::Request(Request {
324
1
            request_id: &id_str,
325
1
            ty: req,
326
1
        });
327
1
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
1
        let rx = self.receivers.add(id)
.await0
;
330
331
1
        trace!(%json, "sending message");
332
1
        let write_result = self
333
1
            .write
334
1
            .lock()
335
0
            .await
336
1
            .send(Message::Text(json))
337
0
            .await
338
1
            .map_err(Error::Send);
339
340
1
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
1
        }
344
345
2
        let (
status, resp1
) =
rx1
.await.
map_err(Error::ReceiveMessage)1
?0
;
346
1
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
1
        }
352
1
353
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
1
    }
<obws::client::Client>::send_message::<obws::responses::DefaultInputSettings<serde_json::value::Value>>::{closure#0}
Line
Count
Source
320
1
    {
321
1
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
1
        let id_str = id.to_string();
323
1
        let req = ClientRequest::Request(Request {
324
1
            request_id: &id_str,
325
1
            ty: req,
326
1
        });
327
1
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
1
        let rx = self.receivers.add(id)
.await0
;
330
331
1
        trace!(%json, "sending message");
332
1
        let write_result = self
333
1
            .write
334
1
            .lock()
335
0
            .await
336
1
            .send(Message::Text(json))
337
0
            .await
338
1
            .map_err(Error::Send);
339
340
1
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
1
        }
344
345
2
        let (
status, resp1
) =
rx1
.await.
map_err(Error::ReceiveMessage)1
?0
;
346
1
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
1
        }
352
1
353
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
1
    }
<obws::client::Client>::send_message::<obws::responses::MediaStatus>::{closure#0}
Line
Count
Source
320
1
    {
321
1
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
1
        let id_str = id.to_string();
323
1
        let req = ClientRequest::Request(Request {
324
1
            request_id: &id_str,
325
1
            ty: req,
326
1
        });
327
1
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
1
        let rx = self.receivers.add(id)
.await0
;
330
331
1
        trace!(%json, "sending message");
332
1
        let write_result = self
333
1
            .write
334
1
            .lock()
335
0
            .await
336
1
            .send(Message::Text(json))
337
0
            .await
338
1
            .map_err(Error::Send);
339
340
1
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
1
        }
344
345
2
        let (
status, resp1
) =
rx1
.await.
map_err(Error::ReceiveMessage)1
?0
;
346
1
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
1
        }
352
1
353
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
1
    }
<obws::client::Client>::send_message::<obws::responses::SceneItemList>::{closure#0}
Line
Count
Source
320
2
    {
321
2
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
2
        let id_str = id.to_string();
323
2
        let req = ClientRequest::Request(Request {
324
2
            request_id: &id_str,
325
2
            ty: req,
326
2
        });
327
2
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
2
        let rx = self.receivers.add(id)
.await0
;
330
331
2
        trace!(%json, "sending message");
332
2
        let write_result = self
333
2
            .write
334
2
            .lock()
335
0
            .await
336
2
            .send(Message::Text(json))
337
0
            .await
338
2
            .map_err(Error::Send);
339
340
2
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
2
        }
344
345
4
        let (
status, resp2
) =
rx2
.await.
map_err(Error::ReceiveMessage)2
?0
;
346
2
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
2
        }
352
2
353
2
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
2
    }
<obws::client::Client>::send_message::<obws::responses::CurrentProgramScene>::{closure#0}
Line
Count
Source
320
1
    {
321
1
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
1
        let id_str = id.to_string();
323
1
        let req = ClientRequest::Request(Request {
324
1
            request_id: &id_str,
325
1
            ty: req,
326
1
        });
327
1
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
1
        let rx = self.receivers.add(id)
.await0
;
330
331
1
        trace!(%json, "sending message");
332
1
        let write_result = self
333
1
            .write
334
1
            .lock()
335
0
            .await
336
1
            .send(Message::Text(json))
337
0
            .await
338
1
            .map_err(Error::Send);
339
340
1
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
1
        }
344
345
2
        let (
status, resp1
) =
rx1
.await.
map_err(Error::ReceiveMessage)1
?0
;
346
1
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
1
        }
352
1
353
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
1
    }
<obws::client::Client>::send_message::<obws::responses::InputKinds>::{closure#0}
Line
Count
Source
320
1
    {
321
1
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
1
        let id_str = id.to_string();
323
1
        let req = ClientRequest::Request(Request {
324
1
            request_id: &id_str,
325
1
            ty: req,
326
1
        });
327
1
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
1
        let rx = self.receivers.add(id)
.await0
;
330
331
1
        trace!(%json, "sending message");
332
1
        let write_result = self
333
1
            .write
334
1
            .lock()
335
0
            .await
336
1
            .send(Message::Text(json))
337
0
            .await
338
1
            .map_err(Error::Send);
339
340
1
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
1
        }
344
345
2
        let (
status, resp1
) =
rx1
.await.
map_err(Error::ReceiveMessage)1
?0
;
346
1
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
1
        }
352
1
353
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
1
    }
<obws::client::Client>::send_message::<obws::responses::SceneItemEnabled>::{closure#0}
Line
Count
Source
320
1
    {
321
1
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
1
        let id_str = id.to_string();
323
1
        let req = ClientRequest::Request(Request {
324
1
            request_id: &id_str,
325
1
            ty: req,
326
1
        });
327
1
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
1
        let rx = self.receivers.add(id)
.await0
;
330
331
1
        trace!(%json, "sending message");
332
1
        let write_result = self
333
1
            .write
334
1
            .lock()
335
0
            .await
336
1
            .send(Message::Text(json))
337
0
            .await
338
1
            .map_err(Error::Send);
339
340
1
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
1
        }
344
345
2
        let (
status, resp1
) =
rx1
.await.
map_err(Error::ReceiveMessage)1
?0
;
346
1
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
1
        }
352
1
353
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
1
    }
<obws::client::Client>::send_message::<obws::responses::AudioSyncOffset>::{closure#0}
Line
Count
Source
320
1
    {
321
1
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
1
        let id_str = id.to_string();
323
1
        let req = ClientRequest::Request(Request {
324
1
            request_id: &id_str,
325
1
            ty: req,
326
1
        });
327
1
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
1
        let rx = self.receivers.add(id)
.await0
;
330
331
1
        trace!(%json, "sending message");
332
1
        let write_result = self
333
1
            .write
334
1
            .lock()
335
0
            .await
336
1
            .send(Message::Text(json))
337
0
            .await
338
1
            .map_err(Error::Send);
339
340
1
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
1
        }
344
345
2
        let (
status, resp1
) =
rx1
.await.
map_err(Error::ReceiveMessage)1
?0
;
346
1
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
1
        }
352
1
353
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
1
    }
<obws::client::Client>::send_message::<obws::responses::StreamStatus>::{closure#0}
Line
Count
Source
320
1
    {
321
1
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
1
        let id_str = id.to_string();
323
1
        let req = ClientRequest::Request(Request {
324
1
            request_id: &id_str,
325
1
            ty: req,
326
1
        });
327
1
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
1
        let rx = self.receivers.add(id)
.await0
;
330
331
1
        trace!(%json, "sending message");
332
1
        let write_result = self
333
1
            .write
334
1
            .lock()
335
0
            .await
336
1
            .send(Message::Text(json))
337
0
            .await
338
1
            .map_err(Error::Send);
339
340
1
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
1
        }
344
345
2
        let (
status, resp1
) =
rx1
.await.
map_err(Error::ReceiveMessage)1
?0
;
346
1
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
1
        }
352
1
353
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
1
    }
<obws::client::Client>::send_message::<obws::responses::StudioModeEnabled>::{closure#0}
Line
Count
Source
320
14
    {
321
14
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
14
        let id_str = id.to_string();
323
14
        let req = ClientRequest::Request(Request {
324
14
            request_id: &id_str,
325
14
            ty: req,
326
14
        });
327
14
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
14
        let rx = self.receivers.add(id)
.await0
;
330
331
14
        trace!(%json, "sending message");
332
14
        let write_result = self
333
14
            .write
334
14
            .lock()
335
0
            .await
336
14
            .send(Message::Text(json))
337
0
            .await
338
14
            .map_err(Error::Send);
339
340
14
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
14
        }
344
345
28
        let (
status, resp14
) =
rx14
.await.
map_err(Error::ReceiveMessage)14
?0
;
346
14
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
14
        }
352
14
353
14
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
14
    }
<obws::client::Client>::send_message::<obws::responses::ProfileParameter>::{closure#0}
Line
Count
Source
320
1
    {
321
1
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
1
        let id_str = id.to_string();
323
1
        let req = ClientRequest::Request(Request {
324
1
            request_id: &id_str,
325
1
            ty: req,
326
1
        });
327
1
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
1
        let rx = self.receivers.add(id)
.await0
;
330
331
1
        trace!(%json, "sending message");
332
1
        let write_result = self
333
1
            .write
334
1
            .lock()
335
0
            .await
336
1
            .send(Message::Text(json))
337
0
            .await
338
1
            .map_err(Error::Send);
339
340
1
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
1
        }
344
345
2
        let (
status, resp1
) =
rx1
.await.
map_err(Error::ReceiveMessage)1
?0
;
346
1
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
1
        }
352
1
353
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
1
    }
<obws::client::Client>::send_message::<obws::responses::Hotkeys>::{closure#0}
Line
Count
Source
320
1
    {
321
1
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
1
        let id_str = id.to_string();
323
1
        let req = ClientRequest::Request(Request {
324
1
            request_id: &id_str,
325
1
            ty: req,
326
1
        });
327
1
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
1
        let rx = self.receivers.add(id)
.await0
;
330
331
1
        trace!(%json, "sending message");
332
1
        let write_result = self
333
1
            .write
334
1
            .lock()
335
0
            .await
336
1
            .send(Message::Text(json))
337
0
            .await
338
1
            .map_err(Error::Send);
339
340
1
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
1
        }
344
345
2
        let (
status, resp1
) =
rx1
.await.
map_err(Error::ReceiveMessage)1
?0
;
346
1
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
1
        }
352
1
353
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
1
    }
<obws::client::Client>::send_message::<obws::responses::Profiles>::{closure#0}
Line
Count
Source
320
14
    {
321
14
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
14
        let id_str = id.to_string();
323
14
        let req = ClientRequest::Request(Request {
324
14
            request_id: &id_str,
325
14
            ty: req,
326
14
        });
327
14
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
14
        let rx = self.receivers.add(id)
.await0
;
330
331
14
        trace!(%json, "sending message");
332
14
        let write_result = self
333
14
            .write
334
14
            .lock()
335
0
            .await
336
14
            .send(Message::Text(json))
337
0
            .await
338
14
            .map_err(Error::Send);
339
340
14
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
14
        }
344
345
28
        let (
status, resp14
) =
rx14
.await.
map_err(Error::ReceiveMessage)14
?0
;
346
14
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
14
        }
352
14
353
14
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
14
    }
<obws::client::Client>::send_message::<obws::responses::Inputs>::{closure#0}
Line
Count
Source
320
14
    {
321
14
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
14
        let id_str = id.to_string();
323
14
        let req = ClientRequest::Request(Request {
324
14
            request_id: &id_str,
325
14
            ty: req,
326
14
        });
327
14
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
14
        let rx = self.receivers.add(id)
.await0
;
330
331
14
        trace!(%json, "sending message");
332
14
        let write_result = self
333
14
            .write
334
14
            .lock()
335
0
            .await
336
14
            .send(Message::Text(json))
337
0
            .await
338
14
            .map_err(Error::Send);
339
340
14
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
14
        }
344
345
28
        let (
status, resp14
) =
rx14
.await.
map_err(Error::ReceiveMessage)14
?0
;
346
14
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
14
        }
352
14
353
14
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
14
    }
<obws::client::Client>::send_message::<obws::responses::SceneItemId>::{closure#0}
Line
Count
Source
320
3
    {
321
3
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
3
        let id_str = id.to_string();
323
3
        let req = ClientRequest::Request(Request {
324
3
            request_id: &id_str,
325
3
            ty: req,
326
3
        });
327
3
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
3
        let rx = self.receivers.add(id)
.await0
;
330
331
3
        trace!(%json, "sending message");
332
3
        let write_result = self
333
3
            .write
334
3
            .lock()
335
0
            .await
336
3
            .send(Message::Text(json))
337
0
            .await
338
3
            .map_err(Error::Send);
339
340
3
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
3
        }
344
345
6
        let (
status, resp3
) =
rx3
.await.
map_err(Error::ReceiveMessage)3
?0
;
346
3
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
3
        }
352
3
353
3
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
3
    }
<obws::client::Client>::send_message::<obws::responses::SourceActive>::{closure#0}
Line
Count
Source
320
1
    {
321
1
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
1
        let id_str = id.to_string();
323
1
        let req = ClientRequest::Request(Request {
324
1
            request_id: &id_str,
325
1
            ty: req,
326
1
        });
327
1
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
1
        let rx = self.receivers.add(id)
.await0
;
330
331
1
        trace!(%json, "sending message");
332
1
        let write_result = self
333
1
            .write
334
1
            .lock()
335
0
            .await
336
1
            .send(Message::Text(json))
337
0
            .await
338
1
            .map_err(Error::Send);
339
340
1
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
1
        }
344
345
2
        let (
status, resp1
) =
rx1
.await.
map_err(Error::ReceiveMessage)1
?0
;
346
1
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
1
        }
352
1
353
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
1
    }
<obws::client::Client>::send_message::<obws::responses::TransitionCursor>::{closure#0}
Line
Count
Source
320
1
    {
321
1
        let id = self.id_counter.fetch_add(1, Ordering::SeqCst);
322
1
        let id_str = id.to_string();
323
1
        let req = ClientRequest::Request(Request {
324
1
            request_id: &id_str,
325
1
            ty: req,
326
1
        });
327
1
        let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
328
329
1
        let rx = self.receivers.add(id)
.await0
;
330
331
1
        trace!(%json, "sending message");
332
1
        let write_result = self
333
1
            .write
334
1
            .lock()
335
0
            .await
336
1
            .send(Message::Text(json))
337
0
            .await
338
1
            .map_err(Error::Send);
339
340
1
        if let Err(
e0
) = write_result {
341
0
            self.receivers.remove(id).await;
342
0
            return Err(e);
343
1
        }
344
345
2
        let (
status, resp1
) =
rx1
.await.
map_err(Error::ReceiveMessage)1
?0
;
346
1
        if !status.result {
347
0
            return Err(Error::Api {
348
0
                code: status.code,
349
0
                message: status.comment,
350
0
            });
351
1
        }
352
1
353
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
354
1
    }
Unexecuted instantiation: <obws::client::Client>::send_message::<_>::{closure#0}
Unexecuted instantiation: <obws::client::Client>::send_message::<_>::{closure#0}
355
356
    /// Disconnect from obs-websocket and shut down all machinery.
357
    ///
358
    /// This is called automatically when dropping the client but doesn't wait for all background
359
    /// tasks to complete. Therefore, it is recommended to call this manually once the client is
360
    /// no longer needed.
361
13
    pub fn disconnect(&mut self) -> impl Future {
362
13
        let handle = self.handle.take().map(|h| {
363
13
            h.abort();
364
13
            h
365
13
        });
<obws::client::Client>::disconnect::{closure#0}
Line
Count
Source
362
13
        let handle = self.handle.take().map(|h| {
363
13
            h.abort();
364
13
            h
365
13
        });
Unexecuted instantiation: <obws::client::Client>::disconnect::{closure#0}
366
367
        async {
368
0
            if let Some(h) = handle {
369
0
                h.await.ok();
370
0
            }
371
0
        }
Unexecuted instantiation: <obws::client::Client>::disconnect::{closure#1}
Unexecuted instantiation: <obws::client::Client>::disconnect::{closure#1}
372
13
    }
<obws::client::Client>::disconnect
Line
Count
Source
361
13
    pub fn disconnect(&mut self) -> impl Future {
362
13
        let handle = self.handle.take().map(|h| {
363
            h.abort();
364
            h
365
13
        });
366
367
        async {
368
            if let Some(h) = handle {
369
                h.await.ok();
370
            }
371
        }
372
13
    }
Unexecuted instantiation: <obws::client::Client>::disconnect
373
374
    /// Adjust settings of the currently active connection by re-identifying against
375
    /// `obs-websocket`.
376
    ///
377
    /// This currently allows to change the events to listen for, without the need of a full
378
    /// disconnect and new connection.
379
0
    pub async fn reidentify(&self, event_subscriptions: EventSubscription) -> Result<()> {
Unexecuted instantiation: <obws::client::Client>::reidentify
Unexecuted instantiation: <obws::client::Client>::reidentify
380
0
        let json = serde_json::to_string(&ClientRequest::Reidentify(Reidentify {
381
0
            event_subscriptions: Some(event_subscriptions),
382
0
        }))
383
0
        .map_err(Error::SerializeMessage)?;
384
385
0
        let rx = self.reidentify_receivers.add().await;
386
387
0
        self.write
388
0
            .lock()
389
0
            .await
390
0
            .send(Message::Text(json))
391
0
            .await
392
0
            .map_err(Error::Send)?;
393
394
0
        let resp = rx.await.map_err(Error::ReceiveMessage)?;
395
0
        debug!(
396
0
            rpc_version = %resp.negotiated_rpc_version,
397
0
            "re-identified against obs-websocket",
398
0
        );
Unexecuted instantiation: <obws::client::Client>::reidentify::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::Client>::reidentify::{closure#0}::{closure#0}
399
400
0
        Ok(())
401
0
    }
Unexecuted instantiation: <obws::client::Client>::reidentify::{closure#0}
Unexecuted instantiation: <obws::client::Client>::reidentify::{closure#0}
402
403
    /// Get a stream of events. Each call to this function creates a new listener, therefore it's
404
    /// recommended to keep the stream around and iterate over it.
405
    ///
406
    /// **Note**: To be able to iterate over the stream you have to pin it with
407
    /// [`futures_util::pin_mut`] for example.
408
    ///
409
    /// # Errors
410
    ///
411
    /// Getting a new stream of events fails with [`Error::Disconnected`] if the client is
412
    /// disconnected from obs-websocket. That can happen either by manually disconnecting, stopping
413
    /// obs-websocket or closing OBS.
414
    #[cfg(feature = "events")]
415
    pub fn events(&self) -> Result<impl Stream<Item = Event>> {
416
3
        if let Some(sender) = &self.event_sender.upgrade() {
417
3
            let mut receiver = sender.subscribe();
418
3
419
3
            Ok(async_stream::stream! {
420
41
                while let Ok(
event25
) = receiver.recv().await {
421
25
                    yield event;
<obws::client::Client>::events::{closure#0}
Line
Count
Source
419
3
            Ok(async_stream::stream! {
420
41
                while let Ok(
event25
) = receiver.recv().await {
421
25
                    yield event;
Unexecuted instantiation: <obws::client::Client>::events::{closure#0}
Unexecuted instantiation: <obws::client::Client>::events::{closure#0}
422
3
                }
423
3
            })
424
        } else {
425
0
            Err(crate::Error::Disconnected)
426
        }
427
3
    }
<obws::client::Client>::events
Line
Count
Source
416
3
        if let Some(sender) = &self.event_sender.upgrade() {
417
3
            let mut receiver = sender.subscribe();
418
3
419
3
            Ok(async_stream::stream! {
420
3
                while let Ok(event) = receiver.recv().await {
421
3
                    yield event;
422
3
                }
423
3
            })
424
        } else {
425
0
            Err(crate::Error::Disconnected)
426
        }
427
3
    }
Unexecuted instantiation: <obws::client::Client>::events
428
429
    /// Access API functions related to OBS configuration.
430
14
    pub fn config(&self) -> Config<'_> {
431
14
        Config { client: self }
432
14
    }
<obws::client::Client>::config
Line
Count
Source
430
14
    pub fn config(&self) -> Config<'_> {
431
14
        Config { client: self }
432
14
    }
Unexecuted instantiation: <obws::client::Client>::config
433
434
    /// Access API functions related to filters.
435
14
    pub fn filters(&self) -> Filters<'_> {
436
14
        Filters { client: self }
437
14
    }
<obws::client::Client>::filters
Line
Count
Source
435
14
    pub fn filters(&self) -> Filters<'_> {
436
14
        Filters { client: self }
437
14
    }
Unexecuted instantiation: <obws::client::Client>::filters
438
439
    /// Access general API functions.
440
14
    pub fn general(&self) -> General<'_> {
441
14
        General { client: self }
442
14
    }
<obws::client::Client>::general
Line
Count
Source
440
14
    pub fn general(&self) -> General<'_> {
441
14
        General { client: self }
442
14
    }
Unexecuted instantiation: <obws::client::Client>::general
443
444
    /// Access API functions related to inputs.
445
14
    pub fn inputs(&self) -> Inputs<'_> {
446
14
        Inputs { client: self }
447
14
    }
<obws::client::Client>::inputs
Line
Count
Source
445
14
    pub fn inputs(&self) -> Inputs<'_> {
446
14
        Inputs { client: self }
447
14
    }
Unexecuted instantiation: <obws::client::Client>::inputs
448
449
    /// Access API functions related to media inputs.
450
1
    pub fn media_inputs(&self) -> MediaInputs<'_> {
451
1
        MediaInputs { client: self }
452
1
    }
<obws::client::Client>::media_inputs
Line
Count
Source
450
1
    pub fn media_inputs(&self) -> MediaInputs<'_> {
451
1
        MediaInputs { client: self }
452
1
    }
Unexecuted instantiation: <obws::client::Client>::media_inputs
453
454
    /// Access API functions related to outputs.
455
27
    pub fn outputs(&self) -> Outputs<'_> {
456
27
        Outputs { client: self }
457
27
    }
<obws::client::Client>::outputs
Line
Count
Source
455
27
    pub fn outputs(&self) -> Outputs<'_> {
456
27
        Outputs { client: self }
457
27
    }
Unexecuted instantiation: <obws::client::Client>::outputs
458
459
    /// Access API functions related to recording.
460
14
    pub fn recording(&self) -> Recording<'_> {
461
14
        Recording { client: self }
462
14
    }
<obws::client::Client>::recording
Line
Count
Source
460
14
    pub fn recording(&self) -> Recording<'_> {
461
14
        Recording { client: self }
462
14
    }
Unexecuted instantiation: <obws::client::Client>::recording
463
464
    /// Access API functions related to scene items.
465
1
    pub fn scene_items(&self) -> SceneItems<'_> {
466
1
        SceneItems { client: self }
467
1
    }
<obws::client::Client>::scene_items
Line
Count
Source
465
1
    pub fn scene_items(&self) -> SceneItems<'_> {
466
1
        SceneItems { client: self }
467
1
    }
Unexecuted instantiation: <obws::client::Client>::scene_items
468
469
    /// Access API functions related to scenes.
470
40
    pub fn scenes(&self) -> Scenes<'_> {
471
40
        Scenes { client: self }
472
40
    }
<obws::client::Client>::scenes
Line
Count
Source
470
40
    pub fn scenes(&self) -> Scenes<'_> {
471
40
        Scenes { client: self }
472
40
    }
Unexecuted instantiation: <obws::client::Client>::scenes
473
474
    /// Access API functions related to sources.
475
1
    pub fn sources(&self) -> Sources<'_> {
476
1
        Sources { client: self }
477
1
    }
<obws::client::Client>::sources
Line
Count
Source
475
1
    pub fn sources(&self) -> Sources<'_> {
476
1
        Sources { client: self }
477
1
    }
Unexecuted instantiation: <obws::client::Client>::sources
478
479
    /// Access API functions related to streaming.
480
1
    pub fn streaming(&self) -> Streaming<'_> {
481
1
        Streaming { client: self }
482
1
    }
<obws::client::Client>::streaming
Line
Count
Source
480
1
    pub fn streaming(&self) -> Streaming<'_> {
481
1
        Streaming { client: self }
482
1
    }
Unexecuted instantiation: <obws::client::Client>::streaming
483
484
    /// Access API functions related to transitions.
485
1
    pub fn transitions(&self) -> Transitions<'_> {
486
1
        Transitions { client: self }
487
1
    }
<obws::client::Client>::transitions
Line
Count
Source
485
1
    pub fn transitions(&self) -> Transitions<'_> {
486
1
        Transitions { client: self }
487
1
    }
Unexecuted instantiation: <obws::client::Client>::transitions
488
489
    /// Access API functions related to the user interface.
490
16
    pub fn ui(&self) -> Ui<'_> {
491
16
        Ui { client: self }
492
16
    }
<obws::client::Client>::ui
Line
Count
Source
490
16
    pub fn ui(&self) -> Ui<'_> {
491
16
        Ui { client: self }
492
16
    }
Unexecuted instantiation: <obws::client::Client>::ui
493
}
494
495
impl Drop for Client {
496
13
    fn drop(&mut self) {
497
13
        // We simply drop the future as the background task has been aborted but we have no way here
498
13
        // to wait for it to fully shut down (except spinning up a new tokio runtime).
499
13
        drop(self.disconnect());
500
13
    }
<obws::client::Client as core::ops::drop::Drop>::drop
Line
Count
Source
496
13
    fn drop(&mut self) {
497
13
        // We simply drop the future as the background task has been aborted but we have no way here
498
13
        // to wait for it to fully shut down (except spinning up a new tokio runtime).
499
13
        drop(self.disconnect());
500
13
    }
Unexecuted instantiation: <obws::client::Client as core::ops::drop::Drop>::drop
501
}
\ No newline at end of file +

Coverage Report

Created: 2022-07-04 16:17

src/client/mod.rs
Line
Count
Source (jump to first uncovered line)
1
//! The client to the obs-websocket API and main entry point.
2
3
#[cfg(feature = "events")]
4
use std::sync::Weak;
5
use std::{
6
    future::Future,
7
    sync::{
8
        atomic::{AtomicU64, Ordering},
9
        Arc,
10
    },
11
};
12
13
#[cfg(feature = "events")]
14
use futures_util::stream::Stream;
15
use futures_util::{
16
    sink::SinkExt,
17
    stream::{SplitSink, StreamExt},
18
};
19
use semver::{Comparator, Op, Prerelease};
20
use serde::de::DeserializeOwned;
21
#[cfg(feature = "events")]
22
use tokio::sync::broadcast;
23
use tokio::{net::TcpStream, sync::Mutex, task::JoinHandle};
24
use tokio_tungstenite::{
25
    tungstenite::{protocol::CloseFrame, Message},
26
    MaybeTlsStream, WebSocketStream,
27
};
28
use tracing::{debug, error, info, trace};
29
30
use self::connection::{ReceiverList, ReidentifyReceiverList};
31
pub use self::{
32
    config::Config, connection::HandshakeError, filters::Filters, general::General,
33
    hotkeys::Hotkeys, inputs::Inputs, media_inputs::MediaInputs, outputs::Outputs,
34
    profiles::Profiles, recording::Recording, replay_buffer::ReplayBuffer,
35
    scene_collections::SceneCollections, scene_items::SceneItems, scenes::Scenes, sources::Sources,
36
    streaming::Streaming, transitions::Transitions, ui::Ui, virtual_cam::VirtualCam,
37
};
38
#[cfg(feature = "events")]
39
use crate::events::Event;
40
use crate::{
41
    requests::{ClientRequest, EventSubscription, Reidentify, Request, RequestType},
42
    responses::ServerMessage,
43
    Error, Result,
44
};
45
46
mod config;
47
mod connection;
48
mod filters;
49
mod general;
50
mod hotkeys;
51
mod inputs;
52
mod media_inputs;
53
mod outputs;
54
mod profiles;
55
mod recording;
56
mod replay_buffer;
57
mod scene_collections;
58
mod scene_items;
59
mod scenes;
60
mod sources;
61
mod streaming;
62
mod transitions;
63
mod ui;
64
mod virtual_cam;
65
66
0
#[derive(Debug, thiserror::Error)]
Unexecuted instantiation: <obws::client::InnerError as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::client::InnerError as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::client::InnerError as core::fmt::Display>::fmt
Unexecuted instantiation: <obws::client::InnerError as std::error::Error>::source
Unexecuted instantiation: <obws::client::InnerError as std::error::Error>::source
Unexecuted instantiation: <obws::client::InnerError as core::fmt::Display>::fmt
67
enum InnerError {
68
    #[error("websocket message not convertible to text")]
69
    IntoText(#[source] tokio_tungstenite::tungstenite::Error),
70
    #[error("failed deserializing message")]
71
    DeserializeMessage(#[source] serde_json::Error),
72
    #[error("the request ID `{0}` is not an integer")]
73
    InvalidRequestId(#[source] std::num::ParseIntError, String),
74
    #[error("received unexpected server message: {0:?}")]
75
    UnexpectedMessage(ServerMessage),
76
}
77
78
/// The client is the main entry point to access the obs-websocket API. It allows to call various
79
/// functions to remote control an OBS instance as well as to listen to events caused by the user
80
/// by interacting with OBS.
81
pub struct Client {
82
    /// The writer handle to the web-socket stream.
83
    write: Mutex<MessageWriter>,
84
    /// Global counter for requests that help to find out what response belongs to what previously
85
    /// sent request.
86
    id_counter: AtomicU64,
87
    /// A list of currently waiting requests to get a response back. The key is the string version
88
    /// of a request ID and the value is a oneshot sender that allows to send the response back to
89
    /// the other end that waits for the response.
90
    receivers: Arc<ReceiverList>,
91
    /// A list of awaiting [`Self::reidentify`] requests, waiting for confirmation. As
92
    /// these requests don't carry any kind of ID, they're handled sequentially and must be tracked
93
    /// separate from normal requests.
94
    reidentify_receivers: Arc<ReidentifyReceiverList>,
95
    /// Broadcast sender that distributes received events to all current listeners. Events are
96
    /// dropped if nobody listens.
97
    #[cfg(feature = "events")]
98
    event_sender: Weak<broadcast::Sender<Event>>,
99
    /// Handle to the background task that receives messages and distributes them to waiting
100
    /// receivers and event listeners. It allows to shut down all the machinery once the client is
101
    /// no longer needed.
102
    handle: Option<JoinHandle<()>>,
103
}
104
105
/// Shorthand for the writer side of a web-socket stream that has been split into reader and writer.
106
type MessageWriter = SplitSink<WebSocketStream<MaybeTlsStream<TcpStream>>, Message>;
107
108
/// Default broadcast capacity used when not overwritten by the user.
109
#[cfg(feature = "events")]
110
const DEFAULT_CAPACITY: usize = 100;
111
112
/// Configuration for connecting to a obs-websocket instance.
113
pub struct ConnectConfig<H, P>
114
where
115
    H: AsRef<str>,
116
    P: AsRef<str>,
117
{
118
    /// The host name, usually `localhost` unless the OBS instance is on a remote machine.
119
    pub host: H,
120
    /// Port to connect to.
121
    pub port: u16,
122
    /// Optional password to authenticate against `obs-websocket`.
123
    pub password: Option<P>,
124
    /// Optional list of event subscriptions, controlling what events to receive. By default all
125
    /// events are listened to, with the exception of high volume events.
126
    pub event_subscriptions: Option<EventSubscription>,
127
    /// Whether to use TLS when connecting. Only useful when OBS runs on a remote machine.
128
    #[cfg(feature = "tls")]
129
    pub tls: bool,
130
    /// Capacity of the broadcast channel for events. The default is `100` which should suffice.
131
    /// If the consumption of events takes a long time and the broadcast channel fills up faster
132
    /// than events are consumed, it will start dropping old messages from the queue and these will
133
    /// not be send to listeners anymore.
134
    #[cfg_attr(not(feature = "events"), allow(dead_code))]
135
    pub broadcast_capacity: Option<usize>,
136
}
137
138
const OBS_STUDIO_VERSION: Comparator = Comparator {
139
    op: Op::GreaterEq,
140
    major: 27,
141
    minor: None,
142
    patch: None,
143
    pre: Prerelease::EMPTY,
144
};
145
const OBS_WEBSOCKET_VERSION: Comparator = Comparator {
146
    op: Op::Caret,
147
    major: 5,
148
    minor: None,
149
    patch: None,
150
    pre: Prerelease::EMPTY,
151
};
152
const RPC_VERSION: u32 = 1;
153
154
impl<H, P> ConnectConfig<H, P>
155
where
156
    H: AsRef<str>,
157
    P: AsRef<str>,
158
{
159
    #[cfg(feature = "tls")]
160
18
    fn tls(&self) -> bool {
161
18
        self.tls
162
18
    }
<obws::client::ConnectConfig<alloc::string::String, alloc::string::String>>::tls
Line
Count
Source
160
18
    fn tls(&self) -> bool {
161
18
        self.tls
162
18
    }
Unexecuted instantiation: <obws::client::ConnectConfig<_, _>>::tls
Unexecuted instantiation: <obws::client::ConnectConfig<_, _>>::tls
163
164
    #[cfg(not(feature = "tls"))]
165
    fn tls(&self) -> bool {
166
        false
167
    }
168
}
169
170
impl Client {
171
    /// Connect to a obs-websocket instance on the given host and port.
172
18
    pub async fn connect(
173
18
        host: impl AsRef<str>,
174
18
        port: u16,
175
18
        password: Option<impl AsRef<str>>,
176
18
    ) -> Result<Self> {
<obws::client::Client>::connect::<alloc::string::String, alloc::string::String>
Line
Count
Source
172
18
    pub async fn connect(
173
18
        host: impl AsRef<str>,
174
18
        port: u16,
175
18
        password: Option<impl AsRef<str>>,
176
18
    ) -> Result<Self> {
Unexecuted instantiation: <obws::client::Client>::connect::<_, _>
Unexecuted instantiation: <obws::client::Client>::connect::<_, _>
177
18
        Self::connect_with_config(ConnectConfig {
178
18
            host,
179
18
            port,
180
18
            password,
181
18
            event_subscriptions: None,
182
18
            #[cfg(feature = "tls")]
183
18
            tls: false,
184
18
            broadcast_capacity: None,
185
113
        })
186
113
        .await
187
18
    }
<obws::client::Client>::connect::<alloc::string::String, alloc::string::String>::{closure#0}
Line
Count
Source
177
18
        Self::connect_with_config(ConnectConfig {
178
18
            host,
179
18
            port,
180
18
            password,
181
18
            event_subscriptions: None,
182
18
            #[cfg(feature = "tls")]
183
18
            tls: false,
184
18
            broadcast_capacity: None,
185
113
        })
186
113
        .await
187
18
    }
Unexecuted instantiation: <obws::client::Client>::connect::<_, _>::{closure#0}
Unexecuted instantiation: <obws::client::Client>::connect::<_, _>::{closure#0}
188
189
    /// Connect to a obs-websocket instance with the given configuration.
190
18
    pub async fn connect_with_config<H, P>(config: ConnectConfig<H, P>) -> Result<Self>
191
18
    where
192
18
        H: AsRef<str>,
193
18
        P: AsRef<str>,
194
18
    {
<obws::client::Client>::connect_with_config::<alloc::string::String, alloc::string::String>
Line
Count
Source
190
18
    pub async fn connect_with_config<H, P>(config: ConnectConfig<H, P>) -> Result<Self>
191
18
    where
192
18
        H: AsRef<str>,
193
18
        P: AsRef<str>,
194
18
    {
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<_, _>
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<_, _>
195
18
        let (socket, _) = tokio_tungstenite::connect_async(format!(
196
18
            "{}://{}:{}",
197
18
            if config.tls() { 
"wss"0
} else { "ws" },
198
18
            config.host.as_ref(),
199
            config.port
200
54
        ))
201
54
        .await
202
18
        .map_err(Error::Connect)
?0
;
203
204
18
        let (mut write, mut read) = socket.split();
205
18
206
18
        let receivers = Arc::new(ReceiverList::default());
207
18
        let receivers2 = Arc::clone(&receivers);
208
18
209
18
        let reidentify_receivers = Arc::new(ReidentifyReceiverList::default());
210
18
        let reidentify_receivers2 = Arc::clone(&reidentify_receivers);
211
18
212
18
        #[cfg(feature = "events")]
213
18
        let (event_sender, _) =
214
18
            broadcast::channel(config.broadcast_capacity.unwrap_or(DEFAULT_CAPACITY));
215
18
        #[cfg(feature = "events")]
216
18
        let event_sender = Arc::new(event_sender);
217
18
        #[cfg(feature = "events")]
218
18
        let events_tx = Arc::clone(&event_sender);
219
18
220
18
        self::connection::handshake(
221
18
            &mut write,
222
18
            &mut read,
223
18
            config.password.as_ref().map(AsRef::as_ref),
224
18
            config.event_subscriptions,
225
23
        )
226
23
        .await
?0
;
227
228
18
        let handle = tokio::spawn(async move {
229
606
            while let Some(Ok(
msg588
)) = read.next()
.await420
{
230
588
                if let Message::Close(
info0
) = &msg {
231
0
                    if let Some(CloseFrame { reason, .. }) = info {
232
0
                        info!(%reason, "connection closed with reason");
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<alloc::string::String, alloc::string::String>::{closure#0}::{closure#0}::{closure#1}
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<_, _>::{closure#0}::{closure#0}::{closure#1}
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<_, _>::{closure#0}::{closure#0}::{closure#1}
233
0
                    }
234
235
                    #[cfg(feature = "events")]
236
0
                    events_tx.send(Event::ServerStopping).ok();
237
0
                    continue;
238
588
                }
239
240
1.17k
                let 
res: Result<(), InnerError>588
= async {
241
588
                    let text = msg.into_text().map_err(InnerError::IntoText)
?0
;
242
243
588
                    let message = serde_json::from_str::<ServerMessage>(&text)
244
588
                        .map_err(InnerError::DeserializeMessage)
?0
;
245
246
588
                    match message {
247
346
                        ServerMessage::RequestResponse(response) => {
248
346
                            trace!(
249
346
                                id = %response.id,
250
346
                                status = ?response.status,
251
346
                                data = %response.data,
252
346
                                "got request-response message",
253
346
                            );
<obws::client::Client>::connect_with_config::<alloc::string::String, alloc::string::String>::{closure#0}::{closure#0}::{closure#0}::{closure#0}
Line
Count
Source
248
346
                            trace!(
249
346
                                id = %response.id,
250
346
                                status = ?response.status,
251
346
                                data = %response.data,
252
346
                                "got request-response message",
253
346
                            );
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<_, _>::{closure#0}::{closure#0}::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<_, _>::{closure#0}::{closure#0}::{closure#0}::{closure#0}
254
346
                            receivers2.notify(response)
.await0
?0
;
255
                        }
256
                        #[cfg(feature = "events")]
257
242
                        ServerMessage::Event(event) => {
258
242
                            trace!(?event, "got OBS event");
<obws::client::Client>::connect_with_config::<alloc::string::String, alloc::string::String>::{closure#0}::{closure#0}::{closure#0}::{closure#1}
Line
Count
Source
258
242
                            trace!(?event, "got OBS event");
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<_, _>::{closure#0}::{closure#0}::{closure#0}::{closure#1}
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<_, _>::{closure#0}::{closure#0}::{closure#0}::{closure#1}
259
242
                            events_tx.send(event).ok();
260
                        }
261
0
                        ServerMessage::Identified(identified) => {
262
0
                            trace!(?identified, "got identified message");
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<alloc::string::String, alloc::string::String>::{closure#0}::{closure#0}::{closure#0}::{closure#2}
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<_, _>::{closure#0}::{closure#0}::{closure#0}::{closure#2}
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<_, _>::{closure#0}::{closure#0}::{closure#0}::{closure#2}
263
0
                            reidentify_receivers2.notify(identified).await;
264
                        }
265
0
                        _ => return Err(InnerError::UnexpectedMessage(message)),
266
                    }
267
268
588
                    Ok(())
269
588
                }
<obws::client::Client>::connect_with_config::<alloc::string::String, alloc::string::String>::{closure#0}::{closure#0}::{closure#0}
Line
Count
Source
240
588
                let res: Result<(), InnerError> = async {
241
588
                    let text = msg.into_text().map_err(InnerError::IntoText)
?0
;
242
243
588
                    let message = serde_json::from_str::<ServerMessage>(&text)
244
588
                        .map_err(InnerError::DeserializeMessage)
?0
;
245
246
588
                    match message {
247
346
                        ServerMessage::RequestResponse(response) => {
248
346
                            trace!(
249
                                id = %response.id,
250
                                status = ?response.status,
251
                                data = %response.data,
252
346
                                "got request-response message",
253
                            );
254
346
                            receivers2.notify(response)
.await0
?0
;
255
                        }
256
                        #[cfg(feature = "events")]
257
242
                        ServerMessage::Event(event) => {
258
242
                            trace!(?event, "got OBS event");
259
242
                            events_tx.send(event).ok();
260
                        }
261
0
                        ServerMessage::Identified(identified) => {
262
0
                            trace!(?identified, "got identified message");
263
0
                            reidentify_receivers2.notify(identified).await;
264
                        }
265
0
                        _ => return Err(InnerError::UnexpectedMessage(message)),
266
                    }
267
268
588
                    Ok(())
269
588
                }
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<_, _>::{closure#0}::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<_, _>::{closure#0}::{closure#0}::{closure#0}
270
0
                .await;
271
272
588
                if let Err(
error0
) = res {
273
0
                    error!(?error, "failed handling message");
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<alloc::string::String, alloc::string::String>::{closure#0}::{closure#0}::{closure#2}
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<_, _>::{closure#0}::{closure#0}::{closure#2}
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<_, _>::{closure#0}::{closure#0}::{closure#2}
274
588
                }
275
            }
276
277
            #[cfg(feature = "events")]
278
0
            events_tx.send(Event::ServerStopped).ok();
279
0
280
0
            // clear all outstanding receivers to stop them from waiting forever on responses
281
0
            // they'll never receive.
282
0
            receivers2.reset().await;
283
0
            reidentify_receivers2.reset().await;
284
18
        
}0
);
<obws::client::Client>::connect_with_config::<alloc::string::String, alloc::string::String>::{closure#0}::{closure#0}
Line
Count
Source
228
18
        let handle = tokio::spawn(async move {
229
606
            while let Some(Ok(
msg588
)) = read.next()
.await420
{
230
588
                if let Message::Close(
info0
) = &msg {
231
0
                    if let Some(CloseFrame { reason, .. }) = info {
232
0
                        info!(%reason, "connection closed with reason");
233
0
                    }
234
235
                    #[cfg(feature = "events")]
236
0
                    events_tx.send(Event::ServerStopping).ok();
237
0
                    continue;
238
588
                }
239
240
588
                let res: Result<(), InnerError> = async {
241
                    let text = msg.into_text().map_err(InnerError::IntoText)?;
242
243
                    let message = serde_json::from_str::<ServerMessage>(&text)
244
                        .map_err(InnerError::DeserializeMessage)?;
245
246
                    match message {
247
                        ServerMessage::RequestResponse(response) => {
248
                            trace!(
249
                                id = %response.id,
250
                                status = ?response.status,
251
                                data = %response.data,
252
                                "got request-response message",
253
                            );
254
                            receivers2.notify(response).await?;
255
                        }
256
                        #[cfg(feature = "events")]
257
                        ServerMessage::Event(event) => {
258
                            trace!(?event, "got OBS event");
259
                            events_tx.send(event).ok();
260
                        }
261
                        ServerMessage::Identified(identified) => {
262
                            trace!(?identified, "got identified message");
263
                            reidentify_receivers2.notify(identified).await;
264
                        }
265
                        _ => return Err(InnerError::UnexpectedMessage(message)),
266
                    }
267
268
                    Ok(())
269
0
                }
270
0
                .await;
271
272
588
                if let Err(
error0
) = res {
273
0
                    error!(?error, "failed handling message");
274
588
                }
275
            }
276
277
            #[cfg(feature = "events")]
278
0
            events_tx.send(Event::ServerStopped).ok();
279
0
280
0
            // clear all outstanding receivers to stop them from waiting forever on responses
281
0
            // they'll never receive.
282
0
            receivers2.reset().await;
283
0
            reidentify_receivers2.reset().await;
284
0
        });
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<_, _>::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<_, _>::{closure#0}::{closure#0}
285
18
286
18
        let write = Mutex::new(write);
287
18
        let id_counter = AtomicU64::new(1);
288
18
289
18
        let client = Self {
290
18
            write,
291
18
            id_counter,
292
18
            receivers,
293
18
            reidentify_receivers,
294
18
            #[cfg(feature = "events")]
295
18
            event_sender: Arc::downgrade(&event_sender),
296
18
            handle: Some(handle),
297
18
        };
298
18
299
36
        client.verify_versions().await
?0
;
300
301
18
        Ok(client)
302
18
    }
<obws::client::Client>::connect_with_config::<alloc::string::String, alloc::string::String>::{closure#0}
Line
Count
Source
195
18
        let (socket, _) = tokio_tungstenite::connect_async(format!(
196
18
            "{}://{}:{}",
197
18
            if config.tls() { 
"wss"0
} else { "ws" },
198
18
            config.host.as_ref(),
199
            config.port
200
54
        ))
201
54
        .await
202
18
        .map_err(Error::Connect)
?0
;
203
204
18
        let (mut write, mut read) = socket.split();
205
18
206
18
        let receivers = Arc::new(ReceiverList::default());
207
18
        let receivers2 = Arc::clone(&receivers);
208
18
209
18
        let reidentify_receivers = Arc::new(ReidentifyReceiverList::default());
210
18
        let reidentify_receivers2 = Arc::clone(&reidentify_receivers);
211
18
212
18
        #[cfg(feature = "events")]
213
18
        let (event_sender, _) =
214
18
            broadcast::channel(config.broadcast_capacity.unwrap_or(DEFAULT_CAPACITY));
215
18
        #[cfg(feature = "events")]
216
18
        let event_sender = Arc::new(event_sender);
217
18
        #[cfg(feature = "events")]
218
18
        let events_tx = Arc::clone(&event_sender);
219
18
220
18
        self::connection::handshake(
221
18
            &mut write,
222
18
            &mut read,
223
18
            config.password.as_ref().map(AsRef::as_ref),
224
18
            config.event_subscriptions,
225
23
        )
226
23
        .await
?0
;
227
228
18
        let handle = tokio::spawn(async move {
229
            while let Some(Ok(msg)) = read.next().await {
230
                if let Message::Close(info) = &msg {
231
                    if let Some(CloseFrame { reason, .. }) = info {
232
                        info!(%reason, "connection closed with reason");
233
                    }
234
235
                    #[cfg(feature = "events")]
236
                    events_tx.send(Event::ServerStopping).ok();
237
                    continue;
238
                }
239
240
                let res: Result<(), InnerError> = async {
241
                    let text = msg.into_text().map_err(InnerError::IntoText)?;
242
243
                    let message = serde_json::from_str::<ServerMessage>(&text)
244
                        .map_err(InnerError::DeserializeMessage)?;
245
246
                    match message {
247
                        ServerMessage::RequestResponse(response) => {
248
                            trace!(
249
                                id = %response.id,
250
                                status = ?response.status,
251
                                data = %response.data,
252
                                "got request-response message",
253
                            );
254
                            receivers2.notify(response).await?;
255
                        }
256
                        #[cfg(feature = "events")]
257
                        ServerMessage::Event(event) => {
258
                            trace!(?event, "got OBS event");
259
                            events_tx.send(event).ok();
260
                        }
261
                        ServerMessage::Identified(identified) => {
262
                            trace!(?identified, "got identified message");
263
                            reidentify_receivers2.notify(identified).await;
264
                        }
265
                        _ => return Err(InnerError::UnexpectedMessage(message)),
266
                    }
267
268
                    Ok(())
269
                }
270
                .await;
271
272
                if let Err(error) = res {
273
                    error!(?error, "failed handling message");
274
                }
275
            }
276
277
            #[cfg(feature = "events")]
278
            events_tx.send(Event::ServerStopped).ok();
279
280
            // clear all outstanding receivers to stop them from waiting forever on responses
281
            // they'll never receive.
282
            receivers2.reset().await;
283
            reidentify_receivers2.reset().await;
284
18
        });
285
18
286
18
        let write = Mutex::new(write);
287
18
        let id_counter = AtomicU64::new(1);
288
18
289
18
        let client = Self {
290
18
            write,
291
18
            id_counter,
292
18
            receivers,
293
18
            reidentify_receivers,
294
18
            #[cfg(feature = "events")]
295
18
            event_sender: Arc::downgrade(&event_sender),
296
18
            handle: Some(handle),
297
18
        };
298
18
299
36
        client.verify_versions().await
?0
;
300
301
18
        Ok(client)
302
18
    }
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<_, _>::{closure#0}
Unexecuted instantiation: <obws::client::Client>::connect_with_config::<_, _>::{closure#0}
303
304
18
    async fn verify_versions(&self) -> Result<()> {
<obws::client::Client>::verify_versions
Line
Count
Source
304
18
    async fn verify_versions(&self) -> Result<()> {
Unexecuted instantiation: <obws::client::Client>::verify_versions
305
36
        let 
mut version18
=
self.general().version()18
.await
?0
;
306
        // TODO: remove this after the official v5 release.
307
        // Current builds have prerelease info (like 5.0.0-91cabe1-git).
308
        // That causes the version check to fail, so we remove it for now.
309
18
        version.obs_web_socket_version.pre = Prerelease::EMPTY;
310
18
311
18
        if !OBS_STUDIO_VERSION.matches(&version.obs_version) {
312
0
            return Err(Error::ObsStudioVersion(
313
0
                version.obs_version,
314
0
                OBS_STUDIO_VERSION,
315
0
            ));
316
18
        }
317
18
318
18
        if !OBS_WEBSOCKET_VERSION.matches(&version.obs_web_socket_version) {
319
0
            return Err(Error::ObsWebsocketVersion(
320
0
                version.obs_web_socket_version,
321
0
                OBS_WEBSOCKET_VERSION,
322
0
            ));
323
18
        }
324
18
325
18
        if RPC_VERSION != version.rpc_version {
326
0
            return Err(Error::RpcVersion {
327
0
                requested: RPC_VERSION,
328
0
                negotiated: version.rpc_version,
329
0
            });
330
18
        }
331
18
332
18
        Ok(())
333
18
    }
<obws::client::Client>::verify_versions::{closure#0}
Line
Count
Source
305
36
        let 
mut version18
=
self.general().version()18
.await
?0
;
306
        // TODO: remove this after the official v5 release.
307
        // Current builds have prerelease info (like 5.0.0-91cabe1-git).
308
        // That causes the version check to fail, so we remove it for now.
309
18
        version.obs_web_socket_version.pre = Prerelease::EMPTY;
310
18
311
18
        if !OBS_STUDIO_VERSION.matches(&version.obs_version) {
312
0
            return Err(Error::ObsStudioVersion(
313
0
                version.obs_version,
314
0
                OBS_STUDIO_VERSION,
315
0
            ));
316
18
        }
317
18
318
18
        if !OBS_WEBSOCKET_VERSION.matches(&version.obs_web_socket_version) {
319
0
            return Err(Error::ObsWebsocketVersion(
320
0
                version.obs_web_socket_version,
321
0
                OBS_WEBSOCKET_VERSION,
322
0
            ));
323
18
        }
324
18
325
18
        if RPC_VERSION != version.rpc_version {
326
0
            return Err(Error::RpcVersion {
327
0
                requested: RPC_VERSION,
328
0
                negotiated: version.rpc_version,
329
0
            });
330
18
        }
331
18
332
18
        Ok(())
333
18
    }
Unexecuted instantiation: <obws::client::Client>::verify_versions::{closure#0}
Unexecuted instantiation: <obws::client::Client>::verify_versions::{closure#0}
334
335
346
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
346
    where
337
346
        R: Into<RequestType<'a>>,
338
346
        T: DeserializeOwned,
339
346
    {
<obws::client::Client>::send_message::<obws::requests::transitions::Request, obws::responses::transitions::TransitionKinds>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::ui::Request, obws::responses::ui::MonitorList>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::config::Request, obws::responses::config::VideoSettings>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::replay_buffer::Request, ()>
Line
Count
Source
335
3
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
3
    where
337
3
        R: Into<RequestType<'a>>,
338
3
        T: DeserializeOwned,
339
3
    {
<obws::client::Client>::send_message::<obws::requests::scenes::Request, obws::responses::scenes::Scenes>
Line
Count
Source
335
19
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
19
    where
337
19
        R: Into<RequestType<'a>>,
338
19
        T: DeserializeOwned,
339
19
    {
<obws::client::Client>::send_message::<obws::requests::transitions::Request, obws::responses::transitions::SceneTransitionList>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::media_inputs::Request, obws::responses::media_inputs::MediaStatus>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::hotkeys::Request, obws::responses::hotkeys::Hotkeys>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::replay_buffer::Request, obws::responses::replay_buffer::OutputActive>
Line
Count
Source
335
21
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
21
    where
337
21
        R: Into<RequestType<'a>>,
338
21
        T: DeserializeOwned,
339
21
    {
<obws::client::Client>::send_message::<obws::requests::inputs::Request, obws::responses::inputs::InputVolume>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::outputs::Request, obws::responses::outputs::OutputStatus>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::general::Request, obws::responses::general::Version>
Line
Count
Source
335
19
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
19
    where
337
19
        R: Into<RequestType<'a>>,
338
19
        T: DeserializeOwned,
339
19
    {
<obws::client::Client>::send_message::<obws::requests::ui::Request, ()>
Line
Count
Source
335
8
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
8
    where
337
8
        R: Into<RequestType<'a>>,
338
8
        T: DeserializeOwned,
339
8
    {
<obws::client::Client>::send_message::<obws::requests::scene_items::Request, obws::responses::scene_items::GetSceneItemTransform>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::config::Request, obws::responses::config::StreamServiceSettings<serde_json::value::Value>>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::general::Request, obws::responses::general::Stats>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::inputs::Request, ()>
Line
Count
Source
335
10
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
10
    where
337
10
        R: Into<RequestType<'a>>,
338
10
        T: DeserializeOwned,
339
10
    {
<obws::client::Client>::send_message::<obws::requests::recording::Request, obws::responses::recording::OutputStopped>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::scene_items::Request, obws::responses::scene_items::SceneItemId>
Line
Count
Source
335
3
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
3
    where
337
3
        R: Into<RequestType<'a>>,
338
3
        T: DeserializeOwned,
339
3
    {
<obws::client::Client>::send_message::<obws::requests::scene_items::Request, obws::responses::scene_items::SceneItemList>
Line
Count
Source
335
2
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
2
    where
337
2
        R: Into<RequestType<'a>>,
338
2
        T: DeserializeOwned,
339
2
    {
<obws::client::Client>::send_message::<obws::requests::transitions::Request, ()>
Line
Count
Source
335
5
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
5
    where
337
5
        R: Into<RequestType<'a>>,
338
5
        T: DeserializeOwned,
339
5
    {
<obws::client::Client>::send_message::<obws::requests::scenes::Request, obws::responses::scenes::Groups>
Line
Count
Source
335
19
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
19
    where
337
19
        R: Into<RequestType<'a>>,
338
19
        T: DeserializeOwned,
339
19
    {
<obws::client::Client>::send_message::<obws::requests::scenes::Request, ()>
Line
Count
Source
335
28
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
28
    where
337
28
        R: Into<RequestType<'a>>,
338
28
        T: DeserializeOwned,
339
28
    {
<obws::client::Client>::send_message::<obws::requests::filters::Request, obws::responses::filters::DefaultFilterSettings<serde_json::value::Value>>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::hotkeys::Request, ()>
Line
Count
Source
335
2
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
2
    where
337
2
        R: Into<RequestType<'a>>,
338
2
        T: DeserializeOwned,
339
2
    {
<obws::client::Client>::send_message::<obws::requests::scenes::Request, obws::responses::scenes::CurrentPreviewScene>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::outputs::Request, obws::responses::outputs::OutputActive>
Line
Count
Source
335
2
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
2
    where
337
2
        R: Into<RequestType<'a>>,
338
2
        T: DeserializeOwned,
339
2
    {
<obws::client::Client>::send_message::<obws::requests::outputs::Request, ()>
Line
Count
Source
335
3
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
3
    where
337
3
        R: Into<RequestType<'a>>,
338
3
        T: DeserializeOwned,
339
3
    {
<obws::client::Client>::send_message::<obws::requests::profiles::Request, obws::responses::profiles::Profiles>
Line
Count
Source
335
20
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
20
    where
337
20
        R: Into<RequestType<'a>>,
338
20
        T: DeserializeOwned,
339
20
    {
<obws::client::Client>::send_message::<obws::requests::inputs::Request, obws::responses::inputs::InputSettings<serde_json::value::Value>>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::recording::Request, ()>
Line
Count
Source
335
3
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
3
    where
337
3
        R: Into<RequestType<'a>>,
338
3
        T: DeserializeOwned,
339
3
    {
<obws::client::Client>::send_message::<obws::requests::config::Request, serde_json::value::Value>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::general::Request, ()>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::scene_items::Request, ()>
Line
Count
Source
335
10
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
10
    where
337
10
        R: Into<RequestType<'a>>,
338
10
        T: DeserializeOwned,
339
10
    {
<obws::client::Client>::send_message::<obws::requests::recording::Request, obws::responses::recording::OutputPaused>
Line
Count
Source
335
2
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
2
    where
337
2
        R: Into<RequestType<'a>>,
338
2
        T: DeserializeOwned,
339
2
    {
<obws::client::Client>::send_message::<obws::requests::scenes::Request, obws::responses::scenes::CurrentProgramScene>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::scene_items::Request, obws::responses::scene_items::SceneItemEnabled>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::scene_items::Request, obws::responses::scene_items::SceneItemLocked>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::recording::Request, obws::responses::recording::OutputActive>
Line
Count
Source
335
2
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
2
    where
337
2
        R: Into<RequestType<'a>>,
338
2
        T: DeserializeOwned,
339
2
    {
<obws::client::Client>::send_message::<obws::requests::filters::Request, ()>
Line
Count
Source
335
8
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
8
    where
337
8
        R: Into<RequestType<'a>>,
338
8
        T: DeserializeOwned,
339
8
    {
<obws::client::Client>::send_message::<obws::requests::outputs::Request, obws::responses::outputs::OutputList>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::sources::Request, obws::responses::sources::SourceActive>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::media_inputs::Request, ()>
Line
Count
Source
335
3
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
3
    where
337
3
        R: Into<RequestType<'a>>,
338
3
        T: DeserializeOwned,
339
3
    {
<obws::client::Client>::send_message::<obws::requests::outputs::Request, obws::responses::outputs::OutputSettings<serde_json::value::Value>>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::config::Request, ()>
Line
Count
Source
335
3
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
3
    where
337
3
        R: Into<RequestType<'a>>,
338
3
        T: DeserializeOwned,
339
3
    {
<obws::client::Client>::send_message::<obws::requests::virtual_cam::Request, obws::responses::virtual_cam::OutputActive>
Line
Count
Source
335
21
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
21
    where
337
21
        R: Into<RequestType<'a>>,
338
21
        T: DeserializeOwned,
339
21
    {
<obws::client::Client>::send_message::<obws::requests::scene_items::Request, obws::responses::scene_items::SceneItemIndex>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::streaming::Request, obws::responses::streaming::StreamStatus>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::transitions::Request, obws::responses::transitions::TransitionCursor>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::scenes::Request, obws::responses::scenes::SceneTransitionOverride>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::config::Request, obws::responses::config::RecordDirectory>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::profiles::Request, ()>
Line
Count
Source
335
6
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
6
    where
337
6
        R: Into<RequestType<'a>>,
338
6
        T: DeserializeOwned,
339
6
    {
<obws::client::Client>::send_message::<obws::requests::scene_collections::Request, ()>
Line
Count
Source
335
2
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
2
    where
337
2
        R: Into<RequestType<'a>>,
338
2
        T: DeserializeOwned,
339
2
    {
<obws::client::Client>::send_message::<obws::requests::scene_collections::Request, obws::responses::scene_collections::SceneCollections>
Line
Count
Source
335
2
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
2
    where
337
2
        R: Into<RequestType<'a>>,
338
2
        T: DeserializeOwned,
339
2
    {
<obws::client::Client>::send_message::<obws::requests::sources::Request, ()>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::inputs::Request, obws::responses::inputs::Inputs>
Line
Count
Source
335
19
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
19
    where
337
19
        R: Into<RequestType<'a>>,
338
19
        T: DeserializeOwned,
339
19
    {
<obws::client::Client>::send_message::<obws::requests::profiles::Request, obws::responses::profiles::ProfileParameter>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::sources::Request, obws::responses::sources::ImageData>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::inputs::Request, obws::responses::inputs::AudioMonitorType>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::transitions::Request, obws::responses::transitions::CurrentSceneTransition>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::inputs::Request, obws::responses::inputs::InputMuted>
Line
Count
Source
335
3
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
3
    where
337
3
        R: Into<RequestType<'a>>,
338
3
        T: DeserializeOwned,
339
3
    {
<obws::client::Client>::send_message::<obws::requests::inputs::Request, obws::responses::inputs::InputKinds>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::ui::Request, obws::responses::ui::StudioModeEnabled>
Line
Count
Source
335
19
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
19
    where
337
19
        R: Into<RequestType<'a>>,
338
19
        T: DeserializeOwned,
339
19
    {
<obws::client::Client>::send_message::<obws::requests::filters::Request, obws::responses::filters::Filters>
Line
Count
Source
335
19
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
19
    where
337
19
        R: Into<RequestType<'a>>,
338
19
        T: DeserializeOwned,
339
19
    {
<obws::client::Client>::send_message::<obws::requests::replay_buffer::Request, obws::responses::replay_buffer::SavedReplayPath>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::scene_items::Request, obws::responses::scene_items::SceneItemSettings<serde_json::value::Value>>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::inputs::Request, obws::responses::inputs::DefaultInputSettings<serde_json::value::Value>>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::recording::Request, obws::responses::recording::RecordStatus>
Line
Count
Source
335
19
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
19
    where
337
19
        R: Into<RequestType<'a>>,
338
19
        T: DeserializeOwned,
339
19
    {
<obws::client::Client>::send_message::<obws::requests::inputs::Request, obws::responses::inputs::AudioSyncOffset>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
<obws::client::Client>::send_message::<obws::requests::virtual_cam::Request, ()>
Line
Count
Source
335
2
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
2
    where
337
2
        R: Into<RequestType<'a>>,
338
2
        T: DeserializeOwned,
339
2
    {
<obws::client::Client>::send_message::<obws::requests::filters::Request, obws::responses::filters::SourceFilter>
Line
Count
Source
335
1
    async fn send_message<'a, R, T>(&self, req: R) -> Result<T>
336
1
    where
337
1
        R: Into<RequestType<'a>>,
338
1
        T: DeserializeOwned,
339
1
    {
Unexecuted instantiation: <obws::client::Client>::send_message::<_, _>
Unexecuted instantiation: <obws::client::Client>::send_message::<_, _>
340
346
        async fn send<'a>(
341
346
            id_counter: &AtomicU64,
342
346
            receivers: &Arc<ReceiverList>,
343
346
            write: &Mutex<MessageWriter>,
344
346
            req: RequestType<'a>,
345
346
        ) -> Result<serde_json::Value> {
<obws::client::Client>::send_message::{closure#0}::send
Line
Count
Source
340
346
        async fn send<'a>(
341
346
            id_counter: &AtomicU64,
342
346
            receivers: &Arc<ReceiverList>,
343
346
            write: &Mutex<MessageWriter>,
344
346
            req: RequestType<'a>,
345
346
        ) -> Result<serde_json::Value> {
Unexecuted instantiation: <obws::client::Client>::send_message::{closure#0}::send
346
346
            let id = id_counter.fetch_add(1, Ordering::SeqCst);
347
346
            let id_str = id.to_string();
348
346
            let req = ClientRequest::Request(Request {
349
346
                request_id: &id_str,
350
346
                ty: req,
351
346
            });
352
346
            let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
353
354
346
            let rx = receivers.add(id)
.await0
;
355
356
346
            trace!(%json, "sending message");
<obws::client::Client>::send_message::{closure#0}::send::{closure#0}::{closure#0}
Line
Count
Source
356
346
            trace!(%json, "sending message");
Unexecuted instantiation: <obws::client::Client>::send_message::{closure#0}::send::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::Client>::send_message::{closure#0}::send::{closure#0}::{closure#0}
357
346
            let write_result = write
358
346
                .lock()
359
0
                .await
360
346
                .send(Message::Text(json))
361
0
                .await
362
346
                .map_err(Error::Send);
363
364
346
            if let Err(
e0
) = write_result {
365
0
                receivers.remove(id).await;
366
0
                return Err(e);
367
346
            }
368
369
692
            let (
status, resp346
) =
rx346
.await.
map_err(Error::ReceiveMessage)346
?0
;
370
346
            if !status.result {
371
0
                return Err(Error::Api {
372
0
                    code: status.code,
373
0
                    message: status.comment,
374
0
                });
375
346
            }
376
346
377
346
            Ok(resp)
378
346
        }
<obws::client::Client>::send_message::{closure#0}::send::{closure#0}
Line
Count
Source
345
346
        ) -> Result<serde_json::Value> {
346
346
            let id = id_counter.fetch_add(1, Ordering::SeqCst);
347
346
            let id_str = id.to_string();
348
346
            let req = ClientRequest::Request(Request {
349
346
                request_id: &id_str,
350
346
                ty: req,
351
346
            });
352
346
            let json = serde_json::to_string(&req).map_err(Error::SerializeMessage)
?0
;
353
354
346
            let rx = receivers.add(id)
.await0
;
355
356
346
            trace!(%json, "sending message");
357
346
            let write_result = write
358
346
                .lock()
359
0
                .await
360
346
                .send(Message::Text(json))
361
0
                .await
362
346
                .map_err(Error::Send);
363
364
346
            if let Err(
e0
) = write_result {
365
0
                receivers.remove(id).await;
366
0
                return Err(e);
367
346
            }
368
369
692
            let (
status, resp346
) =
rx346
.await.
map_err(Error::ReceiveMessage)346
?0
;
370
346
            if !status.result {
371
0
                return Err(Error::Api {
372
0
                    code: status.code,
373
0
                    message: status.comment,
374
0
                });
375
346
            }
376
346
377
346
            Ok(resp)
378
346
        }
Unexecuted instantiation: <obws::client::Client>::send_message::{closure#0}::send::{closure#0}
Unexecuted instantiation: <obws::client::Client>::send_message::{closure#0}::send::{closure#0}
379
380
692
        let 
resp346
=
send(&self.id_counter, &self.receivers, &self.write, req.into())346
.await
?0
;
381
346
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
346
    }
<obws::client::Client>::send_message::<obws::requests::inputs::Request, ()>::{closure#0}
Line
Count
Source
380
20
        let 
resp10
=
send(&self.id_counter, &self.receivers, &self.write, req.into())10
.await
?0
;
381
10
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
10
    }
<obws::client::Client>::send_message::<obws::requests::config::Request, obws::responses::config::StreamServiceSettings<serde_json::value::Value>>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::transitions::Request, obws::responses::transitions::CurrentSceneTransition>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::media_inputs::Request, ()>::{closure#0}
Line
Count
Source
380
6
        let 
resp3
=
send(&self.id_counter, &self.receivers, &self.write, req.into())3
.await
?0
;
381
3
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
3
    }
<obws::client::Client>::send_message::<obws::requests::scene_items::Request, ()>::{closure#0}
Line
Count
Source
380
20
        let 
resp10
=
send(&self.id_counter, &self.receivers, &self.write, req.into())10
.await
?0
;
381
10
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
10
    }
<obws::client::Client>::send_message::<obws::requests::transitions::Request, ()>::{closure#0}
Line
Count
Source
380
10
        let 
resp5
=
send(&self.id_counter, &self.receivers, &self.write, req.into())5
.await
?0
;
381
5
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
5
    }
<obws::client::Client>::send_message::<obws::requests::inputs::Request, obws::responses::inputs::DefaultInputSettings<serde_json::value::Value>>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::outputs::Request, obws::responses::outputs::OutputSettings<serde_json::value::Value>>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::inputs::Request, obws::responses::inputs::Inputs>::{closure#0}
Line
Count
Source
380
38
        let 
resp19
=
send(&self.id_counter, &self.receivers, &self.write, req.into())19
.await
?0
;
381
19
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
19
    }
<obws::client::Client>::send_message::<obws::requests::transitions::Request, obws::responses::transitions::SceneTransitionList>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::config::Request, obws::responses::config::RecordDirectory>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::scenes::Request, obws::responses::scenes::SceneTransitionOverride>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::scenes::Request, obws::responses::scenes::CurrentPreviewScene>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::outputs::Request, obws::responses::outputs::OutputActive>::{closure#0}
Line
Count
Source
380
4
        let 
resp2
=
send(&self.id_counter, &self.receivers, &self.write, req.into())2
.await
?0
;
381
2
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
2
    }
<obws::client::Client>::send_message::<obws::requests::scenes::Request, obws::responses::scenes::Scenes>::{closure#0}
Line
Count
Source
380
38
        let 
resp19
=
send(&self.id_counter, &self.receivers, &self.write, req.into())19
.await
?0
;
381
19
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
19
    }
<obws::client::Client>::send_message::<obws::requests::general::Request, obws::responses::general::Version>::{closure#0}
Line
Count
Source
380
38
        let 
resp19
=
send(&self.id_counter, &self.receivers, &self.write, req.into())19
.await
?0
;
381
19
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
19
    }
<obws::client::Client>::send_message::<obws::requests::replay_buffer::Request, ()>::{closure#0}
Line
Count
Source
380
6
        let 
resp3
=
send(&self.id_counter, &self.receivers, &self.write, req.into())3
.await
?0
;
381
3
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
3
    }
<obws::client::Client>::send_message::<obws::requests::scene_items::Request, obws::responses::scene_items::SceneItemList>::{closure#0}
Line
Count
Source
380
4
        let 
resp2
=
send(&self.id_counter, &self.receivers, &self.write, req.into())2
.await
?0
;
381
2
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
2
    }
<obws::client::Client>::send_message::<obws::requests::recording::Request, obws::responses::recording::RecordStatus>::{closure#0}
Line
Count
Source
380
38
        let 
resp19
=
send(&self.id_counter, &self.receivers, &self.write, req.into())19
.await
?0
;
381
19
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
19
    }
<obws::client::Client>::send_message::<obws::requests::transitions::Request, obws::responses::transitions::TransitionCursor>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::filters::Request, obws::responses::filters::DefaultFilterSettings<serde_json::value::Value>>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::filters::Request, obws::responses::filters::Filters>::{closure#0}
Line
Count
Source
380
38
        let 
resp19
=
send(&self.id_counter, &self.receivers, &self.write, req.into())19
.await
?0
;
381
19
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
19
    }
<obws::client::Client>::send_message::<obws::requests::scenes::Request, obws::responses::scenes::CurrentProgramScene>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::config::Request, obws::responses::config::VideoSettings>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::config::Request, serde_json::value::Value>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::scene_items::Request, obws::responses::scene_items::SceneItemId>::{closure#0}
Line
Count
Source
380
6
        let 
resp3
=
send(&self.id_counter, &self.receivers, &self.write, req.into())3
.await
?0
;
381
3
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
3
    }
<obws::client::Client>::send_message::<obws::requests::replay_buffer::Request, obws::responses::replay_buffer::OutputActive>::{closure#0}
Line
Count
Source
380
42
        let 
resp21
=
send(&self.id_counter, &self.receivers, &self.write, req.into())21
.await
?0
;
381
21
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
21
    }
<obws::client::Client>::send_message::<obws::requests::sources::Request, ()>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::ui::Request, ()>::{closure#0}
Line
Count
Source
380
16
        let 
resp8
=
send(&self.id_counter, &self.receivers, &self.write, req.into())8
.await
?0
;
381
8
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
8
    }
<obws::client::Client>::send_message::<obws::requests::inputs::Request, obws::responses::inputs::InputVolume>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::outputs::Request, obws::responses::outputs::OutputList>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::filters::Request, obws::responses::filters::SourceFilter>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::media_inputs::Request, obws::responses::media_inputs::MediaStatus>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::scene_items::Request, obws::responses::scene_items::GetSceneItemTransform>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::config::Request, ()>::{closure#0}
Line
Count
Source
380
6
        let 
resp3
=
send(&self.id_counter, &self.receivers, &self.write, req.into())3
.await
?0
;
381
3
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
3
    }
<obws::client::Client>::send_message::<obws::requests::inputs::Request, obws::responses::inputs::AudioMonitorType>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::replay_buffer::Request, obws::responses::replay_buffer::SavedReplayPath>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::profiles::Request, obws::responses::profiles::Profiles>::{closure#0}
Line
Count
Source
380
40
        let 
resp20
=
send(&self.id_counter, &self.receivers, &self.write, req.into())20
.await
?0
;
381
20
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
20
    }
<obws::client::Client>::send_message::<obws::requests::virtual_cam::Request, ()>::{closure#0}
Line
Count
Source
380
4
        let 
resp2
=
send(&self.id_counter, &self.receivers, &self.write, req.into())2
.await
?0
;
381
2
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
2
    }
<obws::client::Client>::send_message::<obws::requests::inputs::Request, obws::responses::inputs::AudioSyncOffset>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::scenes::Request, obws::responses::scenes::Groups>::{closure#0}
Line
Count
Source
380
38
        let 
resp19
=
send(&self.id_counter, &self.receivers, &self.write, req.into())19
.await
?0
;
381
19
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
19
    }
<obws::client::Client>::send_message::<obws::requests::sources::Request, obws::responses::sources::ImageData>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::filters::Request, ()>::{closure#0}
Line
Count
Source
380
16
        let 
resp8
=
send(&self.id_counter, &self.receivers, &self.write, req.into())8
.await
?0
;
381
8
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
8
    }
<obws::client::Client>::send_message::<obws::requests::streaming::Request, obws::responses::streaming::StreamStatus>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::outputs::Request, ()>::{closure#0}
Line
Count
Source
380
6
        let 
resp3
=
send(&self.id_counter, &self.receivers, &self.write, req.into())3
.await
?0
;
381
3
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
3
    }
<obws::client::Client>::send_message::<obws::requests::ui::Request, obws::responses::ui::StudioModeEnabled>::{closure#0}
Line
Count
Source
380
38
        let 
resp19
=
send(&self.id_counter, &self.receivers, &self.write, req.into())19
.await
?0
;
381
19
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
19
    }
<obws::client::Client>::send_message::<obws::requests::outputs::Request, obws::responses::outputs::OutputStatus>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::scene_items::Request, obws::responses::scene_items::SceneItemEnabled>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::profiles::Request, ()>::{closure#0}
Line
Count
Source
380
12
        let 
resp6
=
send(&self.id_counter, &self.receivers, &self.write, req.into())6
.await
?0
;
381
6
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
6
    }
<obws::client::Client>::send_message::<obws::requests::scene_collections::Request, ()>::{closure#0}
Line
Count
Source
380
4
        let 
resp2
=
send(&self.id_counter, &self.receivers, &self.write, req.into())2
.await
?0
;
381
2
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
2
    }
<obws::client::Client>::send_message::<obws::requests::transitions::Request, obws::responses::transitions::TransitionKinds>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::inputs::Request, obws::responses::inputs::InputMuted>::{closure#0}
Line
Count
Source
380
6
        let 
resp3
=
send(&self.id_counter, &self.receivers, &self.write, req.into())3
.await
?0
;
381
3
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
3
    }
<obws::client::Client>::send_message::<obws::requests::profiles::Request, obws::responses::profiles::ProfileParameter>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::scene_items::Request, obws::responses::scene_items::SceneItemIndex>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::recording::Request, obws::responses::recording::OutputPaused>::{closure#0}
Line
Count
Source
380
4
        let 
resp2
=
send(&self.id_counter, &self.receivers, &self.write, req.into())2
.await
?0
;
381
2
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
2
    }
<obws::client::Client>::send_message::<obws::requests::inputs::Request, obws::responses::inputs::InputSettings<serde_json::value::Value>>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::general::Request, obws::responses::general::Stats>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::general::Request, ()>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::scene_items::Request, obws::responses::scene_items::SceneItemLocked>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::scenes::Request, ()>::{closure#0}
Line
Count
Source
380
56
        let 
resp28
=
send(&self.id_counter, &self.receivers, &self.write, req.into())28
.await
?0
;
381
28
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
28
    }
<obws::client::Client>::send_message::<obws::requests::recording::Request, obws::responses::recording::OutputActive>::{closure#0}
Line
Count
Source
380
4
        let 
resp2
=
send(&self.id_counter, &self.receivers, &self.write, req.into())2
.await
?0
;
381
2
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
2
    }
<obws::client::Client>::send_message::<obws::requests::hotkeys::Request, ()>::{closure#0}
Line
Count
Source
380
4
        let 
resp2
=
send(&self.id_counter, &self.receivers, &self.write, req.into())2
.await
?0
;
381
2
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
2
    }
<obws::client::Client>::send_message::<obws::requests::hotkeys::Request, obws::responses::hotkeys::Hotkeys>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::scene_items::Request, obws::responses::scene_items::SceneItemSettings<serde_json::value::Value>>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::recording::Request, ()>::{closure#0}
Line
Count
Source
380
6
        let 
resp3
=
send(&self.id_counter, &self.receivers, &self.write, req.into())3
.await
?0
;
381
3
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
3
    }
<obws::client::Client>::send_message::<obws::requests::recording::Request, obws::responses::recording::OutputStopped>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::ui::Request, obws::responses::ui::MonitorList>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::scene_collections::Request, obws::responses::scene_collections::SceneCollections>::{closure#0}
Line
Count
Source
380
4
        let 
resp2
=
send(&self.id_counter, &self.receivers, &self.write, req.into())2
.await
?0
;
381
2
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
2
    }
<obws::client::Client>::send_message::<obws::requests::virtual_cam::Request, obws::responses::virtual_cam::OutputActive>::{closure#0}
Line
Count
Source
380
42
        let 
resp21
=
send(&self.id_counter, &self.receivers, &self.write, req.into())21
.await
?0
;
381
21
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
21
    }
<obws::client::Client>::send_message::<obws::requests::sources::Request, obws::responses::sources::SourceActive>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
<obws::client::Client>::send_message::<obws::requests::inputs::Request, obws::responses::inputs::InputKinds>::{closure#0}
Line
Count
Source
380
2
        let 
resp1
=
send(&self.id_counter, &self.receivers, &self.write, req.into())1
.await
?0
;
381
1
        serde_json::from_value(resp).map_err(Error::DeserializeResponse)
382
1
    }
Unexecuted instantiation: <obws::client::Client>::send_message::<_, _>::{closure#0}
Unexecuted instantiation: <obws::client::Client>::send_message::<_, _>::{closure#0}
383
384
    /// Disconnect from obs-websocket and shut down all machinery.
385
    ///
386
    /// This is called automatically when dropping the client but doesn't wait for all background
387
    /// tasks to complete. Therefore, it is recommended to call this manually once the client is
388
    /// no longer needed.
389
18
    pub fn disconnect(&mut self) -> impl Future {
390
18
        let handle = self.handle.take().map(|h| {
391
18
            h.abort();
392
18
            h
393
18
        });
<obws::client::Client>::disconnect::{closure#0}
Line
Count
Source
390
18
        let handle = self.handle.take().map(|h| {
391
18
            h.abort();
392
18
            h
393
18
        });
Unexecuted instantiation: <obws::client::Client>::disconnect::{closure#0}
394
395
        async {
396
0
            if let Some(h) = handle {
397
0
                h.await.ok();
398
0
            }
399
0
        }
Unexecuted instantiation: <obws::client::Client>::disconnect::{closure#1}
Unexecuted instantiation: <obws::client::Client>::disconnect::{closure#1}
400
18
    }
<obws::client::Client>::disconnect
Line
Count
Source
389
18
    pub fn disconnect(&mut self) -> impl Future {
390
18
        let handle = self.handle.take().map(|h| {
391
            h.abort();
392
            h
393
18
        });
394
395
        async {
396
            if let Some(h) = handle {
397
                h.await.ok();
398
            }
399
        }
400
18
    }
Unexecuted instantiation: <obws::client::Client>::disconnect
401
402
    /// Adjust settings of the currently active connection by re-identifying against
403
    /// `obs-websocket`.
404
    ///
405
    /// This currently allows to change the events to listen for, without the need of a full
406
    /// disconnect and new connection.
407
0
    pub async fn reidentify(&self, event_subscriptions: EventSubscription) -> Result<()> {
Unexecuted instantiation: <obws::client::Client>::reidentify
Unexecuted instantiation: <obws::client::Client>::reidentify
408
0
        let json = serde_json::to_string(&ClientRequest::Reidentify(Reidentify {
409
0
            event_subscriptions: Some(event_subscriptions),
410
0
        }))
411
0
        .map_err(Error::SerializeMessage)?;
412
413
0
        let rx = self.reidentify_receivers.add().await;
414
415
0
        self.write
416
0
            .lock()
417
0
            .await
418
0
            .send(Message::Text(json))
419
0
            .await
420
0
            .map_err(Error::Send)?;
421
422
0
        let resp = rx.await.map_err(Error::ReceiveMessage)?;
423
0
        debug!(
424
0
            rpc_version = %resp.negotiated_rpc_version,
425
0
            "re-identified against obs-websocket",
426
0
        );
Unexecuted instantiation: <obws::client::Client>::reidentify::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::Client>::reidentify::{closure#0}::{closure#0}
427
428
0
        Ok(())
429
0
    }
Unexecuted instantiation: <obws::client::Client>::reidentify::{closure#0}
Unexecuted instantiation: <obws::client::Client>::reidentify::{closure#0}
430
431
    /// Get a stream of events. Each call to this function creates a new listener, therefore it's
432
    /// recommended to keep the stream around and iterate over it.
433
    ///
434
    /// **Note**: To be able to iterate over the stream you have to pin it with
435
    /// [`futures_util::pin_mut`] for example.
436
    ///
437
    /// # Errors
438
    ///
439
    /// Getting a new stream of events fails with [`Error::Disconnected`] if the client is
440
    /// disconnected from obs-websocket. That can happen either by manually disconnecting, stopping
441
    /// obs-websocket or closing OBS.
442
    #[cfg(feature = "events")]
443
    pub fn events(&self) -> Result<impl Stream<Item = Event>> {
444
5
        if let Some(sender) = &self.event_sender.upgrade() {
445
5
            let mut receiver = sender.subscribe();
446
5
447
5
            Ok(async_stream::stream! {
448
49
                while let Ok(
event31
) = receiver.recv().await {
449
31
                    yield event;
<obws::client::Client>::events::{closure#0}
Line
Count
Source
447
5
            Ok(async_stream::stream! {
448
49
                while let Ok(
event31
) = receiver.recv().await {
449
31
                    yield event;
Unexecuted instantiation: <obws::client::Client>::events::{closure#0}
Unexecuted instantiation: <obws::client::Client>::events::{closure#0}
450
5
                }
451
5
            })
452
        } else {
453
0
            Err(crate::Error::Disconnected)
454
        }
455
5
    }
<obws::client::Client>::events
Line
Count
Source
444
5
        if let Some(sender) = &self.event_sender.upgrade() {
445
5
            let mut receiver = sender.subscribe();
446
5
447
5
            Ok(async_stream::stream! {
448
5
                while let Ok(event) = receiver.recv().await {
449
5
                    yield event;
450
5
                }
451
5
            })
452
        } else {
453
0
            Err(crate::Error::Disconnected)
454
        }
455
5
    }
Unexecuted instantiation: <obws::client::Client>::events
456
457
    /// Access API functions related to OBS configuration.
458
1
    pub fn config(&self) -> Config<'_> {
459
1
        Config { client: self }
460
1
    }
<obws::client::Client>::config
Line
Count
Source
458
1
    pub fn config(&self) -> Config<'_> {
459
1
        Config { client: self }
460
1
    }
Unexecuted instantiation: <obws::client::Client>::config
461
462
    /// Access API functions related to filters.
463
19
    pub fn filters(&self) -> Filters<'_> {
464
19
        Filters { client: self }
465
19
    }
<obws::client::Client>::filters
Line
Count
Source
463
19
    pub fn filters(&self) -> Filters<'_> {
464
19
        Filters { client: self }
465
19
    }
Unexecuted instantiation: <obws::client::Client>::filters
466
467
    /// Access general API functions.
468
19
    pub fn general(&self) -> General<'_> {
469
19
        General { client: self }
470
19
    }
<obws::client::Client>::general
Line
Count
Source
468
19
    pub fn general(&self) -> General<'_> {
469
19
        General { client: self }
470
19
    }
Unexecuted instantiation: <obws::client::Client>::general
471
472
    /// Access API functions related to hotkeys.
473
1
    pub fn hotkeys(&self) -> Hotkeys<'_> {
474
1
        Hotkeys { client: self }
475
1
    }
<obws::client::Client>::hotkeys
Line
Count
Source
473
1
    pub fn hotkeys(&self) -> Hotkeys<'_> {
474
1
        Hotkeys { client: self }
475
1
    }
Unexecuted instantiation: <obws::client::Client>::hotkeys
476
477
    /// Access API functions related to inputs.
478
19
    pub fn inputs(&self) -> Inputs<'_> {
479
19
        Inputs { client: self }
480
19
    }
<obws::client::Client>::inputs
Line
Count
Source
478
19
    pub fn inputs(&self) -> Inputs<'_> {
479
19
        Inputs { client: self }
480
19
    }
Unexecuted instantiation: <obws::client::Client>::inputs
481
482
    /// Access API functions related to media inputs.
483
1
    pub fn media_inputs(&self) -> MediaInputs<'_> {
484
1
        MediaInputs { client: self }
485
1
    }
<obws::client::Client>::media_inputs
Line
Count
Source
483
1
    pub fn media_inputs(&self) -> MediaInputs<'_> {
484
1
        MediaInputs { client: self }
485
1
    }
Unexecuted instantiation: <obws::client::Client>::media_inputs
486
487
    /// Access API functions related to outputs.
488
1
    pub fn outputs(&self) -> Outputs<'_> {
489
1
        Outputs { client: self }
490
1
    }
<obws::client::Client>::outputs
Line
Count
Source
488
1
    pub fn outputs(&self) -> Outputs<'_> {
489
1
        Outputs { client: self }
490
1
    }
Unexecuted instantiation: <obws::client::Client>::outputs
491
492
    /// Access API functions related to profiles.
493
19
    pub fn profiles(&self) -> Profiles<'_> {
494
19
        Profiles { client: self }
495
19
    }
<obws::client::Client>::profiles
Line
Count
Source
493
19
    pub fn profiles(&self) -> Profiles<'_> {
494
19
        Profiles { client: self }
495
19
    }
Unexecuted instantiation: <obws::client::Client>::profiles
496
497
    /// Access API functions related to recording.
498
19
    pub fn recording(&self) -> Recording<'_> {
499
19
        Recording { client: self }
500
19
    }
<obws::client::Client>::recording
Line
Count
Source
498
19
    pub fn recording(&self) -> Recording<'_> {
499
19
        Recording { client: self }
500
19
    }
Unexecuted instantiation: <obws::client::Client>::recording
501
502
    /// Access API functions related to the replay buffer.
503
19
    pub fn replay_buffer(&self) -> ReplayBuffer<'_> {
504
19
        ReplayBuffer { client: self }
505
19
    }
<obws::client::Client>::replay_buffer
Line
Count
Source
503
19
    pub fn replay_buffer(&self) -> ReplayBuffer<'_> {
504
19
        ReplayBuffer { client: self }
505
19
    }
Unexecuted instantiation: <obws::client::Client>::replay_buffer
506
507
    /// Access API functions related to scene collections.
508
1
    pub fn scene_collections(&self) -> SceneCollections<'_> {
509
1
        SceneCollections { client: self }
510
1
    }
<obws::client::Client>::scene_collections
Line
Count
Source
508
1
    pub fn scene_collections(&self) -> SceneCollections<'_> {
509
1
        SceneCollections { client: self }
510
1
    }
Unexecuted instantiation: <obws::client::Client>::scene_collections
511
512
    /// Access API functions related to scene items.
513
1
    pub fn scene_items(&self) -> SceneItems<'_> {
514
1
        SceneItems { client: self }
515
1
    }
<obws::client::Client>::scene_items
Line
Count
Source
513
1
    pub fn scene_items(&self) -> SceneItems<'_> {
514
1
        SceneItems { client: self }
515
1
    }
Unexecuted instantiation: <obws::client::Client>::scene_items
516
517
    /// Access API functions related to scenes.
518
55
    pub fn scenes(&self) -> Scenes<'_> {
519
55
        Scenes { client: self }
520
55
    }
<obws::client::Client>::scenes
Line
Count
Source
518
55
    pub fn scenes(&self) -> Scenes<'_> {
519
55
        Scenes { client: self }
520
55
    }
Unexecuted instantiation: <obws::client::Client>::scenes
521
522
    /// Access API functions related to sources.
523
1
    pub fn sources(&self) -> Sources<'_> {
524
1
        Sources { client: self }
525
1
    }
<obws::client::Client>::sources
Line
Count
Source
523
1
    pub fn sources(&self) -> Sources<'_> {
524
1
        Sources { client: self }
525
1
    }
Unexecuted instantiation: <obws::client::Client>::sources
526
527
    /// Access API functions related to streaming.
528
1
    pub fn streaming(&self) -> Streaming<'_> {
529
1
        Streaming { client: self }
530
1
    }
<obws::client::Client>::streaming
Line
Count
Source
528
1
    pub fn streaming(&self) -> Streaming<'_> {
529
1
        Streaming { client: self }
530
1
    }
Unexecuted instantiation: <obws::client::Client>::streaming
531
532
    /// Access API functions related to transitions.
533
1
    pub fn transitions(&self) -> Transitions<'_> {
534
1
        Transitions { client: self }
535
1
    }
<obws::client::Client>::transitions
Line
Count
Source
533
1
    pub fn transitions(&self) -> Transitions<'_> {
534
1
        Transitions { client: self }
535
1
    }
Unexecuted instantiation: <obws::client::Client>::transitions
536
537
    /// Access API functions related to the user interface.
538
21
    pub fn ui(&self) -> Ui<'_> {
539
21
        Ui { client: self }
540
21
    }
<obws::client::Client>::ui
Line
Count
Source
538
21
    pub fn ui(&self) -> Ui<'_> {
539
21
        Ui { client: self }
540
21
    }
Unexecuted instantiation: <obws::client::Client>::ui
541
542
    /// Access API functions related to the virtual camera.
543
19
    pub fn virtual_cam(&self) -> VirtualCam<'_> {
544
19
        VirtualCam { client: self }
545
19
    }
<obws::client::Client>::virtual_cam
Line
Count
Source
543
19
    pub fn virtual_cam(&self) -> VirtualCam<'_> {
544
19
        VirtualCam { client: self }
545
19
    }
Unexecuted instantiation: <obws::client::Client>::virtual_cam
546
}
547
548
impl Drop for Client {
549
18
    fn drop(&mut self) {
550
18
        // We simply drop the future as the background task has been aborted but we have no way here
551
18
        // to wait for it to fully shut down (except spinning up a new tokio runtime).
552
18
        drop(self.disconnect());
553
18
    }
<obws::client::Client as core::ops::drop::Drop>::drop
Line
Count
Source
549
18
    fn drop(&mut self) {
550
18
        // We simply drop the future as the background task has been aborted but we have no way here
551
18
        // to wait for it to fully shut down (except spinning up a new tokio runtime).
552
18
        drop(self.disconnect());
553
18
    }
Unexecuted instantiation: <obws::client::Client as core::ops::drop::Drop>::drop
554
}
\ No newline at end of file diff --git a/coverage/src/client/outputs.rs.html b/coverage/src/client/outputs.rs.html index 3c784b4..24c2bbc 100644 --- a/coverage/src/client/outputs.rs.html +++ b/coverage/src/client/outputs.rs.html @@ -1 +1 @@ -

Coverage Report

Created: 2022-05-25 22:28

src/client/outputs.rs
Line
Count
Source
1
use super::Client;
2
use crate::{requests::RequestType, responses, Result};
3
4
/// API functions related to outputs.
5
pub struct Outputs<'a> {
6
    pub(super) client: &'a Client,
7
}
8
9
impl<'a> Outputs<'a> {
10
    /// Gets the status of the virtual cam output.
11
14
    pub async fn get_virtual_cam_status(&self) -> Result<bool> {
<obws::client::outputs::Outputs>::get_virtual_cam_status
Line
Count
Source
11
14
    pub async fn get_virtual_cam_status(&self) -> Result<bool> {
Unexecuted instantiation: <obws::client::outputs::Outputs>::get_virtual_cam_status
12
14
        self.client
13
28
            .send_message::<responses::OutputActive>(RequestType::GetVirtualCamStatus)
14
28
            .await
15
14
            .map(|oa| oa.output_active)
<obws::client::outputs::Outputs>::get_virtual_cam_status::{closure#0}::{closure#0}
Line
Count
Source
15
14
            .map(|oa| oa.output_active)
Unexecuted instantiation: <obws::client::outputs::Outputs>::get_virtual_cam_status::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::outputs::Outputs>::get_virtual_cam_status::{closure#0}::{closure#0}
16
14
    }
<obws::client::outputs::Outputs>::get_virtual_cam_status::{closure#0}
Line
Count
Source
12
14
        self.client
13
28
            .send_message::<responses::OutputActive>(RequestType::GetVirtualCamStatus)
14
28
            .await
15
14
            .map(|oa| oa.output_active)
16
14
    }
Unexecuted instantiation: <obws::client::outputs::Outputs>::get_virtual_cam_status::{closure#0}
Unexecuted instantiation: <obws::client::outputs::Outputs>::get_virtual_cam_status::{closure#0}
17
18
    /// Toggles the state of the virtual cam output.
19
2
    pub async fn toggle_virtual_cam(&self) -> Result<bool> {
<obws::client::outputs::Outputs>::toggle_virtual_cam
Line
Count
Source
19
2
    pub async fn toggle_virtual_cam(&self) -> Result<bool> {
Unexecuted instantiation: <obws::client::outputs::Outputs>::toggle_virtual_cam
20
2
        self.client
21
4
            .send_message::<responses::OutputActive>(RequestType::ToggleVirtualCam)
22
4
            .await
23
2
            .map(|oa| oa.output_active)
<obws::client::outputs::Outputs>::toggle_virtual_cam::{closure#0}::{closure#0}
Line
Count
Source
23
2
            .map(|oa| oa.output_active)
Unexecuted instantiation: <obws::client::outputs::Outputs>::toggle_virtual_cam::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::outputs::Outputs>::toggle_virtual_cam::{closure#0}::{closure#0}
24
2
    }
<obws::client::outputs::Outputs>::toggle_virtual_cam::{closure#0}
Line
Count
Source
20
2
        self.client
21
4
            .send_message::<responses::OutputActive>(RequestType::ToggleVirtualCam)
22
4
            .await
23
2
            .map(|oa| oa.output_active)
24
2
    }
Unexecuted instantiation: <obws::client::outputs::Outputs>::toggle_virtual_cam::{closure#0}
Unexecuted instantiation: <obws::client::outputs::Outputs>::toggle_virtual_cam::{closure#0}
25
26
    /// Starts the virtual cam output.
27
1
    pub async fn start_virtual_cam(&self) -> Result<()> {
<obws::client::outputs::Outputs>::start_virtual_cam
Line
Count
Source
27
1
    pub async fn start_virtual_cam(&self) -> Result<()> {
Unexecuted instantiation: <obws::client::outputs::Outputs>::start_virtual_cam
28
2
        
self.client.send_message(RequestType::StartVirtualCam)1
.await
29
1
    }
<obws::client::outputs::Outputs>::start_virtual_cam::{closure#0}
Line
Count
Source
28
2
        
self.client.send_message(RequestType::StartVirtualCam)1
.await
29
1
    }
Unexecuted instantiation: <obws::client::outputs::Outputs>::start_virtual_cam::{closure#0}
Unexecuted instantiation: <obws::client::outputs::Outputs>::start_virtual_cam::{closure#0}
30
31
    /// Stops the virtual cam output.
32
1
    pub async fn stop_virtual_cam(&self) -> Result<()> {
<obws::client::outputs::Outputs>::stop_virtual_cam
Line
Count
Source
32
1
    pub async fn stop_virtual_cam(&self) -> Result<()> {
Unexecuted instantiation: <obws::client::outputs::Outputs>::stop_virtual_cam
33
2
        
self.client.send_message(RequestType::StopVirtualCam)1
.await
34
1
    }
<obws::client::outputs::Outputs>::stop_virtual_cam::{closure#0}
Line
Count
Source
33
2
        
self.client.send_message(RequestType::StopVirtualCam)1
.await
34
1
    }
Unexecuted instantiation: <obws::client::outputs::Outputs>::stop_virtual_cam::{closure#0}
Unexecuted instantiation: <obws::client::outputs::Outputs>::stop_virtual_cam::{closure#0}
35
36
    /// Gets the status of the replay buffer output.
37
14
    pub async fn get_replay_buffer_status(&self) -> Result<bool> {
<obws::client::outputs::Outputs>::get_replay_buffer_status
Line
Count
Source
37
14
    pub async fn get_replay_buffer_status(&self) -> Result<bool> {
Unexecuted instantiation: <obws::client::outputs::Outputs>::get_replay_buffer_status
38
14
        self.client
39
28
            .send_message::<responses::OutputActive>(RequestType::GetReplayBufferStatus)
40
28
            .await
41
14
            .map(|oa| oa.output_active)
<obws::client::outputs::Outputs>::get_replay_buffer_status::{closure#0}::{closure#0}
Line
Count
Source
41
14
            .map(|oa| oa.output_active)
Unexecuted instantiation: <obws::client::outputs::Outputs>::get_replay_buffer_status::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::outputs::Outputs>::get_replay_buffer_status::{closure#0}::{closure#0}
42
14
    }
<obws::client::outputs::Outputs>::get_replay_buffer_status::{closure#0}
Line
Count
Source
38
14
        self.client
39
28
            .send_message::<responses::OutputActive>(RequestType::GetReplayBufferStatus)
40
28
            .await
41
14
            .map(|oa| oa.output_active)
42
14
    }
Unexecuted instantiation: <obws::client::outputs::Outputs>::get_replay_buffer_status::{closure#0}
Unexecuted instantiation: <obws::client::outputs::Outputs>::get_replay_buffer_status::{closure#0}
43
44
    /// Toggles the state of the replay buffer output.
45
2
    pub async fn toggle_replay_buffer(&self) -> Result<bool> {
<obws::client::outputs::Outputs>::toggle_replay_buffer
Line
Count
Source
45
2
    pub async fn toggle_replay_buffer(&self) -> Result<bool> {
Unexecuted instantiation: <obws::client::outputs::Outputs>::toggle_replay_buffer
46
2
        self.client
47
4
            .send_message::<responses::OutputActive>(RequestType::ToggleReplayBuffer)
48
4
            .await
49
2
            .map(|oa| oa.output_active)
<obws::client::outputs::Outputs>::toggle_replay_buffer::{closure#0}::{closure#0}
Line
Count
Source
49
2
            .map(|oa| oa.output_active)
Unexecuted instantiation: <obws::client::outputs::Outputs>::toggle_replay_buffer::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::outputs::Outputs>::toggle_replay_buffer::{closure#0}::{closure#0}
50
2
    }
<obws::client::outputs::Outputs>::toggle_replay_buffer::{closure#0}
Line
Count
Source
46
2
        self.client
47
4
            .send_message::<responses::OutputActive>(RequestType::ToggleReplayBuffer)
48
4
            .await
49
2
            .map(|oa| oa.output_active)
50
2
    }
Unexecuted instantiation: <obws::client::outputs::Outputs>::toggle_replay_buffer::{closure#0}
Unexecuted instantiation: <obws::client::outputs::Outputs>::toggle_replay_buffer::{closure#0}
51
52
    /// Starts the replay buffer output.
53
1
    pub async fn start_replay_buffer(&self) -> Result<()> {
<obws::client::outputs::Outputs>::start_replay_buffer
Line
Count
Source
53
1
    pub async fn start_replay_buffer(&self) -> Result<()> {
Unexecuted instantiation: <obws::client::outputs::Outputs>::start_replay_buffer
54
1
        self.client
55
2
            .send_message(RequestType::StartReplayBuffer)
56
2
            .await
57
1
    }
<obws::client::outputs::Outputs>::start_replay_buffer::{closure#0}
Line
Count
Source
54
1
        self.client
55
2
            .send_message(RequestType::StartReplayBuffer)
56
2
            .await
57
1
    }
Unexecuted instantiation: <obws::client::outputs::Outputs>::start_replay_buffer::{closure#0}
Unexecuted instantiation: <obws::client::outputs::Outputs>::start_replay_buffer::{closure#0}
58
59
    /// Stops the replay buffer output.
60
1
    pub async fn stop_replay_buffer(&self) -> Result<()> {
<obws::client::outputs::Outputs>::stop_replay_buffer
Line
Count
Source
60
1
    pub async fn stop_replay_buffer(&self) -> Result<()> {
Unexecuted instantiation: <obws::client::outputs::Outputs>::stop_replay_buffer
61
1
        self.client
62
2
            .send_message(RequestType::StopReplayBuffer)
63
2
            .await
64
1
    }
<obws::client::outputs::Outputs>::stop_replay_buffer::{closure#0}
Line
Count
Source
61
1
        self.client
62
2
            .send_message(RequestType::StopReplayBuffer)
63
2
            .await
64
1
    }
Unexecuted instantiation: <obws::client::outputs::Outputs>::stop_replay_buffer::{closure#0}
Unexecuted instantiation: <obws::client::outputs::Outputs>::stop_replay_buffer::{closure#0}
65
66
    /// Saves the contents of the replay buffer output.
67
1
    pub async fn save_replay_buffer(&self) -> Result<()> {
<obws::client::outputs::Outputs>::save_replay_buffer
Line
Count
Source
67
1
    pub async fn save_replay_buffer(&self) -> Result<()> {
Unexecuted instantiation: <obws::client::outputs::Outputs>::save_replay_buffer
68
1
        self.client
69
2
            .send_message(RequestType::SaveReplayBuffer)
70
2
            .await
71
1
    }
<obws::client::outputs::Outputs>::save_replay_buffer::{closure#0}
Line
Count
Source
68
1
        self.client
69
2
            .send_message(RequestType::SaveReplayBuffer)
70
2
            .await
71
1
    }
Unexecuted instantiation: <obws::client::outputs::Outputs>::save_replay_buffer::{closure#0}
Unexecuted instantiation: <obws::client::outputs::Outputs>::save_replay_buffer::{closure#0}
72
73
    /// Gets the file name of the last replay buffer save file.
74
1
    pub async fn get_last_replay_buffer_replay(&self) -> Result<String> {
<obws::client::outputs::Outputs>::get_last_replay_buffer_replay
Line
Count
Source
74
1
    pub async fn get_last_replay_buffer_replay(&self) -> Result<String> {
Unexecuted instantiation: <obws::client::outputs::Outputs>::get_last_replay_buffer_replay
75
1
        self.client
76
2
            .send_message::<responses::SavedReplayPath>(RequestType::GetLastReplayBufferReplay)
77
2
            .await
78
1
            .map(|srp| srp.saved_replay_path)
<obws::client::outputs::Outputs>::get_last_replay_buffer_replay::{closure#0}::{closure#0}
Line
Count
Source
78
1
            .map(|srp| srp.saved_replay_path)
Unexecuted instantiation: <obws::client::outputs::Outputs>::get_last_replay_buffer_replay::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::outputs::Outputs>::get_last_replay_buffer_replay::{closure#0}::{closure#0}
79
1
    }
<obws::client::outputs::Outputs>::get_last_replay_buffer_replay::{closure#0}
Line
Count
Source
75
1
        self.client
76
2
            .send_message::<responses::SavedReplayPath>(RequestType::GetLastReplayBufferReplay)
77
2
            .await
78
1
            .map(|srp| srp.saved_replay_path)
79
1
    }
Unexecuted instantiation: <obws::client::outputs::Outputs>::get_last_replay_buffer_replay::{closure#0}
Unexecuted instantiation: <obws::client::outputs::Outputs>::get_last_replay_buffer_replay::{closure#0}
80
}
\ No newline at end of file +

Coverage Report

Created: 2022-07-04 16:17

src/client/outputs.rs
Line
Count
Source (jump to first uncovered line)
1
use serde::{de::DeserializeOwned, Serialize};
2
3
use super::Client;
4
use crate::{requests::outputs::Request, responses::outputs as responses, Error, Result};
5
6
/// API functions related to outputs.
7
pub struct Outputs<'a> {
8
    pub(super) client: &'a Client,
9
}
10
11
impl<'a> Outputs<'a> {
12
    /// Gets the list of available outputs.
13
1
    pub async fn list(&self) -> Result<Vec<responses::Output>> {
<obws::client::outputs::Outputs>::list
Line
Count
Source
13
1
    pub async fn list(&self) -> Result<Vec<responses::Output>> {
Unexecuted instantiation: <obws::client::outputs::Outputs>::list
14
1
        self.client
15
2
            .send_message::<_, responses::OutputList>(Request::List)
16
2
            .await
17
1
            .map(|ol| ol.outputs)
<obws::client::outputs::Outputs>::list::{closure#0}::{closure#0}
Line
Count
Source
17
1
            .map(|ol| ol.outputs)
Unexecuted instantiation: <obws::client::outputs::Outputs>::list::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::outputs::Outputs>::list::{closure#0}::{closure#0}
18
1
    }
<obws::client::outputs::Outputs>::list::{closure#0}
Line
Count
Source
14
1
        self.client
15
2
            .send_message::<_, responses::OutputList>(Request::List)
16
2
            .await
17
1
            .map(|ol| ol.outputs)
18
1
    }
Unexecuted instantiation: <obws::client::outputs::Outputs>::list::{closure#0}
Unexecuted instantiation: <obws::client::outputs::Outputs>::list::{closure#0}
19
20
    /// Gets the status of an output.
21
1
    pub async fn status(&self, name: &str) -> Result<responses::OutputStatus> {
<obws::client::outputs::Outputs>::status
Line
Count
Source
21
1
    pub async fn status(&self, name: &str) -> Result<responses::OutputStatus> {
Unexecuted instantiation: <obws::client::outputs::Outputs>::status
22
2
        
self.client.send_message(Request::Status { name })1
.await
23
1
    }
<obws::client::outputs::Outputs>::status::{closure#0}
Line
Count
Source
22
2
        
self.client.send_message(Request::Status { name })1
.await
23
1
    }
Unexecuted instantiation: <obws::client::outputs::Outputs>::status::{closure#0}
Unexecuted instantiation: <obws::client::outputs::Outputs>::status::{closure#0}
24
25
    /// Toggles the status of an output.
26
2
    pub async fn toggle(&self, name: &str) -> Result<bool> {
<obws::client::outputs::Outputs>::toggle
Line
Count
Source
26
2
    pub async fn toggle(&self, name: &str) -> Result<bool> {
Unexecuted instantiation: <obws::client::outputs::Outputs>::toggle
27
2
        self.client
28
4
            .send_message::<_, responses::OutputActive>(Request::Toggle { name })
29
4
            .await
30
2
            .map(|oa| oa.active)
<obws::client::outputs::Outputs>::toggle::{closure#0}::{closure#0}
Line
Count
Source
30
2
            .map(|oa| oa.active)
Unexecuted instantiation: <obws::client::outputs::Outputs>::toggle::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::outputs::Outputs>::toggle::{closure#0}::{closure#0}
31
2
    }
<obws::client::outputs::Outputs>::toggle::{closure#0}
Line
Count
Source
27
2
        self.client
28
4
            .send_message::<_, responses::OutputActive>(Request::Toggle { name })
29
4
            .await
30
2
            .map(|oa| oa.active)
31
2
    }
Unexecuted instantiation: <obws::client::outputs::Outputs>::toggle::{closure#0}
Unexecuted instantiation: <obws::client::outputs::Outputs>::toggle::{closure#0}
32
33
    /// Starts an output.
34
1
    pub async fn start(&self, name: &str) -> Result<()> {
<obws::client::outputs::Outputs>::start
Line
Count
Source
34
1
    pub async fn start(&self, name: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::outputs::Outputs>::start
35
2
        
self.client.send_message(Request::Start { name })1
.await
36
1
    }
<obws::client::outputs::Outputs>::start::{closure#0}
Line
Count
Source
35
2
        
self.client.send_message(Request::Start { name })1
.await
36
1
    }
Unexecuted instantiation: <obws::client::outputs::Outputs>::start::{closure#0}
Unexecuted instantiation: <obws::client::outputs::Outputs>::start::{closure#0}
37
38
    /// Stops an output.
39
1
    pub async fn stop(&self, name: &str) -> Result<()> {
<obws::client::outputs::Outputs>::stop
Line
Count
Source
39
1
    pub async fn stop(&self, name: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::outputs::Outputs>::stop
40
2
        
self.client.send_message(Request::Stop { name })1
.await
41
1
    }
<obws::client::outputs::Outputs>::stop::{closure#0}
Line
Count
Source
40
2
        
self.client.send_message(Request::Stop { name })1
.await
41
1
    }
Unexecuted instantiation: <obws::client::outputs::Outputs>::stop::{closure#0}
Unexecuted instantiation: <obws::client::outputs::Outputs>::stop::{closure#0}
42
43
    /// Gets the settings of an output.
44
1
    pub async fn settings<T>(&self, name: &str) -> Result<T>
45
1
    where
46
1
        T: DeserializeOwned,
47
1
    {
<obws::client::outputs::Outputs>::settings::<serde_json::value::Value>
Line
Count
Source
44
1
    pub async fn settings<T>(&self, name: &str) -> Result<T>
45
1
    where
46
1
        T: DeserializeOwned,
47
1
    {
Unexecuted instantiation: <obws::client::outputs::Outputs>::settings::<_>
Unexecuted instantiation: <obws::client::outputs::Outputs>::settings::<_>
48
1
        self.client
49
2
            .send_message::<_, responses::OutputSettings<T>>(Request::Settings { name })
50
2
            .await
51
1
            .map(|os| os.settings)
<obws::client::outputs::Outputs>::settings::<serde_json::value::Value>::{closure#0}::{closure#0}
Line
Count
Source
51
1
            .map(|os| os.settings)
Unexecuted instantiation: <obws::client::outputs::Outputs>::settings::<_>::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::outputs::Outputs>::settings::<_>::{closure#0}::{closure#0}
52
1
    }
<obws::client::outputs::Outputs>::settings::<serde_json::value::Value>::{closure#0}
Line
Count
Source
48
1
        self.client
49
2
            .send_message::<_, responses::OutputSettings<T>>(Request::Settings { name })
50
2
            .await
51
1
            .map(|os| os.settings)
52
1
    }
Unexecuted instantiation: <obws::client::outputs::Outputs>::settings::<_>::{closure#0}
Unexecuted instantiation: <obws::client::outputs::Outputs>::settings::<_>::{closure#0}
53
54
    /// Sets the settings of an output.
55
1
    pub async fn set_settings<T>(&self, name: &str, settings: T) -> Result<()>
56
1
    where
57
1
        T: Serialize,
58
1
    {
<obws::client::outputs::Outputs>::set_settings::<&serde_json::value::Value>
Line
Count
Source
55
1
    pub async fn set_settings<T>(&self, name: &str, settings: T) -> Result<()>
56
1
    where
57
1
        T: Serialize,
58
1
    {
Unexecuted instantiation: <obws::client::outputs::Outputs>::set_settings::<_>
Unexecuted instantiation: <obws::client::outputs::Outputs>::set_settings::<_>
59
        self.client
60
            .send_message(Request::SetSettings {
61
1
                name,
62
1
                settings: serde_json::to_value(&settings).map_err(Error::SerializeCustomData)
?0
,
63
2
            })
64
2
            .await
65
1
    }
<obws::client::outputs::Outputs>::set_settings::<&serde_json::value::Value>::{closure#0}
Line
Count
Source
61
1
                name,
62
1
                settings: serde_json::to_value(&settings).map_err(Error::SerializeCustomData)
?0
,
63
2
            })
64
2
            .await
65
1
    }
Unexecuted instantiation: <obws::client::outputs::Outputs>::set_settings::<_>::{closure#0}
Unexecuted instantiation: <obws::client::outputs::Outputs>::set_settings::<_>::{closure#0}
66
}
\ No newline at end of file diff --git a/coverage/src/client/profiles.rs.html b/coverage/src/client/profiles.rs.html new file mode 100644 index 0000000..45949f2 --- /dev/null +++ b/coverage/src/client/profiles.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/client/profiles.rs
Line
Count
Source
1
use super::Client;
2
use crate::{
3
    requests::profiles::{Request, SetParameter},
4
    responses::profiles as responses,
5
    Result,
6
};
7
8
/// API functions related to profiles.
9
pub struct Profiles<'a> {
10
    pub(super) client: &'a Client,
11
}
12
13
impl<'a> Profiles<'a> {
14
    /// Gets an array of all profiles.
15
19
    pub async fn list(&self) -> Result<responses::Profiles> {
<obws::client::profiles::Profiles>::list
Line
Count
Source
15
19
    pub async fn list(&self) -> Result<responses::Profiles> {
Unexecuted instantiation: <obws::client::profiles::Profiles>::list
16
38
        
self.client.send_message(Request::List)19
.await
17
19
    }
<obws::client::profiles::Profiles>::list::{closure#0}
Line
Count
Source
16
38
        
self.client.send_message(Request::List)19
.await
17
19
    }
Unexecuted instantiation: <obws::client::profiles::Profiles>::list::{closure#0}
Unexecuted instantiation: <obws::client::profiles::Profiles>::list::{closure#0}
18
19
    /// Get the currently active profile name.
20
1
    pub async fn current(&self) -> Result<String> {
<obws::client::profiles::Profiles>::current
Line
Count
Source
20
1
    pub async fn current(&self) -> Result<String> {
Unexecuted instantiation: <obws::client::profiles::Profiles>::current
21
1
        self.client
22
2
            .send_message::<_, responses::Profiles>(Request::List)
23
2
            .await
24
1
            .map(|p| p.current)
<obws::client::profiles::Profiles>::current::{closure#0}::{closure#0}
Line
Count
Source
24
1
            .map(|p| p.current)
Unexecuted instantiation: <obws::client::profiles::Profiles>::current::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::profiles::Profiles>::current::{closure#0}::{closure#0}
25
1
    }
<obws::client::profiles::Profiles>::current::{closure#0}
Line
Count
Source
21
1
        self.client
22
2
            .send_message::<_, responses::Profiles>(Request::List)
23
2
            .await
24
1
            .map(|p| p.current)
25
1
    }
Unexecuted instantiation: <obws::client::profiles::Profiles>::current::{closure#0}
Unexecuted instantiation: <obws::client::profiles::Profiles>::current::{closure#0}
26
27
    /// Switches to a profile.
28
2
    pub async fn set_current(&self, name: &str) -> Result<()> {
<obws::client::profiles::Profiles>::set_current
Line
Count
Source
28
2
    pub async fn set_current(&self, name: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::profiles::Profiles>::set_current
29
4
        
self.client.send_message(Request::SetCurrent { name })2
.await
30
2
    }
<obws::client::profiles::Profiles>::set_current::{closure#0}
Line
Count
Source
29
4
        
self.client.send_message(Request::SetCurrent { name })2
.await
30
2
    }
Unexecuted instantiation: <obws::client::profiles::Profiles>::set_current::{closure#0}
Unexecuted instantiation: <obws::client::profiles::Profiles>::set_current::{closure#0}
31
32
    /// Creates a new profile, switching to it in the process.
33
1
    pub async fn create(&self, name: &str) -> Result<()> {
<obws::client::profiles::Profiles>::create
Line
Count
Source
33
1
    pub async fn create(&self, name: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::profiles::Profiles>::create
34
2
        
self.client.send_message(Request::Create { name })1
.await
35
1
    }
<obws::client::profiles::Profiles>::create::{closure#0}
Line
Count
Source
34
2
        
self.client.send_message(Request::Create { name })1
.await
35
1
    }
Unexecuted instantiation: <obws::client::profiles::Profiles>::create::{closure#0}
Unexecuted instantiation: <obws::client::profiles::Profiles>::create::{closure#0}
36
37
    /// Removes a profile. If the current profile is chosen, it will change to a different profile
38
    /// first.
39
1
    pub async fn remove(&self, name: &str) -> Result<()> {
<obws::client::profiles::Profiles>::remove
Line
Count
Source
39
1
    pub async fn remove(&self, name: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::profiles::Profiles>::remove
40
2
        
self.client.send_message(Request::Remove { name })1
.await
41
1
    }
<obws::client::profiles::Profiles>::remove::{closure#0}
Line
Count
Source
40
2
        
self.client.send_message(Request::Remove { name })1
.await
41
1
    }
Unexecuted instantiation: <obws::client::profiles::Profiles>::remove::{closure#0}
Unexecuted instantiation: <obws::client::profiles::Profiles>::remove::{closure#0}
42
43
    /// Gets a parameter from the current profile's configuration.
44
1
    pub async fn parameter(
45
1
        &self,
46
1
        category: &str,
47
1
        name: &str,
48
1
    ) -> Result<responses::ProfileParameter> {
<obws::client::profiles::Profiles>::parameter
Line
Count
Source
44
1
    pub async fn parameter(
45
1
        &self,
46
1
        category: &str,
47
1
        name: &str,
48
1
    ) -> Result<responses::ProfileParameter> {
Unexecuted instantiation: <obws::client::profiles::Profiles>::parameter
49
1
        self.client
50
2
            .send_message(Request::Parameter { category, name })
51
2
            .await
52
1
    }
<obws::client::profiles::Profiles>::parameter::{closure#0}
Line
Count
Source
49
1
        self.client
50
2
            .send_message(Request::Parameter { category, name })
51
2
            .await
52
1
    }
Unexecuted instantiation: <obws::client::profiles::Profiles>::parameter::{closure#0}
Unexecuted instantiation: <obws::client::profiles::Profiles>::parameter::{closure#0}
53
54
    /// Sets the value of a parameter in the current profile's configuration.
55
2
    pub async fn set_parameter(&self, parameter: SetParameter<'_>) -> Result<()> {
<obws::client::profiles::Profiles>::set_parameter
Line
Count
Source
55
2
    pub async fn set_parameter(&self, parameter: SetParameter<'_>) -> Result<()> {
Unexecuted instantiation: <obws::client::profiles::Profiles>::set_parameter
56
2
        self.client
57
4
            .send_message(Request::SetParameter(parameter))
58
4
            .await
59
2
    }
<obws::client::profiles::Profiles>::set_parameter::{closure#0}
Line
Count
Source
56
2
        self.client
57
4
            .send_message(Request::SetParameter(parameter))
58
4
            .await
59
2
    }
Unexecuted instantiation: <obws::client::profiles::Profiles>::set_parameter::{closure#0}
Unexecuted instantiation: <obws::client::profiles::Profiles>::set_parameter::{closure#0}
60
}
\ No newline at end of file diff --git a/coverage/src/client/recording.rs.html b/coverage/src/client/recording.rs.html index f58d39d..9893224 100644 --- a/coverage/src/client/recording.rs.html +++ b/coverage/src/client/recording.rs.html @@ -1 +1 @@ -

Coverage Report

Created: 2022-05-25 22:28

src/client/recording.rs
Line
Count
Source
1
use super::Client;
2
use crate::{requests::RequestType, responses, Result};
3
4
/// API functions related to recording.
5
pub struct Recording<'a> {
6
    pub(super) client: &'a Client,
7
}
8
9
impl<'a> Recording<'a> {
10
    /// Gets the status of the record output.
11
14
    pub async fn get_record_status(&self) -> Result<responses::RecordStatus> {
<obws::client::recording::Recording>::get_record_status
Line
Count
Source
11
14
    pub async fn get_record_status(&self) -> Result<responses::RecordStatus> {
Unexecuted instantiation: <obws::client::recording::Recording>::get_record_status
12
28
        
self.client.send_message(RequestType::GetRecordStatus)14
.await
13
14
    }
<obws::client::recording::Recording>::get_record_status::{closure#0}
Line
Count
Source
12
28
        
self.client.send_message(RequestType::GetRecordStatus)14
.await
13
14
    }
Unexecuted instantiation: <obws::client::recording::Recording>::get_record_status::{closure#0}
Unexecuted instantiation: <obws::client::recording::Recording>::get_record_status::{closure#0}
14
15
    /// Toggles the status of the record output.
16
2
    pub async fn toggle_record(&self) -> Result<bool> {
<obws::client::recording::Recording>::toggle_record
Line
Count
Source
16
2
    pub async fn toggle_record(&self) -> Result<bool> {
Unexecuted instantiation: <obws::client::recording::Recording>::toggle_record
17
2
        self.client
18
4
            .send_message::<responses::OutputActive>(RequestType::ToggleRecord)
19
4
            .await
20
2
            .map(|oa| oa.output_active)
<obws::client::recording::Recording>::toggle_record::{closure#0}::{closure#0}
Line
Count
Source
20
2
            .map(|oa| oa.output_active)
Unexecuted instantiation: <obws::client::recording::Recording>::toggle_record::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::recording::Recording>::toggle_record::{closure#0}::{closure#0}
21
2
    }
<obws::client::recording::Recording>::toggle_record::{closure#0}
Line
Count
Source
17
2
        self.client
18
4
            .send_message::<responses::OutputActive>(RequestType::ToggleRecord)
19
4
            .await
20
2
            .map(|oa| oa.output_active)
21
2
    }
Unexecuted instantiation: <obws::client::recording::Recording>::toggle_record::{closure#0}
Unexecuted instantiation: <obws::client::recording::Recording>::toggle_record::{closure#0}
22
23
    /// Starts the record output.
24
1
    pub async fn start_record(&self) -> Result<()> {
<obws::client::recording::Recording>::start_record
Line
Count
Source
24
1
    pub async fn start_record(&self) -> Result<()> {
Unexecuted instantiation: <obws::client::recording::Recording>::start_record
25
2
        
self.client.send_message(RequestType::StartRecord)1
.await
26
1
    }
<obws::client::recording::Recording>::start_record::{closure#0}
Line
Count
Source
25
2
        
self.client.send_message(RequestType::StartRecord)1
.await
26
1
    }
Unexecuted instantiation: <obws::client::recording::Recording>::start_record::{closure#0}
Unexecuted instantiation: <obws::client::recording::Recording>::start_record::{closure#0}
27
28
    /// Stops the record output.
29
1
    pub async fn stop_record(&self) -> Result<()> {
<obws::client::recording::Recording>::stop_record
Line
Count
Source
29
1
    pub async fn stop_record(&self) -> Result<()> {
Unexecuted instantiation: <obws::client::recording::Recording>::stop_record
30
2
        
self.client.send_message(RequestType::StopRecord)1
.await
31
1
    }
<obws::client::recording::Recording>::stop_record::{closure#0}
Line
Count
Source
30
2
        
self.client.send_message(RequestType::StopRecord)1
.await
31
1
    }
Unexecuted instantiation: <obws::client::recording::Recording>::stop_record::{closure#0}
Unexecuted instantiation: <obws::client::recording::Recording>::stop_record::{closure#0}
32
33
    /// Toggles pause on the record output.
34
2
    pub async fn toggle_record_pause(&self) -> Result<bool> {
<obws::client::recording::Recording>::toggle_record_pause
Line
Count
Source
34
2
    pub async fn toggle_record_pause(&self) -> Result<bool> {
Unexecuted instantiation: <obws::client::recording::Recording>::toggle_record_pause
35
2
        self.client
36
4
            .send_message::<responses::OutputPaused>(RequestType::ToggleRecordPause)
37
4
            .await
38
2
            .map(|op| op.output_paused)
<obws::client::recording::Recording>::toggle_record_pause::{closure#0}::{closure#0}
Line
Count
Source
38
2
            .map(|op| op.output_paused)
Unexecuted instantiation: <obws::client::recording::Recording>::toggle_record_pause::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::recording::Recording>::toggle_record_pause::{closure#0}::{closure#0}
39
2
    }
<obws::client::recording::Recording>::toggle_record_pause::{closure#0}
Line
Count
Source
35
2
        self.client
36
4
            .send_message::<responses::OutputPaused>(RequestType::ToggleRecordPause)
37
4
            .await
38
2
            .map(|op| op.output_paused)
39
2
    }
Unexecuted instantiation: <obws::client::recording::Recording>::toggle_record_pause::{closure#0}
Unexecuted instantiation: <obws::client::recording::Recording>::toggle_record_pause::{closure#0}
40
41
    /// Pauses the record output.
42
1
    pub async fn pause_record(&self) -> Result<()> {
<obws::client::recording::Recording>::pause_record
Line
Count
Source
42
1
    pub async fn pause_record(&self) -> Result<()> {
Unexecuted instantiation: <obws::client::recording::Recording>::pause_record
43
2
        
self.client.send_message(RequestType::PauseRecord)1
.await
44
1
    }
<obws::client::recording::Recording>::pause_record::{closure#0}
Line
Count
Source
43
2
        
self.client.send_message(RequestType::PauseRecord)1
.await
44
1
    }
Unexecuted instantiation: <obws::client::recording::Recording>::pause_record::{closure#0}
Unexecuted instantiation: <obws::client::recording::Recording>::pause_record::{closure#0}
45
46
    /// Resumes the record output.
47
1
    pub async fn resume_record(&self) -> Result<()> {
<obws::client::recording::Recording>::resume_record
Line
Count
Source
47
1
    pub async fn resume_record(&self) -> Result<()> {
Unexecuted instantiation: <obws::client::recording::Recording>::resume_record
48
2
        
self.client.send_message(RequestType::ResumeRecord)1
.await
49
1
    }
<obws::client::recording::Recording>::resume_record::{closure#0}
Line
Count
Source
48
2
        
self.client.send_message(RequestType::ResumeRecord)1
.await
49
1
    }
Unexecuted instantiation: <obws::client::recording::Recording>::resume_record::{closure#0}
Unexecuted instantiation: <obws::client::recording::Recording>::resume_record::{closure#0}
50
}
\ No newline at end of file +

Coverage Report

Created: 2022-07-04 16:17

src/client/recording.rs
Line
Count
Source
1
use super::Client;
2
use crate::{requests::recording::Request, responses::recording as responses, Result};
3
4
/// API functions related to recording.
5
pub struct Recording<'a> {
6
    pub(super) client: &'a Client,
7
}
8
9
impl<'a> Recording<'a> {
10
    /// Gets the status of the record output.
11
19
    pub async fn status(&self) -> Result<responses::RecordStatus> {
<obws::client::recording::Recording>::status
Line
Count
Source
11
19
    pub async fn status(&self) -> Result<responses::RecordStatus> {
Unexecuted instantiation: <obws::client::recording::Recording>::status
12
38
        
self.client.send_message(Request::Status)19
.await
13
19
    }
<obws::client::recording::Recording>::status::{closure#0}
Line
Count
Source
12
38
        
self.client.send_message(Request::Status)19
.await
13
19
    }
Unexecuted instantiation: <obws::client::recording::Recording>::status::{closure#0}
Unexecuted instantiation: <obws::client::recording::Recording>::status::{closure#0}
14
15
    /// Toggles the status of the record output.
16
2
    pub async fn toggle(&self) -> Result<bool> {
<obws::client::recording::Recording>::toggle
Line
Count
Source
16
2
    pub async fn toggle(&self) -> Result<bool> {
Unexecuted instantiation: <obws::client::recording::Recording>::toggle
17
2
        self.client
18
4
            .send_message::<_, responses::OutputActive>(Request::Toggle)
19
4
            .await
20
2
            .map(|oa| oa.active)
<obws::client::recording::Recording>::toggle::{closure#0}::{closure#0}
Line
Count
Source
20
2
            .map(|oa| oa.active)
Unexecuted instantiation: <obws::client::recording::Recording>::toggle::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::recording::Recording>::toggle::{closure#0}::{closure#0}
21
2
    }
<obws::client::recording::Recording>::toggle::{closure#0}
Line
Count
Source
17
2
        self.client
18
4
            .send_message::<_, responses::OutputActive>(Request::Toggle)
19
4
            .await
20
2
            .map(|oa| oa.active)
21
2
    }
Unexecuted instantiation: <obws::client::recording::Recording>::toggle::{closure#0}
Unexecuted instantiation: <obws::client::recording::Recording>::toggle::{closure#0}
22
23
    /// Starts the record output.
24
1
    pub async fn start(&self) -> Result<()> {
<obws::client::recording::Recording>::start
Line
Count
Source
24
1
    pub async fn start(&self) -> Result<()> {
Unexecuted instantiation: <obws::client::recording::Recording>::start
25
2
        
self.client.send_message(Request::Start)1
.await
26
1
    }
<obws::client::recording::Recording>::start::{closure#0}
Line
Count
Source
25
2
        
self.client.send_message(Request::Start)1
.await
26
1
    }
Unexecuted instantiation: <obws::client::recording::Recording>::start::{closure#0}
Unexecuted instantiation: <obws::client::recording::Recording>::start::{closure#0}
27
28
    /// Stops the record output.
29
1
    pub async fn stop(&self) -> Result<String> {
<obws::client::recording::Recording>::stop
Line
Count
Source
29
1
    pub async fn stop(&self) -> Result<String> {
Unexecuted instantiation: <obws::client::recording::Recording>::stop
30
1
        self.client
31
2
            .send_message::<_, responses::OutputStopped>(Request::Stop)
32
2
            .await
33
1
            .map(|os| os.path)
<obws::client::recording::Recording>::stop::{closure#0}::{closure#0}
Line
Count
Source
33
1
            .map(|os| os.path)
Unexecuted instantiation: <obws::client::recording::Recording>::stop::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::recording::Recording>::stop::{closure#0}::{closure#0}
34
1
    }
<obws::client::recording::Recording>::stop::{closure#0}
Line
Count
Source
30
1
        self.client
31
2
            .send_message::<_, responses::OutputStopped>(Request::Stop)
32
2
            .await
33
1
            .map(|os| os.path)
34
1
    }
Unexecuted instantiation: <obws::client::recording::Recording>::stop::{closure#0}
Unexecuted instantiation: <obws::client::recording::Recording>::stop::{closure#0}
35
36
    /// Toggles pause on the record output.
37
2
    pub async fn toggle_pause(&self) -> Result<bool> {
<obws::client::recording::Recording>::toggle_pause
Line
Count
Source
37
2
    pub async fn toggle_pause(&self) -> Result<bool> {
Unexecuted instantiation: <obws::client::recording::Recording>::toggle_pause
38
2
        self.client
39
4
            .send_message::<_, responses::OutputPaused>(Request::TogglePause)
40
4
            .await
41
2
            .map(|op| op.paused)
<obws::client::recording::Recording>::toggle_pause::{closure#0}::{closure#0}
Line
Count
Source
41
2
            .map(|op| op.paused)
Unexecuted instantiation: <obws::client::recording::Recording>::toggle_pause::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::recording::Recording>::toggle_pause::{closure#0}::{closure#0}
42
2
    }
<obws::client::recording::Recording>::toggle_pause::{closure#0}
Line
Count
Source
38
2
        self.client
39
4
            .send_message::<_, responses::OutputPaused>(Request::TogglePause)
40
4
            .await
41
2
            .map(|op| op.paused)
42
2
    }
Unexecuted instantiation: <obws::client::recording::Recording>::toggle_pause::{closure#0}
Unexecuted instantiation: <obws::client::recording::Recording>::toggle_pause::{closure#0}
43
44
    /// Pauses the record output.
45
1
    pub async fn pause(&self) -> Result<()> {
<obws::client::recording::Recording>::pause
Line
Count
Source
45
1
    pub async fn pause(&self) -> Result<()> {
Unexecuted instantiation: <obws::client::recording::Recording>::pause
46
2
        
self.client.send_message(Request::Pause)1
.await
47
1
    }
<obws::client::recording::Recording>::pause::{closure#0}
Line
Count
Source
46
2
        
self.client.send_message(Request::Pause)1
.await
47
1
    }
Unexecuted instantiation: <obws::client::recording::Recording>::pause::{closure#0}
Unexecuted instantiation: <obws::client::recording::Recording>::pause::{closure#0}
48
49
    /// Resumes the record output.
50
1
    pub async fn resume(&self) -> Result<()> {
<obws::client::recording::Recording>::resume
Line
Count
Source
50
1
    pub async fn resume(&self) -> Result<()> {
Unexecuted instantiation: <obws::client::recording::Recording>::resume
51
2
        
self.client.send_message(Request::Resume)1
.await
52
1
    }
<obws::client::recording::Recording>::resume::{closure#0}
Line
Count
Source
51
2
        
self.client.send_message(Request::Resume)1
.await
52
1
    }
Unexecuted instantiation: <obws::client::recording::Recording>::resume::{closure#0}
Unexecuted instantiation: <obws::client::recording::Recording>::resume::{closure#0}
53
}
\ No newline at end of file diff --git a/coverage/src/client/replay_buffer.rs.html b/coverage/src/client/replay_buffer.rs.html new file mode 100644 index 0000000..6806198 --- /dev/null +++ b/coverage/src/client/replay_buffer.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/client/replay_buffer.rs
Line
Count
Source
1
use super::Client;
2
use crate::{requests::replay_buffer::Request, responses::replay_buffer as responses, Result};
3
4
/// API functions related to the replay buffer.
5
pub struct ReplayBuffer<'a> {
6
    pub(super) client: &'a Client,
7
}
8
9
impl<'a> ReplayBuffer<'a> {
10
    /// Gets the status of the replay buffer output.
11
19
    pub async fn status(&self) -> Result<bool> {
<obws::client::replay_buffer::ReplayBuffer>::status
Line
Count
Source
11
19
    pub async fn status(&self) -> Result<bool> {
Unexecuted instantiation: <obws::client::replay_buffer::ReplayBuffer>::status
12
19
        self.client
13
38
            .send_message::<_, responses::OutputActive>(Request::Status)
14
38
            .await
15
19
            .map(|oa| oa.active)
<obws::client::replay_buffer::ReplayBuffer>::status::{closure#0}::{closure#0}
Line
Count
Source
15
19
            .map(|oa| oa.active)
Unexecuted instantiation: <obws::client::replay_buffer::ReplayBuffer>::status::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::replay_buffer::ReplayBuffer>::status::{closure#0}::{closure#0}
16
19
    }
<obws::client::replay_buffer::ReplayBuffer>::status::{closure#0}
Line
Count
Source
12
19
        self.client
13
38
            .send_message::<_, responses::OutputActive>(Request::Status)
14
38
            .await
15
19
            .map(|oa| oa.active)
16
19
    }
Unexecuted instantiation: <obws::client::replay_buffer::ReplayBuffer>::status::{closure#0}
Unexecuted instantiation: <obws::client::replay_buffer::ReplayBuffer>::status::{closure#0}
17
18
    /// Toggles the state of the replay buffer output.
19
2
    pub async fn toggle(&self) -> Result<bool> {
<obws::client::replay_buffer::ReplayBuffer>::toggle
Line
Count
Source
19
2
    pub async fn toggle(&self) -> Result<bool> {
Unexecuted instantiation: <obws::client::replay_buffer::ReplayBuffer>::toggle
20
2
        self.client
21
4
            .send_message::<_, responses::OutputActive>(Request::Toggle)
22
4
            .await
23
2
            .map(|oa| oa.active)
<obws::client::replay_buffer::ReplayBuffer>::toggle::{closure#0}::{closure#0}
Line
Count
Source
23
2
            .map(|oa| oa.active)
Unexecuted instantiation: <obws::client::replay_buffer::ReplayBuffer>::toggle::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::replay_buffer::ReplayBuffer>::toggle::{closure#0}::{closure#0}
24
2
    }
<obws::client::replay_buffer::ReplayBuffer>::toggle::{closure#0}
Line
Count
Source
20
2
        self.client
21
4
            .send_message::<_, responses::OutputActive>(Request::Toggle)
22
4
            .await
23
2
            .map(|oa| oa.active)
24
2
    }
Unexecuted instantiation: <obws::client::replay_buffer::ReplayBuffer>::toggle::{closure#0}
Unexecuted instantiation: <obws::client::replay_buffer::ReplayBuffer>::toggle::{closure#0}
25
26
    /// Starts the replay buffer output.
27
1
    pub async fn start(&self) -> Result<()> {
<obws::client::replay_buffer::ReplayBuffer>::start
Line
Count
Source
27
1
    pub async fn start(&self) -> Result<()> {
Unexecuted instantiation: <obws::client::replay_buffer::ReplayBuffer>::start
28
2
        
self.client.send_message(Request::Start)1
.await
29
1
    }
<obws::client::replay_buffer::ReplayBuffer>::start::{closure#0}
Line
Count
Source
28
2
        
self.client.send_message(Request::Start)1
.await
29
1
    }
Unexecuted instantiation: <obws::client::replay_buffer::ReplayBuffer>::start::{closure#0}
Unexecuted instantiation: <obws::client::replay_buffer::ReplayBuffer>::start::{closure#0}
30
31
    /// Stops the replay buffer output.
32
1
    pub async fn stop(&self) -> Result<()> {
<obws::client::replay_buffer::ReplayBuffer>::stop
Line
Count
Source
32
1
    pub async fn stop(&self) -> Result<()> {
Unexecuted instantiation: <obws::client::replay_buffer::ReplayBuffer>::stop
33
2
        
self.client.send_message(Request::Stop)1
.await
34
1
    }
<obws::client::replay_buffer::ReplayBuffer>::stop::{closure#0}
Line
Count
Source
33
2
        
self.client.send_message(Request::Stop)1
.await
34
1
    }
Unexecuted instantiation: <obws::client::replay_buffer::ReplayBuffer>::stop::{closure#0}
Unexecuted instantiation: <obws::client::replay_buffer::ReplayBuffer>::stop::{closure#0}
35
36
    /// Saves the contents of the replay buffer output.
37
1
    pub async fn save(&self) -> Result<()> {
<obws::client::replay_buffer::ReplayBuffer>::save
Line
Count
Source
37
1
    pub async fn save(&self) -> Result<()> {
Unexecuted instantiation: <obws::client::replay_buffer::ReplayBuffer>::save
38
2
        
self.client.send_message(Request::Save)1
.await
39
1
    }
<obws::client::replay_buffer::ReplayBuffer>::save::{closure#0}
Line
Count
Source
38
2
        
self.client.send_message(Request::Save)1
.await
39
1
    }
Unexecuted instantiation: <obws::client::replay_buffer::ReplayBuffer>::save::{closure#0}
Unexecuted instantiation: <obws::client::replay_buffer::ReplayBuffer>::save::{closure#0}
40
41
    /// Gets the file name of the last replay buffer save file.
42
1
    pub async fn last_replay(&self) -> Result<String> {
<obws::client::replay_buffer::ReplayBuffer>::last_replay
Line
Count
Source
42
1
    pub async fn last_replay(&self) -> Result<String> {
Unexecuted instantiation: <obws::client::replay_buffer::ReplayBuffer>::last_replay
43
1
        self.client
44
2
            .send_message::<_, responses::SavedReplayPath>(Request::LastReplay)
45
2
            .await
46
1
            .map(|srp| srp.saved_replay_path)
<obws::client::replay_buffer::ReplayBuffer>::last_replay::{closure#0}::{closure#0}
Line
Count
Source
46
1
            .map(|srp| srp.saved_replay_path)
Unexecuted instantiation: <obws::client::replay_buffer::ReplayBuffer>::last_replay::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::replay_buffer::ReplayBuffer>::last_replay::{closure#0}::{closure#0}
47
1
    }
<obws::client::replay_buffer::ReplayBuffer>::last_replay::{closure#0}
Line
Count
Source
43
1
        self.client
44
2
            .send_message::<_, responses::SavedReplayPath>(Request::LastReplay)
45
2
            .await
46
1
            .map(|srp| srp.saved_replay_path)
47
1
    }
Unexecuted instantiation: <obws::client::replay_buffer::ReplayBuffer>::last_replay::{closure#0}
Unexecuted instantiation: <obws::client::replay_buffer::ReplayBuffer>::last_replay::{closure#0}
48
}
\ No newline at end of file diff --git a/coverage/src/client/scene_collections.rs.html b/coverage/src/client/scene_collections.rs.html new file mode 100644 index 0000000..89e705f --- /dev/null +++ b/coverage/src/client/scene_collections.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/client/scene_collections.rs
Line
Count
Source (jump to first uncovered line)
1
use super::Client;
2
use crate::{
3
    requests::scene_collections::Request, responses::scene_collections as responses, Result,
4
};
5
6
/// API functions related to scene collections.
7
pub struct SceneCollections<'a> {
8
    pub(super) client: &'a Client,
9
}
10
11
impl<'a> SceneCollections<'a> {
12
    /// Gets an array of all scene collections.
13
1
    pub async fn list(&self) -> Result<responses::SceneCollections> {
<obws::client::scene_collections::SceneCollections>::list
Line
Count
Source
13
1
    pub async fn list(&self) -> Result<responses::SceneCollections> {
Unexecuted instantiation: <obws::client::scene_collections::SceneCollections>::list
14
2
        
self.client.send_message(Request::List)1
.await
15
1
    }
<obws::client::scene_collections::SceneCollections>::list::{closure#0}
Line
Count
Source
14
2
        
self.client.send_message(Request::List)1
.await
15
1
    }
Unexecuted instantiation: <obws::client::scene_collections::SceneCollections>::list::{closure#0}
Unexecuted instantiation: <obws::client::scene_collections::SceneCollections>::list::{closure#0}
16
17
    /// Get the currently active scene collection name.
18
1
    pub async fn current(&self) -> Result<String> {
<obws::client::scene_collections::SceneCollections>::current
Line
Count
Source
18
1
    pub async fn current(&self) -> Result<String> {
Unexecuted instantiation: <obws::client::scene_collections::SceneCollections>::current
19
1
        self.client
20
2
            .send_message::<_, responses::SceneCollections>(Request::List)
21
2
            .await
22
1
            .map(|sc| sc.current)
<obws::client::scene_collections::SceneCollections>::current::{closure#0}::{closure#0}
Line
Count
Source
22
1
            .map(|sc| sc.current)
Unexecuted instantiation: <obws::client::scene_collections::SceneCollections>::current::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::scene_collections::SceneCollections>::current::{closure#0}::{closure#0}
23
1
    }
<obws::client::scene_collections::SceneCollections>::current::{closure#0}
Line
Count
Source
19
1
        self.client
20
2
            .send_message::<_, responses::SceneCollections>(Request::List)
21
2
            .await
22
1
            .map(|sc| sc.current)
23
1
    }
Unexecuted instantiation: <obws::client::scene_collections::SceneCollections>::current::{closure#0}
Unexecuted instantiation: <obws::client::scene_collections::SceneCollections>::current::{closure#0}
24
25
    /// Switches to a scene collection.
26
    ///
27
    /// **Note:** This will block until the collection has finished changing.
28
2
    pub async fn set_current(&self, name: &str) -> Result<()> {
<obws::client::scene_collections::SceneCollections>::set_current
Line
Count
Source
28
2
    pub async fn set_current(&self, name: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::scene_collections::SceneCollections>::set_current
29
4
        
self.client.send_message(Request::SetCurrent { name })2
.await
30
2
    }
<obws::client::scene_collections::SceneCollections>::set_current::{closure#0}
Line
Count
Source
29
4
        
self.client.send_message(Request::SetCurrent { name })2
.await
30
2
    }
Unexecuted instantiation: <obws::client::scene_collections::SceneCollections>::set_current::{closure#0}
Unexecuted instantiation: <obws::client::scene_collections::SceneCollections>::set_current::{closure#0}
31
32
    /// Creates a new scene collection, switching to it in the process.
33
    ///
34
    /// **Note:** This will block until the collection has finished changing.
35
0
    pub async fn create(&self, name: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::scene_collections::SceneCollections>::create
Unexecuted instantiation: <obws::client::scene_collections::SceneCollections>::create
36
0
        self.client.send_message(Request::Create { name }).await
37
0
    }
Unexecuted instantiation: <obws::client::scene_collections::SceneCollections>::create::{closure#0}
Unexecuted instantiation: <obws::client::scene_collections::SceneCollections>::create::{closure#0}
38
}
\ No newline at end of file diff --git a/coverage/src/client/scene_items.rs.html b/coverage/src/client/scene_items.rs.html index aeb3f1b..c8e9049 100644 --- a/coverage/src/client/scene_items.rs.html +++ b/coverage/src/client/scene_items.rs.html @@ -1 +1 @@ -

Coverage Report

Created: 2022-05-25 22:28

src/client/scene_items.rs
Line
Count
Source (jump to first uncovered line)
1
use serde::{de::DeserializeOwned, Serialize};
2
3
use super::Client;
4
use crate::{
5
    requests::{
6
        CreateSceneItem, DuplicateSceneItem, GetSceneItemId, RequestType, SetSceneItemEnabled,
7
        SetSceneItemIndex, SetSceneItemLocked, SetSceneItemPrivateSettings,
8
        SetSceneItemPrivateSettingsInternal, SetSceneItemTransform,
9
    },
10
    responses, Error, Result,
11
};
12
13
/// API functions related to scene items.
14
pub struct SceneItems<'a> {
15
    pub(super) client: &'a Client,
16
}
17
18
impl<'a> SceneItems<'a> {
19
    /// Gets a list of all scene items in a scene.
20
    ///
21
    /// - `scene_name`: Name of the scene to get the items of.
22
1
    pub async fn get_scene_item_list(&self, scene_name: &str) -> Result<Vec<responses::SceneItem>> {
<obws::client::scene_items::SceneItems>::get_scene_item_list
Line
Count
Source
22
1
    pub async fn get_scene_item_list(&self, scene_name: &str) -> Result<Vec<responses::SceneItem>> {
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_scene_item_list
23
1
        self.client
24
2
            .send_message::<responses::SceneItemList>(RequestType::GetSceneItemList { scene_name })
25
2
            .await
26
1
            .map(|sil| sil.scene_items)
<obws::client::scene_items::SceneItems>::get_scene_item_list::{closure#0}::{closure#0}
Line
Count
Source
26
1
            .map(|sil| sil.scene_items)
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_scene_item_list::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_scene_item_list::{closure#0}::{closure#0}
27
1
    }
<obws::client::scene_items::SceneItems>::get_scene_item_list::{closure#0}
Line
Count
Source
23
1
        self.client
24
2
            .send_message::<responses::SceneItemList>(RequestType::GetSceneItemList { scene_name })
25
2
            .await
26
1
            .map(|sil| sil.scene_items)
27
1
    }
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_scene_item_list::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_scene_item_list::{closure#0}
28
29
    /// Basically [`get_scene_item_list`](Self::get_scene_item_list), but for groups.
30
    ///
31
    /// Using groups at all in OBS is discouraged, as they are very broken under the hood.
32
    ///
33
    /// - `scene_name`: Name of the group to get the items of.
34
1
    pub async fn get_group_scene_item_list(
35
1
        &self,
36
1
        scene_name: &str,
37
1
    ) -> Result<Vec<responses::SceneItem>> {
<obws::client::scene_items::SceneItems>::get_group_scene_item_list
Line
Count
Source
34
1
    pub async fn get_group_scene_item_list(
35
1
        &self,
36
1
        scene_name: &str,
37
1
    ) -> Result<Vec<responses::SceneItem>> {
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_group_scene_item_list
38
1
        self.client
39
1
            .send_message::<responses::SceneItemList>(RequestType::GetGroupSceneItemList {
40
1
                scene_name,
41
2
            })
42
2
            .await
43
1
            .map(|sil| sil.scene_items)
<obws::client::scene_items::SceneItems>::get_group_scene_item_list::{closure#0}::{closure#0}
Line
Count
Source
43
1
            .map(|sil| sil.scene_items)
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_group_scene_item_list::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_group_scene_item_list::{closure#0}::{closure#0}
44
1
    }
<obws::client::scene_items::SceneItems>::get_group_scene_item_list::{closure#0}
Line
Count
Source
38
1
        self.client
39
1
            .send_message::<responses::SceneItemList>(RequestType::GetGroupSceneItemList {
40
1
                scene_name,
41
2
            })
42
2
            .await
43
1
            .map(|sil| sil.scene_items)
44
1
    }
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_group_scene_item_list::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_group_scene_item_list::{closure#0}
45
46
    /// Searches a scene for a source, and returns its id.
47
    ///
48
    /// - `scene_name`: Name of the scene or group to search in.
49
    /// - `source_name`: Name of the source to find.
50
1
    pub async fn get_scene_item_id(&self, get: GetSceneItemId<'_>) -> Result<i64> {
<obws::client::scene_items::SceneItems>::get_scene_item_id
Line
Count
Source
50
1
    pub async fn get_scene_item_id(&self, get: GetSceneItemId<'_>) -> Result<i64> {
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_scene_item_id
51
1
        self.client
52
2
            .send_message::<responses::SceneItemId>(RequestType::GetSceneItemId(get))
53
2
            .await
54
1
            .map(|sii| sii.scene_item_id)
<obws::client::scene_items::SceneItems>::get_scene_item_id::{closure#0}::{closure#0}
Line
Count
Source
54
1
            .map(|sii| sii.scene_item_id)
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_scene_item_id::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_scene_item_id::{closure#0}::{closure#0}
55
1
    }
<obws::client::scene_items::SceneItems>::get_scene_item_id::{closure#0}
Line
Count
Source
51
1
        self.client
52
2
            .send_message::<responses::SceneItemId>(RequestType::GetSceneItemId(get))
53
2
            .await
54
1
            .map(|sii| sii.scene_item_id)
55
1
    }
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_scene_item_id::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_scene_item_id::{closure#0}
56
57
    /// Creates a new scene item using a source.
58
1
    pub async fn create_scene_item(&self, create: CreateSceneItem<'_>) -> Result<i64> {
<obws::client::scene_items::SceneItems>::create_scene_item
Line
Count
Source
58
1
    pub async fn create_scene_item(&self, create: CreateSceneItem<'_>) -> Result<i64> {
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::create_scene_item
59
1
        self.client
60
2
            .send_message::<responses::SceneItemId>(RequestType::CreateSceneItem(create))
61
2
            .await
62
1
            .map(|sii| sii.scene_item_id)
<obws::client::scene_items::SceneItems>::create_scene_item::{closure#0}::{closure#0}
Line
Count
Source
62
1
            .map(|sii| sii.scene_item_id)
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::create_scene_item::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::create_scene_item::{closure#0}::{closure#0}
63
1
    }
<obws::client::scene_items::SceneItems>::create_scene_item::{closure#0}
Line
Count
Source
59
1
        self.client
60
2
            .send_message::<responses::SceneItemId>(RequestType::CreateSceneItem(create))
61
2
            .await
62
1
            .map(|sii| sii.scene_item_id)
63
1
    }
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::create_scene_item::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::create_scene_item::{closure#0}
64
65
    /// Removes a scene item from a scene.
66
    ///
67
    /// - `scene_name`: Name of the scene the item is in.
68
    /// - `scene_item_id`: Numeric ID of the scene item.
69
2
    pub async fn remove_scene_item(&self, scene_name: &str, scene_item_id: i64) -> Result<()> {
<obws::client::scene_items::SceneItems>::remove_scene_item
Line
Count
Source
69
2
    pub async fn remove_scene_item(&self, scene_name: &str, scene_item_id: i64) -> Result<()> {
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::remove_scene_item
70
2
        self.client
71
2
            .send_message(RequestType::RemoveSceneItem {
72
2
                scene_name,
73
2
                scene_item_id,
74
4
            })
75
4
            .await
76
2
    }
<obws::client::scene_items::SceneItems>::remove_scene_item::{closure#0}
Line
Count
Source
70
2
        self.client
71
2
            .send_message(RequestType::RemoveSceneItem {
72
2
                scene_name,
73
2
                scene_item_id,
74
4
            })
75
4
            .await
76
2
    }
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::remove_scene_item::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::remove_scene_item::{closure#0}
77
78
    /// Duplicates a scene item, copying all transform and crop info.
79
1
    pub async fn duplicate_scene_item(&self, duplicate: DuplicateSceneItem<'_>) -> Result<i64> {
<obws::client::scene_items::SceneItems>::duplicate_scene_item
Line
Count
Source
79
1
    pub async fn duplicate_scene_item(&self, duplicate: DuplicateSceneItem<'_>) -> Result<i64> {
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::duplicate_scene_item
80
1
        self.client
81
2
            .send_message::<responses::SceneItemId>(RequestType::DuplicateSceneItem(duplicate))
82
2
            .await
83
1
            .map(|sii| sii.scene_item_id)
<obws::client::scene_items::SceneItems>::duplicate_scene_item::{closure#0}::{closure#0}
Line
Count
Source
83
1
            .map(|sii| sii.scene_item_id)
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::duplicate_scene_item::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::duplicate_scene_item::{closure#0}::{closure#0}
84
1
    }
<obws::client::scene_items::SceneItems>::duplicate_scene_item::{closure#0}
Line
Count
Source
80
1
        self.client
81
2
            .send_message::<responses::SceneItemId>(RequestType::DuplicateSceneItem(duplicate))
82
2
            .await
83
1
            .map(|sii| sii.scene_item_id)
84
1
    }
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::duplicate_scene_item::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::duplicate_scene_item::{closure#0}
85
86
    /// Gets the transform and crop info of a scene item.
87
    ///
88
    /// - `scene_name`: Name of the scene the item is in.
89
    /// - `scene_item_id`: Numeric ID of the scene item.
90
1
    pub async fn get_scene_item_transform(
91
1
        &self,
92
1
        scene_name: &str,
93
1
        scene_item_id: i64,
94
1
    ) -> Result<responses::SceneItemTransform> {
<obws::client::scene_items::SceneItems>::get_scene_item_transform
Line
Count
Source
90
1
    pub async fn get_scene_item_transform(
91
1
        &self,
92
1
        scene_name: &str,
93
1
        scene_item_id: i64,
94
1
    ) -> Result<responses::SceneItemTransform> {
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_scene_item_transform
95
1
        self.client
96
1
            .send_message::<responses::GetSceneItemTransform>(RequestType::GetSceneItemTransform {
97
1
                scene_name,
98
1
                scene_item_id,
99
2
            })
100
2
            .await
101
1
            .map(|gsit| gsit.scene_item_transform)
<obws::client::scene_items::SceneItems>::get_scene_item_transform::{closure#0}::{closure#0}
Line
Count
Source
101
1
            .map(|gsit| gsit.scene_item_transform)
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_scene_item_transform::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_scene_item_transform::{closure#0}::{closure#0}
102
1
    }
<obws::client::scene_items::SceneItems>::get_scene_item_transform::{closure#0}
Line
Count
Source
95
1
        self.client
96
1
            .send_message::<responses::GetSceneItemTransform>(RequestType::GetSceneItemTransform {
97
1
                scene_name,
98
1
                scene_item_id,
99
2
            })
100
2
            .await
101
1
            .map(|gsit| gsit.scene_item_transform)
102
1
    }
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_scene_item_transform::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_scene_item_transform::{closure#0}
103
104
    /// Sets the transform and crop info of a scene item.
105
2
    pub async fn set_scene_item_transform(
106
2
        &self,
107
2
        transform: SetSceneItemTransform<'_>,
108
2
    ) -> Result<()> {
<obws::client::scene_items::SceneItems>::set_scene_item_transform
Line
Count
Source
105
2
    pub async fn set_scene_item_transform(
106
2
        &self,
107
2
        transform: SetSceneItemTransform<'_>,
108
2
    ) -> Result<()> {
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::set_scene_item_transform
109
2
        self.client
110
4
            .send_message(RequestType::SetSceneItemTransform(transform))
111
4
            .await
112
2
    }
<obws::client::scene_items::SceneItems>::set_scene_item_transform::{closure#0}
Line
Count
Source
109
2
        self.client
110
4
            .send_message(RequestType::SetSceneItemTransform(transform))
111
4
            .await
112
2
    }
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::set_scene_item_transform::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::set_scene_item_transform::{closure#0}
113
114
    /// Gets the enable state of a scene item.
115
    ///
116
    /// - `scene_name`: Name of the scene the item is in.
117
    /// - `scene_item_id`: Numeric ID of the scene item.
118
1
    pub async fn get_scene_item_enabled(
119
1
        &self,
120
1
        scene_name: &str,
121
1
        scene_item_id: i64,
122
1
    ) -> Result<bool> {
<obws::client::scene_items::SceneItems>::get_scene_item_enabled
Line
Count
Source
118
1
    pub async fn get_scene_item_enabled(
119
1
        &self,
120
1
        scene_name: &str,
121
1
        scene_item_id: i64,
122
1
    ) -> Result<bool> {
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_scene_item_enabled
123
1
        self.client
124
1
            .send_message::<responses::SceneItemEnabled>(RequestType::GetSceneItemEnabled {
125
1
                scene_name,
126
1
                scene_item_id,
127
2
            })
128
2
            .await
129
1
            .map(|sie| sie.scene_item_enabled)
<obws::client::scene_items::SceneItems>::get_scene_item_enabled::{closure#0}::{closure#0}
Line
Count
Source
129
1
            .map(|sie| sie.scene_item_enabled)
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_scene_item_enabled::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_scene_item_enabled::{closure#0}::{closure#0}
130
1
    }
<obws::client::scene_items::SceneItems>::get_scene_item_enabled::{closure#0}
Line
Count
Source
123
1
        self.client
124
1
            .send_message::<responses::SceneItemEnabled>(RequestType::GetSceneItemEnabled {
125
1
                scene_name,
126
1
                scene_item_id,
127
2
            })
128
2
            .await
129
1
            .map(|sie| sie.scene_item_enabled)
130
1
    }
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_scene_item_enabled::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_scene_item_enabled::{closure#0}
131
132
    /// Sets the enable state of a scene item.
133
2
    pub async fn set_scene_item_enabled(&self, enabled: SetSceneItemEnabled<'a>) -> Result<()> {
<obws::client::scene_items::SceneItems>::set_scene_item_enabled
Line
Count
Source
133
2
    pub async fn set_scene_item_enabled(&self, enabled: SetSceneItemEnabled<'a>) -> Result<()> {
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::set_scene_item_enabled
134
2
        self.client
135
4
            .send_message(RequestType::SetSceneItemEnabled(enabled))
136
4
            .await
137
2
    }
<obws::client::scene_items::SceneItems>::set_scene_item_enabled::{closure#0}
Line
Count
Source
134
2
        self.client
135
4
            .send_message(RequestType::SetSceneItemEnabled(enabled))
136
4
            .await
137
2
    }
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::set_scene_item_enabled::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::set_scene_item_enabled::{closure#0}
138
139
    /// Gets the lock state of a scene item.
140
    ///
141
    /// - `scene_name`: Name of the scene the item is in.
142
    /// - `scene_item_id`: Numeric ID of the scene item.
143
1
    pub async fn get_scene_item_locked(
144
1
        &self,
145
1
        scene_name: &str,
146
1
        scene_item_id: i64,
147
1
    ) -> Result<bool> {
<obws::client::scene_items::SceneItems>::get_scene_item_locked
Line
Count
Source
143
1
    pub async fn get_scene_item_locked(
144
1
        &self,
145
1
        scene_name: &str,
146
1
        scene_item_id: i64,
147
1
    ) -> Result<bool> {
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_scene_item_locked
148
1
        self.client
149
1
            .send_message::<responses::SceneItemLocked>(RequestType::GetSceneItemLocked {
150
1
                scene_name,
151
1
                scene_item_id,
152
2
            })
153
2
            .await
154
1
            .map(|sil| sil.scene_item_locked)
<obws::client::scene_items::SceneItems>::get_scene_item_locked::{closure#0}::{closure#0}
Line
Count
Source
154
1
            .map(|sil| sil.scene_item_locked)
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_scene_item_locked::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_scene_item_locked::{closure#0}::{closure#0}
155
1
    }
<obws::client::scene_items::SceneItems>::get_scene_item_locked::{closure#0}
Line
Count
Source
148
1
        self.client
149
1
            .send_message::<responses::SceneItemLocked>(RequestType::GetSceneItemLocked {
150
1
                scene_name,
151
1
                scene_item_id,
152
2
            })
153
2
            .await
154
1
            .map(|sil| sil.scene_item_locked)
155
1
    }
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_scene_item_locked::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_scene_item_locked::{closure#0}
156
157
    /// Sets the lock state of a scene item.
158
2
    pub async fn set_scene_item_locked(&self, locked: SetSceneItemLocked<'_>) -> Result<()> {
<obws::client::scene_items::SceneItems>::set_scene_item_locked
Line
Count
Source
158
2
    pub async fn set_scene_item_locked(&self, locked: SetSceneItemLocked<'_>) -> Result<()> {
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::set_scene_item_locked
159
2
        self.client
160
4
            .send_message(RequestType::SetSceneItemLocked(locked))
161
4
            .await
162
2
    }
<obws::client::scene_items::SceneItems>::set_scene_item_locked::{closure#0}
Line
Count
Source
159
2
        self.client
160
4
            .send_message(RequestType::SetSceneItemLocked(locked))
161
4
            .await
162
2
    }
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::set_scene_item_locked::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::set_scene_item_locked::{closure#0}
163
164
    /// Gets the index position of a scene item in a scene.
165
    ///
166
    /// An index of 0 is at the bottom of the source list in the UI.
167
    ///
168
    /// - `scene_name`: Name of the scene the item is in.
169
    /// - `scene_item_id`: Numeric ID of the scene item.
170
1
    pub async fn get_scene_item_index(&self, scene_name: &str, scene_item_id: i64) -> Result<u32> {
<obws::client::scene_items::SceneItems>::get_scene_item_index
Line
Count
Source
170
1
    pub async fn get_scene_item_index(&self, scene_name: &str, scene_item_id: i64) -> Result<u32> {
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_scene_item_index
171
1
        self.client
172
1
            .send_message::<responses::SceneItemIndex>(RequestType::GetSceneItemIndex {
173
1
                scene_name,
174
1
                scene_item_id,
175
2
            })
176
2
            .await
177
1
            .map(|sii| sii.scene_item_index)
<obws::client::scene_items::SceneItems>::get_scene_item_index::{closure#0}::{closure#0}
Line
Count
Source
177
1
            .map(|sii| sii.scene_item_index)
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_scene_item_index::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_scene_item_index::{closure#0}::{closure#0}
178
1
    }
<obws::client::scene_items::SceneItems>::get_scene_item_index::{closure#0}
Line
Count
Source
171
1
        self.client
172
1
            .send_message::<responses::SceneItemIndex>(RequestType::GetSceneItemIndex {
173
1
                scene_name,
174
1
                scene_item_id,
175
2
            })
176
2
            .await
177
1
            .map(|sii| sii.scene_item_index)
178
1
    }
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_scene_item_index::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_scene_item_index::{closure#0}
179
180
    /// Sets the index position of a scene item in a scene.
181
2
    pub async fn set_scene_item_index(&self, index: SetSceneItemIndex<'_>) -> Result<()> {
<obws::client::scene_items::SceneItems>::set_scene_item_index
Line
Count
Source
181
2
    pub async fn set_scene_item_index(&self, index: SetSceneItemIndex<'_>) -> Result<()> {
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::set_scene_item_index
182
2
        self.client
183
4
            .send_message(RequestType::SetSceneItemIndex(index))
184
4
            .await
185
2
    }
<obws::client::scene_items::SceneItems>::set_scene_item_index::{closure#0}
Line
Count
Source
182
2
        self.client
183
4
            .send_message(RequestType::SetSceneItemIndex(index))
184
4
            .await
185
2
    }
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::set_scene_item_index::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::set_scene_item_index::{closure#0}
186
187
    /// Gets private scene item settings.
188
    ///
189
    /// - `scene_name`: Name of the scene the item is in.
190
    /// - `scene_item_id`: Numeric ID of the scene item.
191
0
    pub async fn get_scene_item_private_settings<T>(
192
0
        &self,
193
0
        scene_name: &str,
194
0
        scene_item_id: i64,
195
0
    ) -> Result<T>
196
0
    where
197
0
        T: DeserializeOwned,
198
0
    {
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_scene_item_private_settings::<_>
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_scene_item_private_settings::<_>
199
0
        self.client
200
0
            .send_message::<responses::SceneItemSettings<T>>(
201
0
                RequestType::GetSceneItemPrivateSettings {
202
0
                    scene_name,
203
0
                    scene_item_id,
204
0
                },
205
0
            )
206
0
            .await
207
0
            .map(|sis| sis.scene_item_settings)
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_scene_item_private_settings::<_>::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_scene_item_private_settings::<_>::{closure#0}::{closure#0}
208
0
    }
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_scene_item_private_settings::<_>::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::get_scene_item_private_settings::<_>::{closure#0}
209
210
    /// Sets private scene item settings.
211
    ///
212
    /// - `scene_name`: Name of the scene the item is in.
213
    /// - `scene_item_id`: Numeric ID of the scene item.
214
0
    pub async fn set_scene_item_private_settings<T>(
215
0
        &self,
216
0
        settings: SetSceneItemPrivateSettings<'_, T>,
217
0
    ) -> Result<()>
218
0
    where
219
0
        T: Serialize,
220
0
    {
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::set_scene_item_private_settings::<_>
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::set_scene_item_private_settings::<_>
221
        self.client
222
            .send_message(RequestType::SetSceneItemPrivateSettings(
223
                SetSceneItemPrivateSettingsInternal {
224
0
                    scene_name: settings.scene_name,
225
0
                    scene_item_id: settings.scene_item_id,
226
0
                    scene_item_settings: serde_json::to_value(&settings.scene_item_settings)
227
0
                        .map_err(Error::SerializeCustomData)?,
228
                },
229
0
            ))
230
0
            .await
231
0
    }
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::set_scene_item_private_settings::<_>::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::set_scene_item_private_settings::<_>::{closure#0}
232
}
\ No newline at end of file +

Coverage Report

Created: 2022-07-04 16:17

src/client/scene_items.rs
Line
Count
Source (jump to first uncovered line)
1
use serde::{de::DeserializeOwned, Serialize};
2
3
use super::Client;
4
use crate::{
5
    requests::scene_items::{
6
        CreateSceneItem, Duplicate, Id, Request, SetEnabled, SetIndex, SetLocked,
7
        SetPrivateSettings, SetPrivateSettingsInternal, SetTransform,
8
    },
9
    responses::scene_items as responses,
10
    Error, Result,
11
};
12
13
/// API functions related to scene items.
14
pub struct SceneItems<'a> {
15
    pub(super) client: &'a Client,
16
}
17
18
impl<'a> SceneItems<'a> {
19
    /// Gets a list of all scene items in a scene.
20
1
    pub async fn list(&self, scene: &str) -> Result<Vec<responses::SceneItem>> {
<obws::client::scene_items::SceneItems>::list
Line
Count
Source
20
1
    pub async fn list(&self, scene: &str) -> Result<Vec<responses::SceneItem>> {
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::list
21
1
        self.client
22
2
            .send_message::<_, responses::SceneItemList>(Request::List { scene })
23
2
            .await
24
1
            .map(|sil| sil.scene_items)
<obws::client::scene_items::SceneItems>::list::{closure#0}::{closure#0}
Line
Count
Source
24
1
            .map(|sil| sil.scene_items)
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::list::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::list::{closure#0}::{closure#0}
25
1
    }
<obws::client::scene_items::SceneItems>::list::{closure#0}
Line
Count
Source
21
1
        self.client
22
2
            .send_message::<_, responses::SceneItemList>(Request::List { scene })
23
2
            .await
24
1
            .map(|sil| sil.scene_items)
25
1
    }
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::list::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::list::{closure#0}
26
27
    /// Basically [`Self::list`], but for groups.
28
    ///
29
    /// Using groups at all in OBS is discouraged, as they are very broken under the hood.
30
1
    pub async fn list_group(&self, scene: &str) -> Result<Vec<responses::SceneItem>> {
<obws::client::scene_items::SceneItems>::list_group
Line
Count
Source
30
1
    pub async fn list_group(&self, scene: &str) -> Result<Vec<responses::SceneItem>> {
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::list_group
31
1
        self.client
32
2
            .send_message::<_, responses::SceneItemList>(Request::ListGroup { scene })
33
2
            .await
34
1
            .map(|sil| sil.scene_items)
<obws::client::scene_items::SceneItems>::list_group::{closure#0}::{closure#0}
Line
Count
Source
34
1
            .map(|sil| sil.scene_items)
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::list_group::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::list_group::{closure#0}::{closure#0}
35
1
    }
<obws::client::scene_items::SceneItems>::list_group::{closure#0}
Line
Count
Source
31
1
        self.client
32
2
            .send_message::<_, responses::SceneItemList>(Request::ListGroup { scene })
33
2
            .await
34
1
            .map(|sil| sil.scene_items)
35
1
    }
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::list_group::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::list_group::{closure#0}
36
37
    /// Searches a scene for a source, and returns its id.
38
1
    pub async fn id(&self, get: Id<'_>) -> Result<i64> {
<obws::client::scene_items::SceneItems>::id
Line
Count
Source
38
1
    pub async fn id(&self, get: Id<'_>) -> Result<i64> {
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::id
39
1
        self.client
40
2
            .send_message::<_, responses::SceneItemId>(Request::Id(get))
41
2
            .await
42
1
            .map(|sii| sii.id)
<obws::client::scene_items::SceneItems>::id::{closure#0}::{closure#0}
Line
Count
Source
42
1
            .map(|sii| sii.id)
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::id::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::id::{closure#0}::{closure#0}
43
1
    }
<obws::client::scene_items::SceneItems>::id::{closure#0}
Line
Count
Source
39
1
        self.client
40
2
            .send_message::<_, responses::SceneItemId>(Request::Id(get))
41
2
            .await
42
1
            .map(|sii| sii.id)
43
1
    }
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::id::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::id::{closure#0}
44
45
    /// Creates a new scene item using a source.
46
1
    pub async fn create(&self, create: CreateSceneItem<'_>) -> Result<i64> {
<obws::client::scene_items::SceneItems>::create
Line
Count
Source
46
1
    pub async fn create(&self, create: CreateSceneItem<'_>) -> Result<i64> {
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::create
47
1
        self.client
48
2
            .send_message::<_, responses::SceneItemId>(Request::Create(create))
49
2
            .await
50
1
            .map(|sii| sii.id)
<obws::client::scene_items::SceneItems>::create::{closure#0}::{closure#0}
Line
Count
Source
50
1
            .map(|sii| sii.id)
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::create::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::create::{closure#0}::{closure#0}
51
1
    }
<obws::client::scene_items::SceneItems>::create::{closure#0}
Line
Count
Source
47
1
        self.client
48
2
            .send_message::<_, responses::SceneItemId>(Request::Create(create))
49
2
            .await
50
1
            .map(|sii| sii.id)
51
1
    }
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::create::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::create::{closure#0}
52
53
    /// Removes a scene item from a scene.
54
2
    pub async fn remove(&self, scene: &str, item_id: i64) -> Result<()> {
<obws::client::scene_items::SceneItems>::remove
Line
Count
Source
54
2
    pub async fn remove(&self, scene: &str, item_id: i64) -> Result<()> {
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::remove
55
2
        self.client
56
4
            .send_message(Request::Remove { scene, item_id })
57
4
            .await
58
2
    }
<obws::client::scene_items::SceneItems>::remove::{closure#0}
Line
Count
Source
55
2
        self.client
56
4
            .send_message(Request::Remove { scene, item_id })
57
4
            .await
58
2
    }
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::remove::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::remove::{closure#0}
59
60
    /// Duplicates a scene item, copying all transform and crop info.
61
1
    pub async fn duplicate(&self, duplicate: Duplicate<'_>) -> Result<i64> {
<obws::client::scene_items::SceneItems>::duplicate
Line
Count
Source
61
1
    pub async fn duplicate(&self, duplicate: Duplicate<'_>) -> Result<i64> {
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::duplicate
62
1
        self.client
63
2
            .send_message::<_, responses::SceneItemId>(Request::Duplicate(duplicate))
64
2
            .await
65
1
            .map(|sii| sii.id)
<obws::client::scene_items::SceneItems>::duplicate::{closure#0}::{closure#0}
Line
Count
Source
65
1
            .map(|sii| sii.id)
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::duplicate::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::duplicate::{closure#0}::{closure#0}
66
1
    }
<obws::client::scene_items::SceneItems>::duplicate::{closure#0}
Line
Count
Source
62
1
        self.client
63
2
            .send_message::<_, responses::SceneItemId>(Request::Duplicate(duplicate))
64
2
            .await
65
1
            .map(|sii| sii.id)
66
1
    }
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::duplicate::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::duplicate::{closure#0}
67
68
    /// Gets the transform and crop info of a scene item.
69
1
    pub async fn transform(
70
1
        &self,
71
1
        scene: &str,
72
1
        item_id: i64,
73
1
    ) -> Result<responses::SceneItemTransform> {
<obws::client::scene_items::SceneItems>::transform
Line
Count
Source
69
1
    pub async fn transform(
70
1
        &self,
71
1
        scene: &str,
72
1
        item_id: i64,
73
1
    ) -> Result<responses::SceneItemTransform> {
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::transform
74
1
        self.client
75
1
            .send_message::<_, responses::GetSceneItemTransform>(Request::Transform {
76
1
                scene,
77
1
                item_id,
78
2
            })
79
2
            .await
80
1
            .map(|gsit| gsit.transform)
<obws::client::scene_items::SceneItems>::transform::{closure#0}::{closure#0}
Line
Count
Source
80
1
            .map(|gsit| gsit.transform)
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::transform::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::transform::{closure#0}::{closure#0}
81
1
    }
<obws::client::scene_items::SceneItems>::transform::{closure#0}
Line
Count
Source
74
1
        self.client
75
1
            .send_message::<_, responses::GetSceneItemTransform>(Request::Transform {
76
1
                scene,
77
1
                item_id,
78
2
            })
79
2
            .await
80
1
            .map(|gsit| gsit.transform)
81
1
    }
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::transform::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::transform::{closure#0}
82
83
    /// Sets the transform and crop info of a scene item.
84
2
    pub async fn set_transform(&self, transform: SetTransform<'_>) -> Result<()> {
<obws::client::scene_items::SceneItems>::set_transform
Line
Count
Source
84
2
    pub async fn set_transform(&self, transform: SetTransform<'_>) -> Result<()> {
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::set_transform
85
2
        self.client
86
4
            .send_message(Request::SetTransform(transform))
87
4
            .await
88
2
    }
<obws::client::scene_items::SceneItems>::set_transform::{closure#0}
Line
Count
Source
85
2
        self.client
86
4
            .send_message(Request::SetTransform(transform))
87
4
            .await
88
2
    }
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::set_transform::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::set_transform::{closure#0}
89
90
    /// Gets the enable state of a scene item.
91
1
    pub async fn enabled(&self, scene: &str, item_id: i64) -> Result<bool> {
<obws::client::scene_items::SceneItems>::enabled
Line
Count
Source
91
1
    pub async fn enabled(&self, scene: &str, item_id: i64) -> Result<bool> {
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::enabled
92
1
        self.client
93
2
            .send_message::<_, responses::SceneItemEnabled>(Request::Enabled { scene, item_id })
94
2
            .await
95
1
            .map(|sie| sie.enabled)
<obws::client::scene_items::SceneItems>::enabled::{closure#0}::{closure#0}
Line
Count
Source
95
1
            .map(|sie| sie.enabled)
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::enabled::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::enabled::{closure#0}::{closure#0}
96
1
    }
<obws::client::scene_items::SceneItems>::enabled::{closure#0}
Line
Count
Source
92
1
        self.client
93
2
            .send_message::<_, responses::SceneItemEnabled>(Request::Enabled { scene, item_id })
94
2
            .await
95
1
            .map(|sie| sie.enabled)
96
1
    }
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::enabled::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::enabled::{closure#0}
97
98
    /// Sets the enable state of a scene item.
99
2
    pub async fn set_enabled(&self, enabled: SetEnabled<'a>) -> Result<()> {
<obws::client::scene_items::SceneItems>::set_enabled
Line
Count
Source
99
2
    pub async fn set_enabled(&self, enabled: SetEnabled<'a>) -> Result<()> {
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::set_enabled
100
4
        
self.client.send_message(Request::SetEnabled(enabled))2
.await
101
2
    }
<obws::client::scene_items::SceneItems>::set_enabled::{closure#0}
Line
Count
Source
100
4
        
self.client.send_message(Request::SetEnabled(enabled))2
.await
101
2
    }
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::set_enabled::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::set_enabled::{closure#0}
102
103
    /// Gets the lock state of a scene item.
104
1
    pub async fn locked(&self, scene: &str, item_id: i64) -> Result<bool> {
<obws::client::scene_items::SceneItems>::locked
Line
Count
Source
104
1
    pub async fn locked(&self, scene: &str, item_id: i64) -> Result<bool> {
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::locked
105
1
        self.client
106
2
            .send_message::<_, responses::SceneItemLocked>(Request::Locked { scene, item_id })
107
2
            .await
108
1
            .map(|sil| sil.locked)
<obws::client::scene_items::SceneItems>::locked::{closure#0}::{closure#0}
Line
Count
Source
108
1
            .map(|sil| sil.locked)
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::locked::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::locked::{closure#0}::{closure#0}
109
1
    }
<obws::client::scene_items::SceneItems>::locked::{closure#0}
Line
Count
Source
105
1
        self.client
106
2
            .send_message::<_, responses::SceneItemLocked>(Request::Locked { scene, item_id })
107
2
            .await
108
1
            .map(|sil| sil.locked)
109
1
    }
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::locked::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::locked::{closure#0}
110
111
    /// Sets the lock state of a scene item.
112
2
    pub async fn set_locked(&self, locked: SetLocked<'_>) -> Result<()> {
<obws::client::scene_items::SceneItems>::set_locked
Line
Count
Source
112
2
    pub async fn set_locked(&self, locked: SetLocked<'_>) -> Result<()> {
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::set_locked
113
4
        
self.client.send_message(Request::SetLocked(locked))2
.await
114
2
    }
<obws::client::scene_items::SceneItems>::set_locked::{closure#0}
Line
Count
Source
113
4
        
self.client.send_message(Request::SetLocked(locked))2
.await
114
2
    }
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::set_locked::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::set_locked::{closure#0}
115
116
    /// Gets the index position of a scene item in a scene.
117
    ///
118
    /// An index of 0 is at the bottom of the source list in the UI.
119
1
    pub async fn index(&self, scene: &str, item_id: i64) -> Result<u32> {
<obws::client::scene_items::SceneItems>::index
Line
Count
Source
119
1
    pub async fn index(&self, scene: &str, item_id: i64) -> Result<u32> {
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::index
120
1
        self.client
121
2
            .send_message::<_, responses::SceneItemIndex>(Request::Index { scene, item_id })
122
2
            .await
123
1
            .map(|sii| sii.index)
<obws::client::scene_items::SceneItems>::index::{closure#0}::{closure#0}
Line
Count
Source
123
1
            .map(|sii| sii.index)
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::index::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::index::{closure#0}::{closure#0}
124
1
    }
<obws::client::scene_items::SceneItems>::index::{closure#0}
Line
Count
Source
120
1
        self.client
121
2
            .send_message::<_, responses::SceneItemIndex>(Request::Index { scene, item_id })
122
2
            .await
123
1
            .map(|sii| sii.index)
124
1
    }
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::index::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::index::{closure#0}
125
126
    /// Sets the index position of a scene item in a scene.
127
2
    pub async fn set_index(&self, index: SetIndex<'_>) -> Result<()> {
<obws::client::scene_items::SceneItems>::set_index
Line
Count
Source
127
2
    pub async fn set_index(&self, index: SetIndex<'_>) -> Result<()> {
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::set_index
128
4
        
self.client.send_message(Request::SetIndex(index))2
.await
129
2
    }
<obws::client::scene_items::SceneItems>::set_index::{closure#0}
Line
Count
Source
128
4
        
self.client.send_message(Request::SetIndex(index))2
.await
129
2
    }
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::set_index::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::set_index::{closure#0}
130
131
    /// Gets private scene item settings.
132
1
    pub async fn private_settings<T>(&self, scene: &str, item_id: i64) -> Result<T>
133
1
    where
134
1
        T: DeserializeOwned,
135
1
    {
<obws::client::scene_items::SceneItems>::private_settings::<serde_json::value::Value>
Line
Count
Source
132
1
    pub async fn private_settings<T>(&self, scene: &str, item_id: i64) -> Result<T>
133
1
    where
134
1
        T: DeserializeOwned,
135
1
    {
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::private_settings::<_>
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::private_settings::<_>
136
1
        self.client
137
1
            .send_message::<_, responses::SceneItemSettings<T>>(Request::PrivateSettings {
138
1
                scene,
139
1
                item_id,
140
2
            })
141
2
            .await
142
1
            .map(|sis| sis.settings)
<obws::client::scene_items::SceneItems>::private_settings::<serde_json::value::Value>::{closure#0}::{closure#0}
Line
Count
Source
142
1
            .map(|sis| sis.settings)
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::private_settings::<_>::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::private_settings::<_>::{closure#0}::{closure#0}
143
1
    }
<obws::client::scene_items::SceneItems>::private_settings::<serde_json::value::Value>::{closure#0}
Line
Count
Source
136
1
        self.client
137
1
            .send_message::<_, responses::SceneItemSettings<T>>(Request::PrivateSettings {
138
1
                scene,
139
1
                item_id,
140
2
            })
141
2
            .await
142
1
            .map(|sis| sis.settings)
143
1
    }
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::private_settings::<_>::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::private_settings::<_>::{closure#0}
144
145
    /// Sets private scene item settings.
146
0
    pub async fn set_private_settings<T>(&self, settings: SetPrivateSettings<'_, T>) -> Result<()>
147
0
    where
148
0
        T: Serialize,
149
0
    {
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::set_private_settings::<_>
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::set_private_settings::<_>
150
        self.client
151
            .send_message(Request::SetPrivateSettings(SetPrivateSettingsInternal {
152
0
                scene: settings.scene,
153
0
                item_id: settings.item_id,
154
0
                settings: serde_json::to_value(&settings.settings)
155
0
                    .map_err(Error::SerializeCustomData)?,
156
0
            }))
157
0
            .await
158
0
    }
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::set_private_settings::<_>::{closure#0}
Unexecuted instantiation: <obws::client::scene_items::SceneItems>::set_private_settings::<_>::{closure#0}
159
}
\ No newline at end of file diff --git a/coverage/src/client/scenes.rs.html b/coverage/src/client/scenes.rs.html index b332ab2..1e0a60b 100644 --- a/coverage/src/client/scenes.rs.html +++ b/coverage/src/client/scenes.rs.html @@ -1 +1 @@ -

Coverage Report

Created: 2022-05-25 22:28

src/client/scenes.rs
Line
Count
Source
1
use super::Client;
2
use crate::{
3
    requests::{RequestType, SetSceneSceneTransitionOverride},
4
    responses, Result,
5
};
6
7
/// API functions related to scenes.
8
pub struct Scenes<'a> {
9
    pub(super) client: &'a Client,
10
}
11
12
impl<'a> Scenes<'a> {
13
    /// Gets an array of all scenes in OBS.
14
14
    pub async fn get_scene_list(&self) -> Result<responses::Scenes> {
<obws::client::scenes::Scenes>::get_scene_list
Line
Count
Source
14
14
    pub async fn get_scene_list(&self) -> Result<responses::Scenes> {
Unexecuted instantiation: <obws::client::scenes::Scenes>::get_scene_list
15
28
        
self.client.send_message(RequestType::GetSceneList)14
.await
16
14
    }
<obws::client::scenes::Scenes>::get_scene_list::{closure#0}
Line
Count
Source
15
28
        
self.client.send_message(RequestType::GetSceneList)14
.await
16
14
    }
Unexecuted instantiation: <obws::client::scenes::Scenes>::get_scene_list::{closure#0}
Unexecuted instantiation: <obws::client::scenes::Scenes>::get_scene_list::{closure#0}
17
18
    /// Gets an array of all groups in OBS.
19
    ///
20
    /// Groups in OBS are actually scenes, but renamed and modified. In obs-websocket, we treat them
21
    /// as scenes where we can.
22
14
    pub async fn get_group_list(&self) -> Result<Vec<String>> {
<obws::client::scenes::Scenes>::get_group_list
Line
Count
Source
22
14
    pub async fn get_group_list(&self) -> Result<Vec<String>> {
Unexecuted instantiation: <obws::client::scenes::Scenes>::get_group_list
23
14
        self.client
24
28
            .send_message::<responses::Groups>(RequestType::GetGroupList)
25
28
            .await
26
14
            .map(|g| g.groups)
<obws::client::scenes::Scenes>::get_group_list::{closure#0}::{closure#0}
Line
Count
Source
26
14
            .map(|g| g.groups)
Unexecuted instantiation: <obws::client::scenes::Scenes>::get_group_list::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::scenes::Scenes>::get_group_list::{closure#0}::{closure#0}
27
14
    }
<obws::client::scenes::Scenes>::get_group_list::{closure#0}
Line
Count
Source
23
14
        self.client
24
28
            .send_message::<responses::Groups>(RequestType::GetGroupList)
25
28
            .await
26
14
            .map(|g| g.groups)
27
14
    }
Unexecuted instantiation: <obws::client::scenes::Scenes>::get_group_list::{closure#0}
Unexecuted instantiation: <obws::client::scenes::Scenes>::get_group_list::{closure#0}
28
29
    /// Gets the current program scene.
30
1
    pub async fn get_current_program_scene(&self) -> Result<String> {
<obws::client::scenes::Scenes>::get_current_program_scene
Line
Count
Source
30
1
    pub async fn get_current_program_scene(&self) -> Result<String> {
Unexecuted instantiation: <obws::client::scenes::Scenes>::get_current_program_scene
31
1
        self.client
32
2
            .send_message::<responses::CurrentProgramScene>(RequestType::GetCurrentProgramScene)
33
2
            .await
34
1
            .map(|cps| cps.current_program_scene_name)
<obws::client::scenes::Scenes>::get_current_program_scene::{closure#0}::{closure#0}
Line
Count
Source
34
1
            .map(|cps| cps.current_program_scene_name)
Unexecuted instantiation: <obws::client::scenes::Scenes>::get_current_program_scene::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::scenes::Scenes>::get_current_program_scene::{closure#0}::{closure#0}
35
1
    }
<obws::client::scenes::Scenes>::get_current_program_scene::{closure#0}
Line
Count
Source
31
1
        self.client
32
2
            .send_message::<responses::CurrentProgramScene>(RequestType::GetCurrentProgramScene)
33
2
            .await
34
1
            .map(|cps| cps.current_program_scene_name)
35
1
    }
Unexecuted instantiation: <obws::client::scenes::Scenes>::get_current_program_scene::{closure#0}
Unexecuted instantiation: <obws::client::scenes::Scenes>::get_current_program_scene::{closure#0}
36
37
    /// Sets the current program scene.
38
    ///
39
    /// - `scene_name`: Scene to set as the current program scene.
40
15
    pub async fn set_current_program_scene(&self, scene_name: &str) -> Result<()> {
<obws::client::scenes::Scenes>::set_current_program_scene
Line
Count
Source
40
15
    pub async fn set_current_program_scene(&self, scene_name: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::scenes::Scenes>::set_current_program_scene
41
15
        self.client
42
30
            .send_message(RequestType::SetCurrentProgramScene { scene_name })
43
30
            .await
44
15
    }
<obws::client::scenes::Scenes>::set_current_program_scene::{closure#0}
Line
Count
Source
41
15
        self.client
42
30
            .send_message(RequestType::SetCurrentProgramScene { scene_name })
43
30
            .await
44
15
    }
Unexecuted instantiation: <obws::client::scenes::Scenes>::set_current_program_scene::{closure#0}
Unexecuted instantiation: <obws::client::scenes::Scenes>::set_current_program_scene::{closure#0}
45
46
    /// Gets the current preview scene.
47
    ///
48
    /// Only available when studio mode is enabled.
49
1
    pub async fn get_current_preview_scene(&self) -> Result<String> {
<obws::client::scenes::Scenes>::get_current_preview_scene
Line
Count
Source
49
1
    pub async fn get_current_preview_scene(&self) -> Result<String> {
Unexecuted instantiation: <obws::client::scenes::Scenes>::get_current_preview_scene
50
1
        self.client
51
2
            .send_message::<responses::CurrentPreviewScene>(RequestType::GetCurrentPreviewScene)
52
2
            .await
53
1
            .map(|cps| cps.current_preview_scene_name)
<obws::client::scenes::Scenes>::get_current_preview_scene::{closure#0}::{closure#0}
Line
Count
Source
53
1
            .map(|cps| cps.current_preview_scene_name)
Unexecuted instantiation: <obws::client::scenes::Scenes>::get_current_preview_scene::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::scenes::Scenes>::get_current_preview_scene::{closure#0}::{closure#0}
54
1
    }
<obws::client::scenes::Scenes>::get_current_preview_scene::{closure#0}
Line
Count
Source
50
1
        self.client
51
2
            .send_message::<responses::CurrentPreviewScene>(RequestType::GetCurrentPreviewScene)
52
2
            .await
53
1
            .map(|cps| cps.current_preview_scene_name)
54
1
    }
Unexecuted instantiation: <obws::client::scenes::Scenes>::get_current_preview_scene::{closure#0}
Unexecuted instantiation: <obws::client::scenes::Scenes>::get_current_preview_scene::{closure#0}
55
56
    /// Sets the current preview scene.
57
    ///
58
    /// Only available when studio mode is enabled.
59
    ///
60
    /// - `scene_name`: Scene to set as the current preview scene.
61
2
    pub async fn set_current_preview_scene(&self, scene_name: &str) -> Result<()> {
<obws::client::scenes::Scenes>::set_current_preview_scene
Line
Count
Source
61
2
    pub async fn set_current_preview_scene(&self, scene_name: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::scenes::Scenes>::set_current_preview_scene
62
2
        self.client
63
4
            .send_message(RequestType::SetCurrentPreviewScene { scene_name })
64
4
            .await
65
2
    }
<obws::client::scenes::Scenes>::set_current_preview_scene::{closure#0}
Line
Count
Source
62
2
        self.client
63
4
            .send_message(RequestType::SetCurrentPreviewScene { scene_name })
64
4
            .await
65
2
    }
Unexecuted instantiation: <obws::client::scenes::Scenes>::set_current_preview_scene::{closure#0}
Unexecuted instantiation: <obws::client::scenes::Scenes>::set_current_preview_scene::{closure#0}
66
67
    /// Sets the name of a scene (rename).
68
    ///
69
    /// - `scene_name`: Name of the scene to be renamed.
70
    /// - `new_scene_name`: New name for the scene.
71
2
    pub async fn set_scene_name(&self, scene_name: &str, new_scene_name: &str) -> Result<()> {
<obws::client::scenes::Scenes>::set_scene_name
Line
Count
Source
71
2
    pub async fn set_scene_name(&self, scene_name: &str, new_scene_name: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::scenes::Scenes>::set_scene_name
72
2
        self.client
73
2
            .send_message(RequestType::SetSceneName {
74
2
                scene_name,
75
2
                new_scene_name,
76
4
            })
77
4
            .await
78
2
    }
<obws::client::scenes::Scenes>::set_scene_name::{closure#0}
Line
Count
Source
72
2
        self.client
73
2
            .send_message(RequestType::SetSceneName {
74
2
                scene_name,
75
2
                new_scene_name,
76
4
            })
77
4
            .await
78
2
    }
Unexecuted instantiation: <obws::client::scenes::Scenes>::set_scene_name::{closure#0}
Unexecuted instantiation: <obws::client::scenes::Scenes>::set_scene_name::{closure#0}
79
80
    /// Creates a new scene in OBS.
81
    ///
82
    /// - `scene_name`: Name for the new scene.
83
1
    pub async fn create_scene(&self, scene_name: &str) -> Result<()> {
<obws::client::scenes::Scenes>::create_scene
Line
Count
Source
83
1
    pub async fn create_scene(&self, scene_name: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::scenes::Scenes>::create_scene
84
1
        self.client
85
2
            .send_message(RequestType::CreateScene { scene_name })
86
2
            .await
87
1
    }
<obws::client::scenes::Scenes>::create_scene::{closure#0}
Line
Count
Source
84
1
        self.client
85
2
            .send_message(RequestType::CreateScene { scene_name })
86
2
            .await
87
1
    }
Unexecuted instantiation: <obws::client::scenes::Scenes>::create_scene::{closure#0}
Unexecuted instantiation: <obws::client::scenes::Scenes>::create_scene::{closure#0}
88
89
    /// Removes a scene from OBS.
90
    ///
91
    /// - `scene_name`: Name of the scene to remove.
92
1
    pub async fn remove_scene(&self, scene_name: &str) -> Result<()> {
<obws::client::scenes::Scenes>::remove_scene
Line
Count
Source
92
1
    pub async fn remove_scene(&self, scene_name: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::scenes::Scenes>::remove_scene
93
1
        self.client
94
2
            .send_message(RequestType::RemoveScene { scene_name })
95
2
            .await
96
1
    }
<obws::client::scenes::Scenes>::remove_scene::{closure#0}
Line
Count
Source
93
1
        self.client
94
2
            .send_message(RequestType::RemoveScene { scene_name })
95
2
            .await
96
1
    }
Unexecuted instantiation: <obws::client::scenes::Scenes>::remove_scene::{closure#0}
Unexecuted instantiation: <obws::client::scenes::Scenes>::remove_scene::{closure#0}
97
98
    /// Gets the scene transition overridden for a scene.
99
    ///
100
    /// - `scene_name`: Name of the scene.
101
1
    pub async fn get_scene_scene_transition_override(
102
1
        &self,
103
1
        scene_name: &str,
104
1
    ) -> Result<responses::SceneTransitionOverride> {
<obws::client::scenes::Scenes>::get_scene_scene_transition_override
Line
Count
Source
101
1
    pub async fn get_scene_scene_transition_override(
102
1
        &self,
103
1
        scene_name: &str,
104
1
    ) -> Result<responses::SceneTransitionOverride> {
Unexecuted instantiation: <obws::client::scenes::Scenes>::get_scene_scene_transition_override
105
1
        self.client
106
2
            .send_message(RequestType::GetSceneSceneTransitionOverride { scene_name })
107
2
            .await
108
1
    }
<obws::client::scenes::Scenes>::get_scene_scene_transition_override::{closure#0}
Line
Count
Source
105
1
        self.client
106
2
            .send_message(RequestType::GetSceneSceneTransitionOverride { scene_name })
107
2
            .await
108
1
    }
Unexecuted instantiation: <obws::client::scenes::Scenes>::get_scene_scene_transition_override::{closure#0}
Unexecuted instantiation: <obws::client::scenes::Scenes>::get_scene_scene_transition_override::{closure#0}
109
110
    /// Sets the scene transition overridden for a scene.
111
2
    pub async fn set_scene_scene_transition_override(
112
2
        &self,
113
2
        transition_override: SetSceneSceneTransitionOverride<'_>,
114
2
    ) -> Result<()> {
<obws::client::scenes::Scenes>::set_scene_scene_transition_override
Line
Count
Source
111
2
    pub async fn set_scene_scene_transition_override(
112
2
        &self,
113
2
        transition_override: SetSceneSceneTransitionOverride<'_>,
114
2
    ) -> Result<()> {
Unexecuted instantiation: <obws::client::scenes::Scenes>::set_scene_scene_transition_override
115
2
        self.client
116
2
            .send_message(RequestType::SetSceneSceneTransitionOverride(
117
2
                transition_override,
118
4
            ))
119
4
            .await
120
2
    }
<obws::client::scenes::Scenes>::set_scene_scene_transition_override::{closure#0}
Line
Count
Source
115
2
        self.client
116
2
            .send_message(RequestType::SetSceneSceneTransitionOverride(
117
2
                transition_override,
118
4
            ))
119
4
            .await
120
2
    }
Unexecuted instantiation: <obws::client::scenes::Scenes>::set_scene_scene_transition_override::{closure#0}
Unexecuted instantiation: <obws::client::scenes::Scenes>::set_scene_scene_transition_override::{closure#0}
121
}
\ No newline at end of file +

Coverage Report

Created: 2022-07-04 16:17

src/client/scenes.rs
Line
Count
Source
1
use super::Client;
2
use crate::{
3
    requests::scenes::{Request, SetTransitionOverride},
4
    responses::scenes as responses,
5
    Result,
6
};
7
8
/// API functions related to scenes.
9
pub struct Scenes<'a> {
10
    pub(super) client: &'a Client,
11
}
12
13
impl<'a> Scenes<'a> {
14
    /// Gets an array of all scenes in OBS.
15
19
    pub async fn list(&self) -> Result<responses::Scenes> {
<obws::client::scenes::Scenes>::list
Line
Count
Source
15
19
    pub async fn list(&self) -> Result<responses::Scenes> {
Unexecuted instantiation: <obws::client::scenes::Scenes>::list
16
38
        
self.client.send_message(Request::List)19
.await
17
19
    }
<obws::client::scenes::Scenes>::list::{closure#0}
Line
Count
Source
16
38
        
self.client.send_message(Request::List)19
.await
17
19
    }
Unexecuted instantiation: <obws::client::scenes::Scenes>::list::{closure#0}
Unexecuted instantiation: <obws::client::scenes::Scenes>::list::{closure#0}
18
19
    /// Gets an array of all groups in OBS.
20
    ///
21
    /// Groups in OBS are actually scenes, but renamed and modified. In obs-websocket, we treat them
22
    /// as scenes where we can.
23
19
    pub async fn list_groups(&self) -> Result<Vec<String>> {
<obws::client::scenes::Scenes>::list_groups
Line
Count
Source
23
19
    pub async fn list_groups(&self) -> Result<Vec<String>> {
Unexecuted instantiation: <obws::client::scenes::Scenes>::list_groups
24
19
        self.client
25
38
            .send_message::<_, responses::Groups>(Request::ListGroups)
26
38
            .await
27
19
            .map(|g| g.groups)
<obws::client::scenes::Scenes>::list_groups::{closure#0}::{closure#0}
Line
Count
Source
27
19
            .map(|g| g.groups)
Unexecuted instantiation: <obws::client::scenes::Scenes>::list_groups::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::scenes::Scenes>::list_groups::{closure#0}::{closure#0}
28
19
    }
<obws::client::scenes::Scenes>::list_groups::{closure#0}
Line
Count
Source
24
19
        self.client
25
38
            .send_message::<_, responses::Groups>(Request::ListGroups)
26
38
            .await
27
19
            .map(|g| g.groups)
28
19
    }
Unexecuted instantiation: <obws::client::scenes::Scenes>::list_groups::{closure#0}
Unexecuted instantiation: <obws::client::scenes::Scenes>::list_groups::{closure#0}
29
30
    /// Gets the current program scene.
31
1
    pub async fn current_program_scene(&self) -> Result<String> {
<obws::client::scenes::Scenes>::current_program_scene
Line
Count
Source
31
1
    pub async fn current_program_scene(&self) -> Result<String> {
Unexecuted instantiation: <obws::client::scenes::Scenes>::current_program_scene
32
1
        self.client
33
2
            .send_message::<_, responses::CurrentProgramScene>(Request::CurrentProgramScene)
34
2
            .await
35
1
            .map(|cps| cps.current_program_scene_name)
<obws::client::scenes::Scenes>::current_program_scene::{closure#0}::{closure#0}
Line
Count
Source
35
1
            .map(|cps| cps.current_program_scene_name)
Unexecuted instantiation: <obws::client::scenes::Scenes>::current_program_scene::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::scenes::Scenes>::current_program_scene::{closure#0}::{closure#0}
36
1
    }
<obws::client::scenes::Scenes>::current_program_scene::{closure#0}
Line
Count
Source
32
1
        self.client
33
2
            .send_message::<_, responses::CurrentProgramScene>(Request::CurrentProgramScene)
34
2
            .await
35
1
            .map(|cps| cps.current_program_scene_name)
36
1
    }
Unexecuted instantiation: <obws::client::scenes::Scenes>::current_program_scene::{closure#0}
Unexecuted instantiation: <obws::client::scenes::Scenes>::current_program_scene::{closure#0}
37
38
    /// Sets the current program scene.
39
20
    pub async fn set_current_program_scene(&self, scene: &str) -> Result<()> {
<obws::client::scenes::Scenes>::set_current_program_scene
Line
Count
Source
39
20
    pub async fn set_current_program_scene(&self, scene: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::scenes::Scenes>::set_current_program_scene
40
20
        self.client
41
40
            .send_message(Request::SetCurrentProgramScene { scene })
42
40
            .await
43
20
    }
<obws::client::scenes::Scenes>::set_current_program_scene::{closure#0}
Line
Count
Source
40
20
        self.client
41
40
            .send_message(Request::SetCurrentProgramScene { scene })
42
40
            .await
43
20
    }
Unexecuted instantiation: <obws::client::scenes::Scenes>::set_current_program_scene::{closure#0}
Unexecuted instantiation: <obws::client::scenes::Scenes>::set_current_program_scene::{closure#0}
44
45
    /// Gets the current preview scene.
46
    ///
47
    /// Only available when studio mode is enabled.
48
1
    pub async fn current_preview_scene(&self) -> Result<String> {
<obws::client::scenes::Scenes>::current_preview_scene
Line
Count
Source
48
1
    pub async fn current_preview_scene(&self) -> Result<String> {
Unexecuted instantiation: <obws::client::scenes::Scenes>::current_preview_scene
49
1
        self.client
50
2
            .send_message::<_, responses::CurrentPreviewScene>(Request::CurrentPreviewScene)
51
2
            .await
52
1
            .map(|cps| cps.current_preview_scene_name)
<obws::client::scenes::Scenes>::current_preview_scene::{closure#0}::{closure#0}
Line
Count
Source
52
1
            .map(|cps| cps.current_preview_scene_name)
Unexecuted instantiation: <obws::client::scenes::Scenes>::current_preview_scene::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::scenes::Scenes>::current_preview_scene::{closure#0}::{closure#0}
53
1
    }
<obws::client::scenes::Scenes>::current_preview_scene::{closure#0}
Line
Count
Source
49
1
        self.client
50
2
            .send_message::<_, responses::CurrentPreviewScene>(Request::CurrentPreviewScene)
51
2
            .await
52
1
            .map(|cps| cps.current_preview_scene_name)
53
1
    }
Unexecuted instantiation: <obws::client::scenes::Scenes>::current_preview_scene::{closure#0}
Unexecuted instantiation: <obws::client::scenes::Scenes>::current_preview_scene::{closure#0}
54
55
    /// Sets the current preview scene.
56
    ///
57
    /// Only available when studio mode is enabled.
58
2
    pub async fn set_current_preview_scene(&self, scene: &str) -> Result<()> {
<obws::client::scenes::Scenes>::set_current_preview_scene
Line
Count
Source
58
2
    pub async fn set_current_preview_scene(&self, scene: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::scenes::Scenes>::set_current_preview_scene
59
2
        self.client
60
4
            .send_message(Request::SetCurrentPreviewScene { scene })
61
4
            .await
62
2
    }
<obws::client::scenes::Scenes>::set_current_preview_scene::{closure#0}
Line
Count
Source
59
2
        self.client
60
4
            .send_message(Request::SetCurrentPreviewScene { scene })
61
4
            .await
62
2
    }
Unexecuted instantiation: <obws::client::scenes::Scenes>::set_current_preview_scene::{closure#0}
Unexecuted instantiation: <obws::client::scenes::Scenes>::set_current_preview_scene::{closure#0}
63
64
    /// Sets the name of a scene (rename).
65
2
    pub async fn set_name(&self, scene: &str, new_name: &str) -> Result<()> {
<obws::client::scenes::Scenes>::set_name
Line
Count
Source
65
2
    pub async fn set_name(&self, scene: &str, new_name: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::scenes::Scenes>::set_name
66
2
        self.client
67
4
            .send_message(Request::SetName { scene, new_name })
68
4
            .await
69
2
    }
<obws::client::scenes::Scenes>::set_name::{closure#0}
Line
Count
Source
66
2
        self.client
67
4
            .send_message(Request::SetName { scene, new_name })
68
4
            .await
69
2
    }
Unexecuted instantiation: <obws::client::scenes::Scenes>::set_name::{closure#0}
Unexecuted instantiation: <obws::client::scenes::Scenes>::set_name::{closure#0}
70
71
    /// Creates a new scene in OBS.
72
1
    pub async fn create(&self, name: &str) -> Result<()> {
<obws::client::scenes::Scenes>::create
Line
Count
Source
72
1
    pub async fn create(&self, name: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::scenes::Scenes>::create
73
2
        
self.client.send_message(Request::Create { name })1
.await
74
1
    }
<obws::client::scenes::Scenes>::create::{closure#0}
Line
Count
Source
73
2
        
self.client.send_message(Request::Create { name })1
.await
74
1
    }
Unexecuted instantiation: <obws::client::scenes::Scenes>::create::{closure#0}
Unexecuted instantiation: <obws::client::scenes::Scenes>::create::{closure#0}
75
76
    /// Removes a scene from OBS.
77
1
    pub async fn remove(&self, scene: &str) -> Result<()> {
<obws::client::scenes::Scenes>::remove
Line
Count
Source
77
1
    pub async fn remove(&self, scene: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::scenes::Scenes>::remove
78
2
        
self.client.send_message(Request::Remove { scene })1
.await
79
1
    }
<obws::client::scenes::Scenes>::remove::{closure#0}
Line
Count
Source
78
2
        
self.client.send_message(Request::Remove { scene })1
.await
79
1
    }
Unexecuted instantiation: <obws::client::scenes::Scenes>::remove::{closure#0}
Unexecuted instantiation: <obws::client::scenes::Scenes>::remove::{closure#0}
80
81
    /// Gets the scene transition overridden for a scene.
82
1
    pub async fn transition_override(
83
1
        &self,
84
1
        scene: &str,
85
1
    ) -> Result<responses::SceneTransitionOverride> {
<obws::client::scenes::Scenes>::transition_override
Line
Count
Source
82
1
    pub async fn transition_override(
83
1
        &self,
84
1
        scene: &str,
85
1
    ) -> Result<responses::SceneTransitionOverride> {
Unexecuted instantiation: <obws::client::scenes::Scenes>::transition_override
86
1
        self.client
87
2
            .send_message(Request::TransitionOverride { scene })
88
2
            .await
89
1
    }
<obws::client::scenes::Scenes>::transition_override::{closure#0}
Line
Count
Source
86
1
        self.client
87
2
            .send_message(Request::TransitionOverride { scene })
88
2
            .await
89
1
    }
Unexecuted instantiation: <obws::client::scenes::Scenes>::transition_override::{closure#0}
Unexecuted instantiation: <obws::client::scenes::Scenes>::transition_override::{closure#0}
90
91
    /// Sets the scene transition overridden for a scene.
92
2
    pub async fn set_transition_override(
93
2
        &self,
94
2
        transition_override: SetTransitionOverride<'_>,
95
2
    ) -> Result<()> {
<obws::client::scenes::Scenes>::set_transition_override
Line
Count
Source
92
2
    pub async fn set_transition_override(
93
2
        &self,
94
2
        transition_override: SetTransitionOverride<'_>,
95
2
    ) -> Result<()> {
Unexecuted instantiation: <obws::client::scenes::Scenes>::set_transition_override
96
2
        self.client
97
4
            .send_message(Request::SetTransitionOverride(transition_override))
98
4
            .await
99
2
    }
<obws::client::scenes::Scenes>::set_transition_override::{closure#0}
Line
Count
Source
96
2
        self.client
97
4
            .send_message(Request::SetTransitionOverride(transition_override))
98
4
            .await
99
2
    }
Unexecuted instantiation: <obws::client::scenes::Scenes>::set_transition_override::{closure#0}
Unexecuted instantiation: <obws::client::scenes::Scenes>::set_transition_override::{closure#0}
100
}
\ No newline at end of file diff --git a/coverage/src/client/sources.rs.html b/coverage/src/client/sources.rs.html index a22e044..3ccccbf 100644 --- a/coverage/src/client/sources.rs.html +++ b/coverage/src/client/sources.rs.html @@ -1 +1 @@ -

Coverage Report

Created: 2022-05-25 22:28

src/client/sources.rs
Line
Count
Source
1
use super::Client;
2
use crate::{
3
    requests::{GetSourceScreenshot, RequestType, SaveSourceScreenshot},
4
    responses, Result,
5
};
6
7
/// API functions related to sources.
8
pub struct Sources<'a> {
9
    pub(super) client: &'a Client,
10
}
11
12
impl<'a> Sources<'a> {
13
    /// Gets the active and show state of a source.
14
    ///
15
    /// - `source_name`: Name of the source to get the active state of.
16
1
    pub async fn get_source_active(&self, source_name: &str) -> Result<responses::SourceActive> {
<obws::client::sources::Sources>::get_source_active
Line
Count
Source
16
1
    pub async fn get_source_active(&self, source_name: &str) -> Result<responses::SourceActive> {
Unexecuted instantiation: <obws::client::sources::Sources>::get_source_active
17
1
        self.client
18
2
            .send_message(RequestType::GetSourceActive { source_name })
19
2
            .await
20
1
    }
<obws::client::sources::Sources>::get_source_active::{closure#0}
Line
Count
Source
17
1
        self.client
18
2
            .send_message(RequestType::GetSourceActive { source_name })
19
2
            .await
20
1
    }
Unexecuted instantiation: <obws::client::sources::Sources>::get_source_active::{closure#0}
Unexecuted instantiation: <obws::client::sources::Sources>::get_source_active::{closure#0}
21
22
    /// Gets a Base64-encoded screenshot of a source.
23
    ///
24
    /// The [`image_width`] and [`image_height`] parameters are treated as "scale to inner", meaning
25
    /// the smallest ratio will be used and the aspect ratio of the original resolution is kept. If
26
    /// [`image_width`] and [`image_height`] are not specified, the compressed image will use the
27
    /// full resolution of the source.
28
    ///
29
    /// [`image_width`]: GetSourceScreenshot::image_width
30
    /// [`image_height`]: GetSourceScreenshot::image_height
31
1
    pub async fn get_source_screenshot(&self, settings: GetSourceScreenshot<'_>) -> Result<String> {
<obws::client::sources::Sources>::get_source_screenshot
Line
Count
Source
31
1
    pub async fn get_source_screenshot(&self, settings: GetSourceScreenshot<'_>) -> Result<String> {
Unexecuted instantiation: <obws::client::sources::Sources>::get_source_screenshot
32
1
        self.client
33
2
            .send_message::<responses::ImageData>(RequestType::GetSourceScreenshot(settings))
34
2
            .await
35
1
            .map(|id| id.image_data)
<obws::client::sources::Sources>::get_source_screenshot::{closure#0}::{closure#0}
Line
Count
Source
35
1
            .map(|id| id.image_data)
Unexecuted instantiation: <obws::client::sources::Sources>::get_source_screenshot::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::sources::Sources>::get_source_screenshot::{closure#0}::{closure#0}
36
1
    }
<obws::client::sources::Sources>::get_source_screenshot::{closure#0}
Line
Count
Source
32
1
        self.client
33
2
            .send_message::<responses::ImageData>(RequestType::GetSourceScreenshot(settings))
34
2
            .await
35
1
            .map(|id| id.image_data)
36
1
    }
Unexecuted instantiation: <obws::client::sources::Sources>::get_source_screenshot::{closure#0}
Unexecuted instantiation: <obws::client::sources::Sources>::get_source_screenshot::{closure#0}
37
38
    /// Saves a screenshot of a source to the file system.
39
    ///
40
    /// The [`image_width`] and [`image_height`] parameters are treated as "scale to inner", meaning
41
    /// the smallest ratio will be used and the aspect ratio of the original resolution is kept. If
42
    /// [`image_width`] and [`image_height`] are not specified, the compressed image will use the
43
    /// full resolution of the source.
44
    ///
45
    /// [`image_width`]: SaveSourceScreenshot::image_width
46
    /// [`image_height`]: SaveSourceScreenshot::image_height
47
1
    pub async fn save_source_screenshot(&self, settings: SaveSourceScreenshot<'_>) -> Result<()> {
<obws::client::sources::Sources>::save_source_screenshot
Line
Count
Source
47
1
    pub async fn save_source_screenshot(&self, settings: SaveSourceScreenshot<'_>) -> Result<()> {
Unexecuted instantiation: <obws::client::sources::Sources>::save_source_screenshot
48
1
        self.client
49
2
            .send_message(RequestType::SaveSourceScreenshot(settings))
50
2
            .await
51
1
    }
<obws::client::sources::Sources>::save_source_screenshot::{closure#0}
Line
Count
Source
48
1
        self.client
49
2
            .send_message(RequestType::SaveSourceScreenshot(settings))
50
2
            .await
51
1
    }
Unexecuted instantiation: <obws::client::sources::Sources>::save_source_screenshot::{closure#0}
Unexecuted instantiation: <obws::client::sources::Sources>::save_source_screenshot::{closure#0}
52
}
\ No newline at end of file +

Coverage Report

Created: 2022-07-04 16:17

src/client/sources.rs
Line
Count
Source
1
use super::Client;
2
use crate::{
3
    requests::sources::{Request, SaveScreenshot, TakeScreenshot},
4
    responses::sources as responses,
5
    Result,
6
};
7
8
/// API functions related to sources.
9
pub struct Sources<'a> {
10
    pub(super) client: &'a Client,
11
}
12
13
impl<'a> Sources<'a> {
14
    /// Gets the active and show state of a source.
15
1
    pub async fn active(&self, name: &str) -> Result<responses::SourceActive> {
<obws::client::sources::Sources>::active
Line
Count
Source
15
1
    pub async fn active(&self, name: &str) -> Result<responses::SourceActive> {
Unexecuted instantiation: <obws::client::sources::Sources>::active
16
2
        
self.client.send_message(Request::Active { name })1
.await
17
1
    }
<obws::client::sources::Sources>::active::{closure#0}
Line
Count
Source
16
2
        
self.client.send_message(Request::Active { name })1
.await
17
1
    }
Unexecuted instantiation: <obws::client::sources::Sources>::active::{closure#0}
Unexecuted instantiation: <obws::client::sources::Sources>::active::{closure#0}
18
19
    /// Gets a Base64-encoded screenshot of a source.
20
    ///
21
    /// The [`TakeScreenshot::width`] and [`TakeScreenshot::height`] parameters are treated as
22
    /// "scale to inner", meaning the smallest ratio will be used and the aspect ratio of the
23
    /// original resolution is kept. If [`TakeScreenshot::width`] and [`TakeScreenshot::height`] are
24
    /// not specified, the compressed image will use the full resolution of the source.
25
1
    pub async fn take_screenshot(&self, settings: TakeScreenshot<'_>) -> Result<String> {
<obws::client::sources::Sources>::take_screenshot
Line
Count
Source
25
1
    pub async fn take_screenshot(&self, settings: TakeScreenshot<'_>) -> Result<String> {
Unexecuted instantiation: <obws::client::sources::Sources>::take_screenshot
26
1
        self.client
27
2
            .send_message::<_, responses::ImageData>(Request::TakeScreenshot(settings))
28
2
            .await
29
1
            .map(|id| id.image_data)
<obws::client::sources::Sources>::take_screenshot::{closure#0}::{closure#0}
Line
Count
Source
29
1
            .map(|id| id.image_data)
Unexecuted instantiation: <obws::client::sources::Sources>::take_screenshot::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::sources::Sources>::take_screenshot::{closure#0}::{closure#0}
30
1
    }
<obws::client::sources::Sources>::take_screenshot::{closure#0}
Line
Count
Source
26
1
        self.client
27
2
            .send_message::<_, responses::ImageData>(Request::TakeScreenshot(settings))
28
2
            .await
29
1
            .map(|id| id.image_data)
30
1
    }
Unexecuted instantiation: <obws::client::sources::Sources>::take_screenshot::{closure#0}
Unexecuted instantiation: <obws::client::sources::Sources>::take_screenshot::{closure#0}
31
32
    /// Saves a screenshot of a source to the file system.
33
    ///
34
    /// The [`SaveScreenshot::width`] and [`SaveScreenshot::height`] parameters are treated as
35
    /// "scale to inner", meaning the smallest ratio will be used and the aspect ratio of the
36
    /// original resolution is kept. If [`SaveScreenshot::width`] and [`SaveScreenshot::height`] are
37
    /// not specified, the compressed image will use the full resolution of the source.
38
1
    pub async fn save_screenshot(&self, settings: SaveScreenshot<'_>) -> Result<()> {
<obws::client::sources::Sources>::save_screenshot
Line
Count
Source
38
1
    pub async fn save_screenshot(&self, settings: SaveScreenshot<'_>) -> Result<()> {
Unexecuted instantiation: <obws::client::sources::Sources>::save_screenshot
39
1
        self.client
40
2
            .send_message(Request::SaveScreenshot(settings))
41
2
            .await
42
1
    }
<obws::client::sources::Sources>::save_screenshot::{closure#0}
Line
Count
Source
39
1
        self.client
40
2
            .send_message(Request::SaveScreenshot(settings))
41
2
            .await
42
1
    }
Unexecuted instantiation: <obws::client::sources::Sources>::save_screenshot::{closure#0}
Unexecuted instantiation: <obws::client::sources::Sources>::save_screenshot::{closure#0}
43
}
\ No newline at end of file diff --git a/coverage/src/client/streaming.rs.html b/coverage/src/client/streaming.rs.html index 26d3d1c..b7f1d58 100644 --- a/coverage/src/client/streaming.rs.html +++ b/coverage/src/client/streaming.rs.html @@ -1 +1 @@ -

Coverage Report

Created: 2022-05-25 22:28

src/client/streaming.rs
Line
Count
Source (jump to first uncovered line)
1
use super::Client;
2
use crate::{requests::RequestType, responses, Result};
3
4
/// API functions related to streaming.
5
pub struct Streaming<'a> {
6
    pub(super) client: &'a Client,
7
}
8
9
impl<'a> Streaming<'a> {
10
    /// Gets the status of the stream output.
11
1
    pub async fn get_stream_status(&self) -> Result<responses::StreamStatus> {
<obws::client::streaming::Streaming>::get_stream_status
Line
Count
Source
11
1
    pub async fn get_stream_status(&self) -> Result<responses::StreamStatus> {
Unexecuted instantiation: <obws::client::streaming::Streaming>::get_stream_status
12
2
        
self.client.send_message(RequestType::GetStreamStatus)1
.await
13
1
    }
<obws::client::streaming::Streaming>::get_stream_status::{closure#0}
Line
Count
Source
12
2
        
self.client.send_message(RequestType::GetStreamStatus)1
.await
13
1
    }
Unexecuted instantiation: <obws::client::streaming::Streaming>::get_stream_status::{closure#0}
Unexecuted instantiation: <obws::client::streaming::Streaming>::get_stream_status::{closure#0}
14
15
    /// Toggles the status of the stream output.
16
0
    pub async fn toggle_stream(&self) -> Result<bool> {
Unexecuted instantiation: <obws::client::streaming::Streaming>::toggle_stream
Unexecuted instantiation: <obws::client::streaming::Streaming>::toggle_stream
17
0
        self.client
18
0
            .send_message::<responses::OutputActive>(RequestType::ToggleStream)
19
0
            .await
20
0
            .map(|ts| ts.output_active)
Unexecuted instantiation: <obws::client::streaming::Streaming>::toggle_stream::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::streaming::Streaming>::toggle_stream::{closure#0}::{closure#0}
21
0
    }
Unexecuted instantiation: <obws::client::streaming::Streaming>::toggle_stream::{closure#0}
Unexecuted instantiation: <obws::client::streaming::Streaming>::toggle_stream::{closure#0}
22
23
    /// Starts the stream output.
24
0
    pub async fn start_stream(&self) -> Result<()> {
Unexecuted instantiation: <obws::client::streaming::Streaming>::start_stream
Unexecuted instantiation: <obws::client::streaming::Streaming>::start_stream
25
0
        self.client.send_message(RequestType::StartStream).await
26
0
    }
Unexecuted instantiation: <obws::client::streaming::Streaming>::start_stream::{closure#0}
Unexecuted instantiation: <obws::client::streaming::Streaming>::start_stream::{closure#0}
27
28
    /// Stops the stream output.
29
0
    pub async fn stop_stream(&self) -> Result<()> {
Unexecuted instantiation: <obws::client::streaming::Streaming>::stop_stream
Unexecuted instantiation: <obws::client::streaming::Streaming>::stop_stream
30
0
        self.client.send_message(RequestType::StopStream).await
31
0
    }
Unexecuted instantiation: <obws::client::streaming::Streaming>::stop_stream::{closure#0}
Unexecuted instantiation: <obws::client::streaming::Streaming>::stop_stream::{closure#0}
32
33
    /// Sends CEA-608 caption text over the stream output.
34
    ///
35
    /// - `caption_text`: Caption text.
36
0
    pub async fn send_stream_caption(&self, caption_text: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::streaming::Streaming>::send_stream_caption
Unexecuted instantiation: <obws::client::streaming::Streaming>::send_stream_caption
37
0
        self.client
38
0
            .send_message(RequestType::SendStreamCaption { caption_text })
39
0
            .await
40
0
    }
Unexecuted instantiation: <obws::client::streaming::Streaming>::send_stream_caption::{closure#0}
Unexecuted instantiation: <obws::client::streaming::Streaming>::send_stream_caption::{closure#0}
41
}
\ No newline at end of file +

Coverage Report

Created: 2022-07-04 16:17

src/client/streaming.rs
Line
Count
Source (jump to first uncovered line)
1
use super::Client;
2
use crate::{requests::streaming::Request, responses::streaming as responses, Result};
3
4
/// API functions related to streaming.
5
pub struct Streaming<'a> {
6
    pub(super) client: &'a Client,
7
}
8
9
impl<'a> Streaming<'a> {
10
    /// Gets the status of the stream output.
11
1
    pub async fn status(&self) -> Result<responses::StreamStatus> {
<obws::client::streaming::Streaming>::status
Line
Count
Source
11
1
    pub async fn status(&self) -> Result<responses::StreamStatus> {
Unexecuted instantiation: <obws::client::streaming::Streaming>::status
12
2
        
self.client.send_message(Request::GetStreamStatus)1
.await
13
1
    }
<obws::client::streaming::Streaming>::status::{closure#0}
Line
Count
Source
12
2
        
self.client.send_message(Request::GetStreamStatus)1
.await
13
1
    }
Unexecuted instantiation: <obws::client::streaming::Streaming>::status::{closure#0}
Unexecuted instantiation: <obws::client::streaming::Streaming>::status::{closure#0}
14
15
    /// Toggles the status of the stream output.
16
0
    pub async fn toggle(&self) -> Result<bool> {
Unexecuted instantiation: <obws::client::streaming::Streaming>::toggle
Unexecuted instantiation: <obws::client::streaming::Streaming>::toggle
17
0
        self.client
18
0
            .send_message::<_, responses::OutputActive>(Request::ToggleStream)
19
0
            .await
20
0
            .map(|ts| ts.active)
Unexecuted instantiation: <obws::client::streaming::Streaming>::toggle::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::streaming::Streaming>::toggle::{closure#0}::{closure#0}
21
0
    }
Unexecuted instantiation: <obws::client::streaming::Streaming>::toggle::{closure#0}
Unexecuted instantiation: <obws::client::streaming::Streaming>::toggle::{closure#0}
22
23
    /// Starts the stream output.
24
0
    pub async fn start(&self) -> Result<()> {
Unexecuted instantiation: <obws::client::streaming::Streaming>::start
Unexecuted instantiation: <obws::client::streaming::Streaming>::start
25
0
        self.client.send_message(Request::StartStream).await
26
0
    }
Unexecuted instantiation: <obws::client::streaming::Streaming>::start::{closure#0}
Unexecuted instantiation: <obws::client::streaming::Streaming>::start::{closure#0}
27
28
    /// Stops the stream output.
29
0
    pub async fn stop(&self) -> Result<()> {
Unexecuted instantiation: <obws::client::streaming::Streaming>::stop
Unexecuted instantiation: <obws::client::streaming::Streaming>::stop
30
0
        self.client.send_message(Request::StopStream).await
31
0
    }
Unexecuted instantiation: <obws::client::streaming::Streaming>::stop::{closure#0}
Unexecuted instantiation: <obws::client::streaming::Streaming>::stop::{closure#0}
32
33
    /// Sends CEA-608 caption text over the stream output.
34
0
    pub async fn send_caption(&self, caption_text: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::streaming::Streaming>::send_caption
Unexecuted instantiation: <obws::client::streaming::Streaming>::send_caption
35
0
        self.client
36
0
            .send_message(Request::SendStreamCaption { caption_text })
37
0
            .await
38
0
    }
Unexecuted instantiation: <obws::client::streaming::Streaming>::send_caption::{closure#0}
Unexecuted instantiation: <obws::client::streaming::Streaming>::send_caption::{closure#0}
39
}
\ No newline at end of file diff --git a/coverage/src/client/transitions.rs.html b/coverage/src/client/transitions.rs.html index e2e7782..c469792 100644 --- a/coverage/src/client/transitions.rs.html +++ b/coverage/src/client/transitions.rs.html @@ -1 +1 @@ -

Coverage Report

Created: 2022-05-25 22:28

src/client/transitions.rs
Line
Count
Source (jump to first uncovered line)
1
use serde::Serialize;
2
use time::Duration;
3
4
use super::Client;
5
use crate::{requests::RequestType, responses, Error, Result};
6
7
/// API functions related to transitions.
8
pub struct Transitions<'a> {
9
    pub(super) client: &'a Client,
10
}
11
12
impl<'a> Transitions<'a> {
13
    /// Gets an array of all available transition kinds.
14
1
    pub async fn get_transition_kind_list(&self) -> Result<Vec<String>> {
<obws::client::transitions::Transitions>::get_transition_kind_list
Line
Count
Source
14
1
    pub async fn get_transition_kind_list(&self) -> Result<Vec<String>> {
Unexecuted instantiation: <obws::client::transitions::Transitions>::get_transition_kind_list
15
1
        self.client
16
2
            .send_message::<responses::TransitionKinds>(RequestType::GetTransitionKindList)
17
2
            .await
18
1
            .map(|tk| tk.transition_kinds)
<obws::client::transitions::Transitions>::get_transition_kind_list::{closure#0}::{closure#0}
Line
Count
Source
18
1
            .map(|tk| tk.transition_kinds)
Unexecuted instantiation: <obws::client::transitions::Transitions>::get_transition_kind_list::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::transitions::Transitions>::get_transition_kind_list::{closure#0}::{closure#0}
19
1
    }
<obws::client::transitions::Transitions>::get_transition_kind_list::{closure#0}
Line
Count
Source
15
1
        self.client
16
2
            .send_message::<responses::TransitionKinds>(RequestType::GetTransitionKindList)
17
2
            .await
18
1
            .map(|tk| tk.transition_kinds)
19
1
    }
Unexecuted instantiation: <obws::client::transitions::Transitions>::get_transition_kind_list::{closure#0}
Unexecuted instantiation: <obws::client::transitions::Transitions>::get_transition_kind_list::{closure#0}
20
21
    /// Gets an array of all scene transitions in OBS.
22
1
    pub async fn get_scene_transition_list(&self) -> Result<responses::SceneTransitionList> {
<obws::client::transitions::Transitions>::get_scene_transition_list
Line
Count
Source
22
1
    pub async fn get_scene_transition_list(&self) -> Result<responses::SceneTransitionList> {
Unexecuted instantiation: <obws::client::transitions::Transitions>::get_scene_transition_list
23
1
        self.client
24
2
            .send_message(RequestType::GetSceneTransitionList)
25
2
            .await
26
1
    }
<obws::client::transitions::Transitions>::get_scene_transition_list::{closure#0}
Line
Count
Source
23
1
        self.client
24
2
            .send_message(RequestType::GetSceneTransitionList)
25
2
            .await
26
1
    }
Unexecuted instantiation: <obws::client::transitions::Transitions>::get_scene_transition_list::{closure#0}
Unexecuted instantiation: <obws::client::transitions::Transitions>::get_scene_transition_list::{closure#0}
27
28
    /// Gets information about the current scene transition.
29
1
    pub async fn get_current_scene_transition(&self) -> Result<responses::CurrentSceneTransition> {
<obws::client::transitions::Transitions>::get_current_scene_transition
Line
Count
Source
29
1
    pub async fn get_current_scene_transition(&self) -> Result<responses::CurrentSceneTransition> {
Unexecuted instantiation: <obws::client::transitions::Transitions>::get_current_scene_transition
30
1
        self.client
31
2
            .send_message(RequestType::GetCurrentSceneTransition)
32
2
            .await
33
1
    }
<obws::client::transitions::Transitions>::get_current_scene_transition::{closure#0}
Line
Count
Source
30
1
        self.client
31
2
            .send_message(RequestType::GetCurrentSceneTransition)
32
2
            .await
33
1
    }
Unexecuted instantiation: <obws::client::transitions::Transitions>::get_current_scene_transition::{closure#0}
Unexecuted instantiation: <obws::client::transitions::Transitions>::get_current_scene_transition::{closure#0}
34
35
    /// Sets the current scene transition.
36
    ///
37
    /// **Small note:** While the namespace of scene transitions is generally unique, that
38
    /// uniqueness is not a guarantee as it is with other resources like inputs.
39
    ///
40
    /// - `transition_name`: Name of the transition to make active.
41
1
    pub async fn set_current_scene_transition(&self, transition_name: &str) -> Result<()> {
<obws::client::transitions::Transitions>::set_current_scene_transition
Line
Count
Source
41
1
    pub async fn set_current_scene_transition(&self, transition_name: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::transitions::Transitions>::set_current_scene_transition
42
1
        self.client
43
2
            .send_message(RequestType::SetCurrentSceneTransition { transition_name })
44
2
            .await
45
1
    }
<obws::client::transitions::Transitions>::set_current_scene_transition::{closure#0}
Line
Count
Source
42
1
        self.client
43
2
            .send_message(RequestType::SetCurrentSceneTransition { transition_name })
44
2
            .await
45
1
    }
Unexecuted instantiation: <obws::client::transitions::Transitions>::set_current_scene_transition::{closure#0}
Unexecuted instantiation: <obws::client::transitions::Transitions>::set_current_scene_transition::{closure#0}
46
47
    /// Sets the duration of the current scene transition, if it is not fixed.
48
    ///
49
    /// - `transition_duration`: Duration in milliseconds.
50
1
    pub async fn set_current_scene_transition_duration(
51
1
        &self,
52
1
        transition_duration: Duration,
53
1
    ) -> Result<()> {
<obws::client::transitions::Transitions>::set_current_scene_transition_duration
Line
Count
Source
50
1
    pub async fn set_current_scene_transition_duration(
51
1
        &self,
52
1
        transition_duration: Duration,
53
1
    ) -> Result<()> {
Unexecuted instantiation: <obws::client::transitions::Transitions>::set_current_scene_transition_duration
54
1
        self.client
55
1
            .send_message(RequestType::SetCurrentSceneTransitionDuration {
56
1
                transition_duration,
57
2
            })
58
2
            .await
59
1
    }
<obws::client::transitions::Transitions>::set_current_scene_transition_duration::{closure#0}
Line
Count
Source
54
1
        self.client
55
1
            .send_message(RequestType::SetCurrentSceneTransitionDuration {
56
1
                transition_duration,
57
2
            })
58
2
            .await
59
1
    }
Unexecuted instantiation: <obws::client::transitions::Transitions>::set_current_scene_transition_duration::{closure#0}
Unexecuted instantiation: <obws::client::transitions::Transitions>::set_current_scene_transition_duration::{closure#0}
60
61
    /// Sets the settings of the current scene transition.
62
    ///
63
    /// - `transition_settings`: Settings object to apply to the transition.
64
    /// - `overlay`: Whether to overlay over the current settings or replace them.
65
1
    pub async fn set_current_scene_transition_settings<T>(
66
1
        &self,
67
1
        transition_settings: T,
68
1
        overlay: Option<bool>,
69
1
    ) -> Result<()>
70
1
    where
71
1
        T: Serialize,
72
1
    {
<obws::client::transitions::Transitions>::set_current_scene_transition_settings::<serde_json::value::Value>
Line
Count
Source
65
1
    pub async fn set_current_scene_transition_settings<T>(
66
1
        &self,
67
1
        transition_settings: T,
68
1
        overlay: Option<bool>,
69
1
    ) -> Result<()>
70
1
    where
71
1
        T: Serialize,
72
1
    {
Unexecuted instantiation: <obws::client::transitions::Transitions>::set_current_scene_transition_settings::<_>
Unexecuted instantiation: <obws::client::transitions::Transitions>::set_current_scene_transition_settings::<_>
73
        self.client
74
            .send_message(RequestType::SetCurrentSceneTransitionSettings {
75
1
                transition_settings: serde_json::to_value(&transition_settings)
76
1
                    .map_err(Error::SerializeCustomData)
?0
,
77
1
                overlay,
78
2
            })
79
2
            .await
80
1
    }
<obws::client::transitions::Transitions>::set_current_scene_transition_settings::<serde_json::value::Value>::{closure#0}
Line
Count
Source
75
1
                transition_settings: serde_json::to_value(&transition_settings)
76
1
                    .map_err(Error::SerializeCustomData)
?0
,
77
1
                overlay,
78
2
            })
79
2
            .await
80
1
    }
Unexecuted instantiation: <obws::client::transitions::Transitions>::set_current_scene_transition_settings::<_>::{closure#0}
Unexecuted instantiation: <obws::client::transitions::Transitions>::set_current_scene_transition_settings::<_>::{closure#0}
81
82
    /// Gets the cursor position of the current scene transition.
83
    ///
84
    /// **Note:** `transitionCursor` will return `1.0` when the transition is inactive.
85
1
    pub async fn get_current_scene_transition_cursor(&self) -> Result<f32> {
<obws::client::transitions::Transitions>::get_current_scene_transition_cursor
Line
Count
Source
85
1
    pub async fn get_current_scene_transition_cursor(&self) -> Result<f32> {
Unexecuted instantiation: <obws::client::transitions::Transitions>::get_current_scene_transition_cursor
86
1
        self.client
87
1
            .send_message::<responses::TransitionCursor>(
88
1
                RequestType::GetCurrentSceneTransitionCursor,
89
2
            )
90
2
            .await
91
1
            .map(|tc| tc.transition_cursor)
<obws::client::transitions::Transitions>::get_current_scene_transition_cursor::{closure#0}::{closure#0}
Line
Count
Source
91
1
            .map(|tc| tc.transition_cursor)
Unexecuted instantiation: <obws::client::transitions::Transitions>::get_current_scene_transition_cursor::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::transitions::Transitions>::get_current_scene_transition_cursor::{closure#0}::{closure#0}
92
1
    }
<obws::client::transitions::Transitions>::get_current_scene_transition_cursor::{closure#0}
Line
Count
Source
86
1
        self.client
87
1
            .send_message::<responses::TransitionCursor>(
88
1
                RequestType::GetCurrentSceneTransitionCursor,
89
2
            )
90
2
            .await
91
1
            .map(|tc| tc.transition_cursor)
92
1
    }
Unexecuted instantiation: <obws::client::transitions::Transitions>::get_current_scene_transition_cursor::{closure#0}
Unexecuted instantiation: <obws::client::transitions::Transitions>::get_current_scene_transition_cursor::{closure#0}
93
94
    /// Triggers the current scene transition. Same functionality as the `Transition` button in
95
    /// studio mode.
96
1
    pub async fn trigger_studio_mode_transition(&self) -> Result<()> {
<obws::client::transitions::Transitions>::trigger_studio_mode_transition
Line
Count
Source
96
1
    pub async fn trigger_studio_mode_transition(&self) -> Result<()> {
Unexecuted instantiation: <obws::client::transitions::Transitions>::trigger_studio_mode_transition
97
1
        self.client
98
2
            .send_message(RequestType::TriggerStudioModeTransition)
99
2
            .await
100
1
    }
<obws::client::transitions::Transitions>::trigger_studio_mode_transition::{closure#0}
Line
Count
Source
97
1
        self.client
98
2
            .send_message(RequestType::TriggerStudioModeTransition)
99
2
            .await
100
1
    }
Unexecuted instantiation: <obws::client::transitions::Transitions>::trigger_studio_mode_transition::{closure#0}
Unexecuted instantiation: <obws::client::transitions::Transitions>::trigger_studio_mode_transition::{closure#0}
101
102
    /// Sets the position of the T-Bar.
103
    ///
104
    /// **Very important note:** This will be deprecated and replaced in a future version of
105
    /// `obs-websocket`.
106
    ///
107
    /// - `position`: New position.
108
    /// - `release`: Whether to release the T-Bar. Only set `false` if you know that you will be
109
    ///   sending another position update.
110
1
    pub async fn set_tbar_position(&self, position: f32, release: Option<bool>) -> Result<()> {
<obws::client::transitions::Transitions>::set_tbar_position
Line
Count
Source
110
1
    pub async fn set_tbar_position(&self, position: f32, release: Option<bool>) -> Result<()> {
Unexecuted instantiation: <obws::client::transitions::Transitions>::set_tbar_position
111
1
        self.client
112
2
            .send_message(RequestType::SetTbarPosition { position, release })
113
2
            .await
114
1
    }
<obws::client::transitions::Transitions>::set_tbar_position::{closure#0}
Line
Count
Source
111
1
        self.client
112
2
            .send_message(RequestType::SetTbarPosition { position, release })
113
2
            .await
114
1
    }
Unexecuted instantiation: <obws::client::transitions::Transitions>::set_tbar_position::{closure#0}
Unexecuted instantiation: <obws::client::transitions::Transitions>::set_tbar_position::{closure#0}
115
}
\ No newline at end of file +

Coverage Report

Created: 2022-07-04 16:17

src/client/transitions.rs
Line
Count
Source (jump to first uncovered line)
1
use serde::Serialize;
2
use time::Duration;
3
4
use super::Client;
5
use crate::{requests::transitions::Request, responses::transitions as responses, Error, Result};
6
7
/// API functions related to transitions.
8
pub struct Transitions<'a> {
9
    pub(super) client: &'a Client,
10
}
11
12
impl<'a> Transitions<'a> {
13
    /// Gets an array of all available transition kinds.
14
1
    pub async fn list_kinds(&self) -> Result<Vec<String>> {
<obws::client::transitions::Transitions>::list_kinds
Line
Count
Source
14
1
    pub async fn list_kinds(&self) -> Result<Vec<String>> {
Unexecuted instantiation: <obws::client::transitions::Transitions>::list_kinds
15
1
        self.client
16
2
            .send_message::<_, responses::TransitionKinds>(Request::GetTransitionKindList)
17
2
            .await
18
1
            .map(|tk| tk.transition_kinds)
<obws::client::transitions::Transitions>::list_kinds::{closure#0}::{closure#0}
Line
Count
Source
18
1
            .map(|tk| tk.transition_kinds)
Unexecuted instantiation: <obws::client::transitions::Transitions>::list_kinds::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::transitions::Transitions>::list_kinds::{closure#0}::{closure#0}
19
1
    }
<obws::client::transitions::Transitions>::list_kinds::{closure#0}
Line
Count
Source
15
1
        self.client
16
2
            .send_message::<_, responses::TransitionKinds>(Request::GetTransitionKindList)
17
2
            .await
18
1
            .map(|tk| tk.transition_kinds)
19
1
    }
Unexecuted instantiation: <obws::client::transitions::Transitions>::list_kinds::{closure#0}
Unexecuted instantiation: <obws::client::transitions::Transitions>::list_kinds::{closure#0}
20
21
    /// Gets an array of all scene transitions in OBS.
22
1
    pub async fn list(&self) -> Result<responses::SceneTransitionList> {
<obws::client::transitions::Transitions>::list
Line
Count
Source
22
1
    pub async fn list(&self) -> Result<responses::SceneTransitionList> {
Unexecuted instantiation: <obws::client::transitions::Transitions>::list
23
1
        self.client
24
2
            .send_message(Request::GetSceneTransitionList)
25
2
            .await
26
1
    }
<obws::client::transitions::Transitions>::list::{closure#0}
Line
Count
Source
23
1
        self.client
24
2
            .send_message(Request::GetSceneTransitionList)
25
2
            .await
26
1
    }
Unexecuted instantiation: <obws::client::transitions::Transitions>::list::{closure#0}
Unexecuted instantiation: <obws::client::transitions::Transitions>::list::{closure#0}
27
28
    /// Gets information about the current scene transition.
29
1
    pub async fn current(&self) -> Result<responses::CurrentSceneTransition> {
<obws::client::transitions::Transitions>::current
Line
Count
Source
29
1
    pub async fn current(&self) -> Result<responses::CurrentSceneTransition> {
Unexecuted instantiation: <obws::client::transitions::Transitions>::current
30
1
        self.client
31
2
            .send_message(Request::GetCurrentSceneTransition)
32
2
            .await
33
1
    }
<obws::client::transitions::Transitions>::current::{closure#0}
Line
Count
Source
30
1
        self.client
31
2
            .send_message(Request::GetCurrentSceneTransition)
32
2
            .await
33
1
    }
Unexecuted instantiation: <obws::client::transitions::Transitions>::current::{closure#0}
Unexecuted instantiation: <obws::client::transitions::Transitions>::current::{closure#0}
34
35
    /// Sets the current scene transition.
36
    ///
37
    /// **Small note:** While the namespace of scene transitions is generally unique, that
38
    /// uniqueness is not a guarantee as it is with other resources like inputs.
39
1
    pub async fn set_current(&self, name: &str) -> Result<()> {
<obws::client::transitions::Transitions>::set_current
Line
Count
Source
39
1
    pub async fn set_current(&self, name: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::transitions::Transitions>::set_current
40
1
        self.client
41
2
            .send_message(Request::SetCurrentSceneTransition { name })
42
2
            .await
43
1
    }
<obws::client::transitions::Transitions>::set_current::{closure#0}
Line
Count
Source
40
1
        self.client
41
2
            .send_message(Request::SetCurrentSceneTransition { name })
42
2
            .await
43
1
    }
Unexecuted instantiation: <obws::client::transitions::Transitions>::set_current::{closure#0}
Unexecuted instantiation: <obws::client::transitions::Transitions>::set_current::{closure#0}
44
45
    /// Sets the duration of the current scene transition, if it is not fixed.
46
1
    pub async fn set_current_duration(&self, duration: Duration) -> Result<()> {
<obws::client::transitions::Transitions>::set_current_duration
Line
Count
Source
46
1
    pub async fn set_current_duration(&self, duration: Duration) -> Result<()> {
Unexecuted instantiation: <obws::client::transitions::Transitions>::set_current_duration
47
1
        self.client
48
2
            .send_message(Request::SetCurrentSceneTransitionDuration { duration })
49
2
            .await
50
1
    }
<obws::client::transitions::Transitions>::set_current_duration::{closure#0}
Line
Count
Source
47
1
        self.client
48
2
            .send_message(Request::SetCurrentSceneTransitionDuration { duration })
49
2
            .await
50
1
    }
Unexecuted instantiation: <obws::client::transitions::Transitions>::set_current_duration::{closure#0}
Unexecuted instantiation: <obws::client::transitions::Transitions>::set_current_duration::{closure#0}
51
52
    /// Sets the settings of the current scene transition.
53
1
    pub async fn set_current_settings<T>(&self, settings: T, overlay: Option<bool>) -> Result<()>
54
1
    where
55
1
        T: Serialize,
56
1
    {
<obws::client::transitions::Transitions>::set_current_settings::<serde_json::value::Value>
Line
Count
Source
53
1
    pub async fn set_current_settings<T>(&self, settings: T, overlay: Option<bool>) -> Result<()>
54
1
    where
55
1
        T: Serialize,
56
1
    {
Unexecuted instantiation: <obws::client::transitions::Transitions>::set_current_settings::<_>
Unexecuted instantiation: <obws::client::transitions::Transitions>::set_current_settings::<_>
57
        self.client
58
            .send_message(Request::SetCurrentSceneTransitionSettings {
59
1
                settings: serde_json::to_value(&settings).map_err(Error::SerializeCustomData)
?0
,
60
1
                overlay,
61
2
            })
62
2
            .await
63
1
    }
<obws::client::transitions::Transitions>::set_current_settings::<serde_json::value::Value>::{closure#0}
Line
Count
Source
59
1
                settings: serde_json::to_value(&settings).map_err(Error::SerializeCustomData)
?0
,
60
1
                overlay,
61
2
            })
62
2
            .await
63
1
    }
Unexecuted instantiation: <obws::client::transitions::Transitions>::set_current_settings::<_>::{closure#0}
Unexecuted instantiation: <obws::client::transitions::Transitions>::set_current_settings::<_>::{closure#0}
64
65
    /// Gets the cursor position of the current scene transition.
66
    ///
67
    /// **Note:** `transitionCursor` will return `1.0` when the transition is inactive.
68
1
    pub async fn current_cursor(&self) -> Result<f32> {
<obws::client::transitions::Transitions>::current_cursor
Line
Count
Source
68
1
    pub async fn current_cursor(&self) -> Result<f32> {
Unexecuted instantiation: <obws::client::transitions::Transitions>::current_cursor
69
1
        self.client
70
1
            .send_message::<_, responses::TransitionCursor>(
71
1
                Request::GetCurrentSceneTransitionCursor,
72
2
            )
73
2
            .await
74
1
            .map(|tc| tc.transition_cursor)
<obws::client::transitions::Transitions>::current_cursor::{closure#0}::{closure#0}
Line
Count
Source
74
1
            .map(|tc| tc.transition_cursor)
Unexecuted instantiation: <obws::client::transitions::Transitions>::current_cursor::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::transitions::Transitions>::current_cursor::{closure#0}::{closure#0}
75
1
    }
<obws::client::transitions::Transitions>::current_cursor::{closure#0}
Line
Count
Source
69
1
        self.client
70
1
            .send_message::<_, responses::TransitionCursor>(
71
1
                Request::GetCurrentSceneTransitionCursor,
72
2
            )
73
2
            .await
74
1
            .map(|tc| tc.transition_cursor)
75
1
    }
Unexecuted instantiation: <obws::client::transitions::Transitions>::current_cursor::{closure#0}
Unexecuted instantiation: <obws::client::transitions::Transitions>::current_cursor::{closure#0}
76
77
    /// Triggers the current scene transition. Same functionality as the `Transition` button in
78
    /// studio mode.
79
1
    pub async fn trigger(&self) -> Result<()> {
<obws::client::transitions::Transitions>::trigger
Line
Count
Source
79
1
    pub async fn trigger(&self) -> Result<()> {
Unexecuted instantiation: <obws::client::transitions::Transitions>::trigger
80
1
        self.client
81
2
            .send_message(Request::TriggerStudioModeTransition)
82
2
            .await
83
1
    }
<obws::client::transitions::Transitions>::trigger::{closure#0}
Line
Count
Source
80
1
        self.client
81
2
            .send_message(Request::TriggerStudioModeTransition)
82
2
            .await
83
1
    }
Unexecuted instantiation: <obws::client::transitions::Transitions>::trigger::{closure#0}
Unexecuted instantiation: <obws::client::transitions::Transitions>::trigger::{closure#0}
84
85
    /// Sets the position of the T-Bar.
86
    ///
87
    /// **Very important note:** This will be deprecated and replaced in a future version of
88
    /// `obs-websocket`.
89
1
    pub async fn set_tbar_position(&self, position: f32, release: Option<bool>) -> Result<()> {
<obws::client::transitions::Transitions>::set_tbar_position
Line
Count
Source
89
1
    pub async fn set_tbar_position(&self, position: f32, release: Option<bool>) -> Result<()> {
Unexecuted instantiation: <obws::client::transitions::Transitions>::set_tbar_position
90
1
        self.client
91
2
            .send_message(Request::SetTbarPosition { position, release })
92
2
            .await
93
1
    }
<obws::client::transitions::Transitions>::set_tbar_position::{closure#0}
Line
Count
Source
90
1
        self.client
91
2
            .send_message(Request::SetTbarPosition { position, release })
92
2
            .await
93
1
    }
Unexecuted instantiation: <obws::client::transitions::Transitions>::set_tbar_position::{closure#0}
Unexecuted instantiation: <obws::client::transitions::Transitions>::set_tbar_position::{closure#0}
94
}
\ No newline at end of file diff --git a/coverage/src/client/ui.rs.html b/coverage/src/client/ui.rs.html index 03e8a40..43cb629 100644 --- a/coverage/src/client/ui.rs.html +++ b/coverage/src/client/ui.rs.html @@ -1 +1 @@ -

Coverage Report

Created: 2022-05-25 22:28

src/client/ui.rs
Line
Count
Source (jump to first uncovered line)
1
use super::Client;
2
use crate::{requests::RequestType, responses, Result};
3
4
/// API functions related to the user interface.
5
pub struct Ui<'a> {
6
    pub(super) client: &'a Client,
7
}
8
9
impl<'a> Ui<'a> {
10
    /// Gets whether studio is enabled.
11
14
    pub async fn get_studio_mode_enabled(&self) -> Result<bool> {
<obws::client::ui::Ui>::get_studio_mode_enabled
Line
Count
Source
11
14
    pub async fn get_studio_mode_enabled(&self) -> Result<bool> {
Unexecuted instantiation: <obws::client::ui::Ui>::get_studio_mode_enabled
12
14
        self.client
13
28
            .send_message::<responses::StudioModeEnabled>(RequestType::GetStudioModeEnabled)
14
28
            .await
15
14
            .map(|sme| sme.studio_mode_enabled)
<obws::client::ui::Ui>::get_studio_mode_enabled::{closure#0}::{closure#0}
Line
Count
Source
15
14
            .map(|sme| sme.studio_mode_enabled)
Unexecuted instantiation: <obws::client::ui::Ui>::get_studio_mode_enabled::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::ui::Ui>::get_studio_mode_enabled::{closure#0}::{closure#0}
16
14
    }
<obws::client::ui::Ui>::get_studio_mode_enabled::{closure#0}
Line
Count
Source
12
14
        self.client
13
28
            .send_message::<responses::StudioModeEnabled>(RequestType::GetStudioModeEnabled)
14
28
            .await
15
14
            .map(|sme| sme.studio_mode_enabled)
16
14
    }
Unexecuted instantiation: <obws::client::ui::Ui>::get_studio_mode_enabled::{closure#0}
Unexecuted instantiation: <obws::client::ui::Ui>::get_studio_mode_enabled::{closure#0}
17
18
    /// Enables or disables studio mode.
19
    ///
20
    /// - `studio_mode_enabled`: Enable or disable the studio mode.
21
6
    pub async fn set_studio_mode_enabled(&self, studio_mode_enabled: bool) -> Result<()> {
<obws::client::ui::Ui>::set_studio_mode_enabled
Line
Count
Source
21
6
    pub async fn set_studio_mode_enabled(&self, studio_mode_enabled: bool) -> Result<()> {
Unexecuted instantiation: <obws::client::ui::Ui>::set_studio_mode_enabled
22
6
        self.client
23
6
            .send_message(RequestType::SetStudioModeEnabled {
24
6
                studio_mode_enabled,
25
12
            })
26
12
            .await
27
6
    }
<obws::client::ui::Ui>::set_studio_mode_enabled::{closure#0}
Line
Count
Source
22
6
        self.client
23
6
            .send_message(RequestType::SetStudioModeEnabled {
24
6
                studio_mode_enabled,
25
12
            })
26
12
            .await
27
6
    }
Unexecuted instantiation: <obws::client::ui::Ui>::set_studio_mode_enabled::{closure#0}
Unexecuted instantiation: <obws::client::ui::Ui>::set_studio_mode_enabled::{closure#0}
28
29
    /// Opens the properties dialog of an input.
30
    ///
31
    /// - `input_name`: Name of the input to open the dialog of.
32
0
    pub async fn open_input_properties_dialog(&self, input_name: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::ui::Ui>::open_input_properties_dialog
Unexecuted instantiation: <obws::client::ui::Ui>::open_input_properties_dialog
33
0
        self.client
34
0
            .send_message(RequestType::OpenInputPropertiesDialog { input_name })
35
0
            .await
36
0
    }
Unexecuted instantiation: <obws::client::ui::Ui>::open_input_properties_dialog::{closure#0}
Unexecuted instantiation: <obws::client::ui::Ui>::open_input_properties_dialog::{closure#0}
37
38
    /// Opens the filters dialog of an input.
39
    ///
40
    /// - `input_name`: Name of the input to open the dialog of.
41
0
    pub async fn open_input_filters_dialog(&self, input_name: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::ui::Ui>::open_input_filters_dialog
Unexecuted instantiation: <obws::client::ui::Ui>::open_input_filters_dialog
42
0
        self.client
43
0
            .send_message(RequestType::OpenInputFiltersDialog { input_name })
44
0
            .await
45
0
    }
Unexecuted instantiation: <obws::client::ui::Ui>::open_input_filters_dialog::{closure#0}
Unexecuted instantiation: <obws::client::ui::Ui>::open_input_filters_dialog::{closure#0}
46
47
    /// Opens the interact dialog of an input.
48
    ///
49
    /// - `input_name`: Name of the input to open the dialog of.
50
0
    pub async fn open_input_interact_dialog(&self, input_name: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::ui::Ui>::open_input_interact_dialog
Unexecuted instantiation: <obws::client::ui::Ui>::open_input_interact_dialog
51
0
        self.client
52
0
            .send_message(RequestType::OpenInputInteractDialog { input_name })
53
0
            .await
54
0
    }
Unexecuted instantiation: <obws::client::ui::Ui>::open_input_interact_dialog::{closure#0}
Unexecuted instantiation: <obws::client::ui::Ui>::open_input_interact_dialog::{closure#0}
55
56
    /// Gets a list of connected monitors and information about them.
57
0
    pub async fn get_monitor_list(&self) -> Result<Vec<responses::Monitor>> {
Unexecuted instantiation: <obws::client::ui::Ui>::get_monitor_list
Unexecuted instantiation: <obws::client::ui::Ui>::get_monitor_list
58
0
        self.client
59
0
            .send_message::<responses::MonitorList>(RequestType::GetMonitorList)
60
0
            .await
61
0
            .map(|ml| ml.monitors)
Unexecuted instantiation: <obws::client::ui::Ui>::get_monitor_list::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::ui::Ui>::get_monitor_list::{closure#0}::{closure#0}
62
0
    }
Unexecuted instantiation: <obws::client::ui::Ui>::get_monitor_list::{closure#0}
Unexecuted instantiation: <obws::client::ui::Ui>::get_monitor_list::{closure#0}
63
}
\ No newline at end of file +

Coverage Report

Created: 2022-07-04 16:17

src/client/ui.rs
Line
Count
Source (jump to first uncovered line)
1
use super::Client;
2
use crate::{
3
    requests::ui::{
4
        OpenSourceProjector, OpenSourceProjectorInternal, OpenVideoMixProjector,
5
        OpenVideoMixProjectorInternal, Request,
6
    },
7
    responses::ui as responses,
8
    Result,
9
};
10
11
/// API functions related to the user interface.
12
pub struct Ui<'a> {
13
    pub(super) client: &'a Client,
14
}
15
16
impl<'a> Ui<'a> {
17
    /// Gets whether studio is enabled.
18
19
    pub async fn studio_mode_enabled(&self) -> Result<bool> {
<obws::client::ui::Ui>::studio_mode_enabled
Line
Count
Source
18
19
    pub async fn studio_mode_enabled(&self) -> Result<bool> {
Unexecuted instantiation: <obws::client::ui::Ui>::studio_mode_enabled
19
19
        self.client
20
38
            .send_message::<_, responses::StudioModeEnabled>(Request::GetStudioModeEnabled)
21
38
            .await
22
19
            .map(|sme| sme.enabled)
<obws::client::ui::Ui>::studio_mode_enabled::{closure#0}::{closure#0}
Line
Count
Source
22
19
            .map(|sme| sme.enabled)
Unexecuted instantiation: <obws::client::ui::Ui>::studio_mode_enabled::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::ui::Ui>::studio_mode_enabled::{closure#0}::{closure#0}
23
19
    }
<obws::client::ui::Ui>::studio_mode_enabled::{closure#0}
Line
Count
Source
19
19
        self.client
20
38
            .send_message::<_, responses::StudioModeEnabled>(Request::GetStudioModeEnabled)
21
38
            .await
22
19
            .map(|sme| sme.enabled)
23
19
    }
Unexecuted instantiation: <obws::client::ui::Ui>::studio_mode_enabled::{closure#0}
Unexecuted instantiation: <obws::client::ui::Ui>::studio_mode_enabled::{closure#0}
24
25
    /// Enables or disables studio mode.
26
    ///
27
    /// - `enabled`: Enable or disable the studio mode.
28
6
    pub async fn set_studio_mode_enabled(&self, enabled: bool) -> Result<()> {
<obws::client::ui::Ui>::set_studio_mode_enabled
Line
Count
Source
28
6
    pub async fn set_studio_mode_enabled(&self, enabled: bool) -> Result<()> {
Unexecuted instantiation: <obws::client::ui::Ui>::set_studio_mode_enabled
29
6
        self.client
30
12
            .send_message(Request::SetStudioModeEnabled { enabled })
31
12
            .await
32
6
    }
<obws::client::ui::Ui>::set_studio_mode_enabled::{closure#0}
Line
Count
Source
29
6
        self.client
30
12
            .send_message(Request::SetStudioModeEnabled { enabled })
31
12
            .await
32
6
    }
Unexecuted instantiation: <obws::client::ui::Ui>::set_studio_mode_enabled::{closure#0}
Unexecuted instantiation: <obws::client::ui::Ui>::set_studio_mode_enabled::{closure#0}
33
34
    /// Opens the properties dialog of an input.
35
0
    pub async fn open_properties_dialog(&self, input: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::ui::Ui>::open_properties_dialog
Unexecuted instantiation: <obws::client::ui::Ui>::open_properties_dialog
36
0
        self.client
37
0
            .send_message(Request::OpenInputPropertiesDialog { input })
38
0
            .await
39
0
    }
Unexecuted instantiation: <obws::client::ui::Ui>::open_properties_dialog::{closure#0}
Unexecuted instantiation: <obws::client::ui::Ui>::open_properties_dialog::{closure#0}
40
41
    /// Opens the filters dialog of an input.
42
0
    pub async fn open_filters_dialog(&self, input: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::ui::Ui>::open_filters_dialog
Unexecuted instantiation: <obws::client::ui::Ui>::open_filters_dialog
43
0
        self.client
44
0
            .send_message(Request::OpenInputFiltersDialog { input })
45
0
            .await
46
0
    }
Unexecuted instantiation: <obws::client::ui::Ui>::open_filters_dialog::{closure#0}
Unexecuted instantiation: <obws::client::ui::Ui>::open_filters_dialog::{closure#0}
47
48
    /// Opens the interact dialog of an input.
49
0
    pub async fn open_interact_dialog(&self, input: &str) -> Result<()> {
Unexecuted instantiation: <obws::client::ui::Ui>::open_interact_dialog
Unexecuted instantiation: <obws::client::ui::Ui>::open_interact_dialog
50
0
        self.client
51
0
            .send_message(Request::OpenInputInteractDialog { input })
52
0
            .await
53
0
    }
Unexecuted instantiation: <obws::client::ui::Ui>::open_interact_dialog::{closure#0}
Unexecuted instantiation: <obws::client::ui::Ui>::open_interact_dialog::{closure#0}
54
55
    /// Gets a list of connected monitors and information about them.
56
1
    pub async fn list_monitors(&self) -> Result<Vec<responses::Monitor>> {
<obws::client::ui::Ui>::list_monitors
Line
Count
Source
56
1
    pub async fn list_monitors(&self) -> Result<Vec<responses::Monitor>> {
Unexecuted instantiation: <obws::client::ui::Ui>::list_monitors
57
1
        self.client
58
2
            .send_message::<_, responses::MonitorList>(Request::GetMonitorList)
59
2
            .await
60
1
            .map(|ml| ml.monitors)
<obws::client::ui::Ui>::list_monitors::{closure#0}::{closure#0}
Line
Count
Source
60
1
            .map(|ml| ml.monitors)
Unexecuted instantiation: <obws::client::ui::Ui>::list_monitors::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::ui::Ui>::list_monitors::{closure#0}::{closure#0}
61
1
    }
<obws::client::ui::Ui>::list_monitors::{closure#0}
Line
Count
Source
57
1
        self.client
58
2
            .send_message::<_, responses::MonitorList>(Request::GetMonitorList)
59
2
            .await
60
1
            .map(|ml| ml.monitors)
61
1
    }
Unexecuted instantiation: <obws::client::ui::Ui>::list_monitors::{closure#0}
Unexecuted instantiation: <obws::client::ui::Ui>::list_monitors::{closure#0}
62
63
    /// Open a projector for a specific output video mix.
64
1
    pub async fn open_video_mix_projector(&self, open: OpenVideoMixProjector) -> Result<()> {
<obws::client::ui::Ui>::open_video_mix_projector
Line
Count
Source
64
1
    pub async fn open_video_mix_projector(&self, open: OpenVideoMixProjector) -> Result<()> {
Unexecuted instantiation: <obws::client::ui::Ui>::open_video_mix_projector
65
1
        self.client
66
1
            .send_message(Request::OpenVideoMixProjector(
67
1
                OpenVideoMixProjectorInternal {
68
1
                    r#type: open.r#type,
69
1
                    location: open.location.map(Into::into),
70
1
                },
71
2
            ))
72
2
            .await
73
1
    }
<obws::client::ui::Ui>::open_video_mix_projector::{closure#0}
Line
Count
Source
65
1
        self.client
66
1
            .send_message(Request::OpenVideoMixProjector(
67
1
                OpenVideoMixProjectorInternal {
68
1
                    r#type: open.r#type,
69
1
                    location: open.location.map(Into::into),
70
1
                },
71
2
            ))
72
2
            .await
73
1
    }
Unexecuted instantiation: <obws::client::ui::Ui>::open_video_mix_projector::{closure#0}
Unexecuted instantiation: <obws::client::ui::Ui>::open_video_mix_projector::{closure#0}
74
75
    /// Opens a projector for a source.
76
1
    pub async fn open_source_projector(&self, open: OpenSourceProjector<'a>) -> Result<()> {
<obws::client::ui::Ui>::open_source_projector
Line
Count
Source
76
1
    pub async fn open_source_projector(&self, open: OpenSourceProjector<'a>) -> Result<()> {
Unexecuted instantiation: <obws::client::ui::Ui>::open_source_projector
77
1
        self.client
78
1
            .send_message(Request::OpenSourceProjector(OpenSourceProjectorInternal {
79
1
                source: open.source,
80
1
                location: open.location.map(Into::into),
81
2
            }))
82
2
            .await
83
1
    }
<obws::client::ui::Ui>::open_source_projector::{closure#0}
Line
Count
Source
77
1
        self.client
78
1
            .send_message(Request::OpenSourceProjector(OpenSourceProjectorInternal {
79
1
                source: open.source,
80
1
                location: open.location.map(Into::into),
81
2
            }))
82
2
            .await
83
1
    }
Unexecuted instantiation: <obws::client::ui::Ui>::open_source_projector::{closure#0}
Unexecuted instantiation: <obws::client::ui::Ui>::open_source_projector::{closure#0}
84
}
\ No newline at end of file diff --git a/coverage/src/client/virtual_cam.rs.html b/coverage/src/client/virtual_cam.rs.html new file mode 100644 index 0000000..21ae40d --- /dev/null +++ b/coverage/src/client/virtual_cam.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/client/virtual_cam.rs
Line
Count
Source
1
use super::Client;
2
use crate::{requests::virtual_cam::Request, responses::virtual_cam as responses, Result};
3
4
/// API functions related to the virtual camera.
5
pub struct VirtualCam<'a> {
6
    pub(super) client: &'a Client,
7
}
8
9
impl<'a> VirtualCam<'a> {
10
    /// Gets the status of the virtual cam output.
11
19
    pub async fn status(&self) -> Result<bool> {
<obws::client::virtual_cam::VirtualCam>::status
Line
Count
Source
11
19
    pub async fn status(&self) -> Result<bool> {
Unexecuted instantiation: <obws::client::virtual_cam::VirtualCam>::status
12
19
        self.client
13
38
            .send_message::<_, responses::OutputActive>(Request::Status)
14
38
            .await
15
19
            .map(|oa| oa.active)
<obws::client::virtual_cam::VirtualCam>::status::{closure#0}::{closure#0}
Line
Count
Source
15
19
            .map(|oa| oa.active)
Unexecuted instantiation: <obws::client::virtual_cam::VirtualCam>::status::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::virtual_cam::VirtualCam>::status::{closure#0}::{closure#0}
16
19
    }
<obws::client::virtual_cam::VirtualCam>::status::{closure#0}
Line
Count
Source
12
19
        self.client
13
38
            .send_message::<_, responses::OutputActive>(Request::Status)
14
38
            .await
15
19
            .map(|oa| oa.active)
16
19
    }
Unexecuted instantiation: <obws::client::virtual_cam::VirtualCam>::status::{closure#0}
Unexecuted instantiation: <obws::client::virtual_cam::VirtualCam>::status::{closure#0}
17
18
    /// Toggles the state of the virtual cam output.
19
2
    pub async fn toggle(&self) -> Result<bool> {
<obws::client::virtual_cam::VirtualCam>::toggle
Line
Count
Source
19
2
    pub async fn toggle(&self) -> Result<bool> {
Unexecuted instantiation: <obws::client::virtual_cam::VirtualCam>::toggle
20
2
        self.client
21
4
            .send_message::<_, responses::OutputActive>(Request::Toggle)
22
4
            .await
23
2
            .map(|oa| oa.active)
<obws::client::virtual_cam::VirtualCam>::toggle::{closure#0}::{closure#0}
Line
Count
Source
23
2
            .map(|oa| oa.active)
Unexecuted instantiation: <obws::client::virtual_cam::VirtualCam>::toggle::{closure#0}::{closure#0}
Unexecuted instantiation: <obws::client::virtual_cam::VirtualCam>::toggle::{closure#0}::{closure#0}
24
2
    }
<obws::client::virtual_cam::VirtualCam>::toggle::{closure#0}
Line
Count
Source
20
2
        self.client
21
4
            .send_message::<_, responses::OutputActive>(Request::Toggle)
22
4
            .await
23
2
            .map(|oa| oa.active)
24
2
    }
Unexecuted instantiation: <obws::client::virtual_cam::VirtualCam>::toggle::{closure#0}
Unexecuted instantiation: <obws::client::virtual_cam::VirtualCam>::toggle::{closure#0}
25
26
    /// Starts the virtual cam output.
27
1
    pub async fn start(&self) -> Result<()> {
<obws::client::virtual_cam::VirtualCam>::start
Line
Count
Source
27
1
    pub async fn start(&self) -> Result<()> {
Unexecuted instantiation: <obws::client::virtual_cam::VirtualCam>::start
28
2
        
self.client.send_message(Request::Start)1
.await
29
1
    }
<obws::client::virtual_cam::VirtualCam>::start::{closure#0}
Line
Count
Source
28
2
        
self.client.send_message(Request::Start)1
.await
29
1
    }
Unexecuted instantiation: <obws::client::virtual_cam::VirtualCam>::start::{closure#0}
Unexecuted instantiation: <obws::client::virtual_cam::VirtualCam>::start::{closure#0}
30
31
    /// Stops the virtual cam output.
32
1
    pub async fn stop(&self) -> Result<()> {
<obws::client::virtual_cam::VirtualCam>::stop
Line
Count
Source
32
1
    pub async fn stop(&self) -> Result<()> {
Unexecuted instantiation: <obws::client::virtual_cam::VirtualCam>::stop
33
2
        
self.client.send_message(Request::Stop)1
.await
34
1
    }
<obws::client::virtual_cam::VirtualCam>::stop::{closure#0}
Line
Count
Source
33
2
        
self.client.send_message(Request::Stop)1
.await
34
1
    }
Unexecuted instantiation: <obws::client::virtual_cam::VirtualCam>::stop::{closure#0}
Unexecuted instantiation: <obws::client::virtual_cam::VirtualCam>::stop::{closure#0}
35
}
\ No newline at end of file diff --git a/coverage/src/common.rs.html b/coverage/src/common.rs.html index 549e280..35d6c6d 100644 --- a/coverage/src/common.rs.html +++ b/coverage/src/common.rs.html @@ -1 +1 @@ -

Coverage Report

Created: 2022-05-25 22:28

src/common.rs
Line
Count
Source (jump to first uncovered line)
1
//! Common data structures shared between [`requests`](crate::requests),
2
//! [`responses`](crate::responses) and [`events`](crate::events).
3
4
use bitflags::bitflags;
5
use serde::{Deserialize, Serialize};
6
7
use crate::Error;
8
9
/// Monitoring type for audio outputs.
10
6
#[derive(
Clone0
, Copy,
D0
ebu
g0
,
s2
erde::Serializ
e2
,
s3
erd
e::Deserializ1
e)]
Unexecuted instantiation: <obws::common::MonitorType as core::clone::Clone>::clone
Unexecuted instantiation: <obws::common::MonitorType as core::clone::Clone>::clone
Unexecuted instantiation: <obws::common::MonitorType as core::clone::Clone>::clone
Unexecuted instantiation: <obws::common::MonitorType as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::common::MonitorType as core::fmt::Debug>::fmt
<obws::common::MonitorType as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
10
2
#[derive(Clone, Copy, Debug, serde::Serialize, serde::Deserialize)]
Unexecuted instantiation: <obws::common::MonitorType as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::common::MonitorType as serde::ser::Serialize>::serialize::<_>
<<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::de::value::StringDeserializer<serde_json::error::Error>>
Line
Count
Source
10
1
#[derive(Clone, Copy, Debug, serde::Serialize, serde::Deserialize)]
<<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<serde::__private::de::content::EnumDeserializer<serde_json::error::Error>>
Line
Count
Source
10
2
#[derive(Clone, Copy, Debug, serde::Serialize, 
serd1
e::Deserializ1
e)]
<obws::common::MonitorType as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
10
2
#[derive(Clone, Copy, Debug, serde::Serialize, serde::Deserialize)]
Unexecuted instantiation: <<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <obws::common::MonitorType as serde::de::Deserialize>::deserialize::<serde::__private::de::missing_field::MissingFieldDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
<obws::common::MonitorType as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
10
1
#[derive(Clone, Copy, Debug, serde::Serialize, serde::Deserialize)]
Unexecuted instantiation: <<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<serde_json::value::de::EnumDeserializer>
<<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
10
3
#[derive(Clone, Copy, Debug, serde::Serialize, serde::Deserialize)]
<<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
10
2
#[derive(Clone, Copy, Debug, serde::Serialize, serde::Deserialize)]
Unexecuted instantiation: <<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_>
Unexecuted instantiation: <obws::common::MonitorType as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::common::MonitorType as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_>
11
pub enum MonitorType {
12
    /// No monitoring.
13
    #[serde(rename = "OBS_MONITORING_TYPE_NONE")]
14
    None,
15
    /// Only monitor but don't output any sounds.
16
    #[serde(rename = "OBS_MONITORING_TYPE_MONITOR_ONLY")]
17
    MonitorOnly,
18
    /// Monitor the audio and output it at the same time.
19
    #[serde(rename = "OBS_MONITORING_TYPE_MONITOR_AND_OUTPUT")]
20
    MonitorAndOutput,
21
}
22
23
bitflags! {
24
    /// Alignment for different items on the scene that is described in two axis. The default is
25
    /// center for both axis.
26
    ///
27
    /// For example, only using `LEFT` would arrange the target to the left horizontally and
28
    /// centered vertically. To align to the top right, the alignments can be combined to
29
    /// `LEFT | TOP`. Combining both values for a single axis is invalid, like `LEFT | RIGHT`.
30
0
    #[derive(Serialize, Deserialize)]
Unexecuted instantiation: <obws::common::Alignment as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Unexecuted instantiation: <obws::common::Alignment as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::common::Alignment as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::common::Alignment as serde::de::Deserialize>::deserialize::<_>::{closure#0}
Unexecuted instantiation: <obws::common::Alignment as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::common::Alignment as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::common::Alignment as serde::de::Deserialize>::deserialize::<_>::{closure#0}
31
    #[serde(transparent)]
32
    pub struct Alignment: u8 {
33
        /// Align to the center.
34
        const CENTER = 0;
35
        /// Align to the left side.
36
        const LEFT = 1 << 0;
37
        /// Align to the right side.
38
        const RIGHT = 1 << 1;
39
        /// Align to the top.
40
        const TOP = 1 << 2;
41
        /// Align to the bottom.
42
        const BOTTOM = 1 << 3;
43
    }
44
}
45
46
impl TryFrom<u8> for Alignment {
47
    type Error = Error;
48
49
2
    fn try_from(value: u8) -> Result<Self, Self::Error> {
50
2
        Self::from_bits(value).ok_or(Error::UnknownFlags(value))
51
2
    }
<obws::common::Alignment as core::convert::TryFrom<u8>>::try_from
Line
Count
Source
49
2
    fn try_from(value: u8) -> Result<Self, Self::Error> {
50
2
        Self::from_bits(value).ok_or(Error::UnknownFlags(value))
51
2
    }
Unexecuted instantiation: <obws::common::Alignment as core::convert::TryFrom<u8>>::try_from
52
}
53
54
impl From<Alignment> for u8 {
55
0
    fn from(value: Alignment) -> Self {
56
0
        value.bits
57
0
    }
Unexecuted instantiation: <u8 as core::convert::From<obws::common::Alignment>>::from
Unexecuted instantiation: <u8 as core::convert::From<obws::common::Alignment>>::from
58
}
59
60
/// Different kinds of bounds that can be applied to different items on the scene.
61
2
#[derive(
Clone0
, Copy,
D0
ebu
g0
, Serialize, Deserialize)]
Unexecuted instantiation: <obws::common::BoundsType as core::clone::Clone>::clone
Unexecuted instantiation: <obws::common::BoundsType as core::clone::Clone>::clone
Unexecuted instantiation: <obws::common::BoundsType as core::clone::Clone>::clone
Unexecuted instantiation: <obws::common::BoundsType as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::common::BoundsType as core::fmt::Debug>::fmt
<obws::common::BoundsType as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
61
2
#[derive(Clone, Copy, Debug, Serialize, Deserialize)]
Unexecuted instantiation: <obws::common::BoundsType as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::common::BoundsType as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<serde::__private::de::content::EnumDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::de::value::StringDeserializer<serde_json::error::Error>>
Line
Count
Source
61
1
#[derive(Clone, Copy, Debug, Serialize, Deserialize)]
<<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
61
1
#[derive(Clone, Copy, Debug, Serialize, Deserialize)]
Unexecuted instantiation: <obws::common::BoundsType as serde::de::Deserialize>::deserialize::<serde::__private::de::missing_field::MissingFieldDeserializer<serde_json::error::Error>>
<<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<serde_json::value::de::EnumDeserializer>
Line
Count
Source
61
1
#[derive(Clone, Copy, Debug, Serialize, Deserialize)]
Unexecuted instantiation: <obws::common::BoundsType as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
<obws::common::BoundsType as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
61
1
#[derive(Clone, Copy, Debug, Serialize, Deserialize)]
Unexecuted instantiation: <<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_>
Unexecuted instantiation: <<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::common::BoundsType as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::common::BoundsType as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_>
62
pub enum BoundsType {
63
    /// No bounds.
64
    #[serde(rename = "OBS_BOUNDS_NONE")]
65
    None,
66
    /// Stretch to bounds.
67
    #[serde(rename = "OBS_BOUNDS_STRETCH")]
68
    Stretch,
69
    /// Scale to inner bounds.
70
    #[serde(rename = "OBS_BOUNDS_SCALE_INNER")]
71
    ScaleInner,
72
    /// Scale to outer bounds.
73
    #[serde(rename = "OBS_BOUNDS_SCALE_OUTER")]
74
    ScaleOuter,
75
    /// Scale to width of bounds.
76
    #[serde(rename = "OBS_BOUNDS_SCALE_TO_WIDTH")]
77
    ScaleToWidth,
78
    /// Scale to height of bounds.
79
    #[serde(rename = "OBS_BOUNDS_SCALE_TO_HEIGHT")]
80
    ScaleToHeight,
81
    /// Maximum size only.
82
    #[serde(rename = "OBS_BOUNDS_MAX_ONLY")]
83
    MaxOnly,
84
}
85
86
/// Different kind of media actions that can be performed (or happen in events).
87
2
#[derive(
Clone0
, Copy,
D0
ebu
g0
,
S1
erializ
e1
, Deserialize)]
Unexecuted instantiation: <obws::common::MediaAction as core::clone::Clone>::clone
Unexecuted instantiation: <obws::common::MediaAction as core::clone::Clone>::clone
Unexecuted instantiation: <obws::common::MediaAction as core::clone::Clone>::clone
Unexecuted instantiation: <obws::common::MediaAction as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::common::MediaAction as core::fmt::Debug>::fmt
<obws::common::MediaAction as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
87
1
#[derive(Clone, Copy, Debug, Serialize, Deserialize)]
Unexecuted instantiation: <obws::common::MediaAction as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::common::MediaAction as serde::ser::Serialize>::serialize::<_>
<<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
87
1
#[derive(Clone, Copy, Debug, Serialize, Deserialize)]
Unexecuted instantiation: <<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<serde_json::value::de::EnumDeserializer>
Unexecuted instantiation: <obws::common::MediaAction as serde::de::Deserialize>::deserialize::<serde::__private::de::missing_field::MissingFieldDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
87
1
#[derive(Clone, Copy, Debug, Serialize, Deserialize)]
Unexecuted instantiation: <<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
<<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<serde::__private::de::content::EnumDeserializer<serde_json::error::Error>>
Line
Count
Source
87
1
#[derive(Clone, Copy, Debug, Serialize, Deserialize)]
<obws::common::MediaAction as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
87
1
#[derive(Clone, Copy, Debug, Serialize, Deserialize)]
Unexecuted instantiation: <obws::common::MediaAction as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Unexecuted instantiation: <<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::de::value::StringDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <obws::common::MediaAction as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_>
Unexecuted instantiation: <<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_>
Unexecuted instantiation: <<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::common::MediaAction as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
88
pub enum MediaAction {
89
    /// No media action.
90
    #[serde(rename = "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_NONE")]
91
    None,
92
    /// Start media playback.
93
    #[serde(rename = "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_PLAY")]
94
    Play,
95
    /// Pause the current playback.
96
    #[serde(rename = "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_PAUSE")]
97
    Pause,
98
    /// Stop media playback, resetting the playback position back to the start.
99
    #[serde(rename = "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_STOP")]
100
    Stop,
101
    /// Reset playback to the start and continue playing.
102
    #[serde(rename = "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_RESTART")]
103
    Restart,
104
    /// Play the next media in the list.
105
    #[serde(rename = "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_NEXT")]
106
    Next,
107
    /// Play the previous media in the list.
108
    #[serde(rename = "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_PREVIOUS")]
109
    Previous,
110
}
\ No newline at end of file +

Coverage Report

Created: 2022-07-04 16:17

src/common.rs
Line
Count
Source (jump to first uncovered line)
1
//! Common data structures shared between requests, responses and events.
2
3
use bitflags::bitflags;
4
use serde::{Deserialize, Serialize};
5
6
use crate::Error;
7
8
/// Monitoring type for audio outputs.
9
6
#[derive(
Clone0
, Copy,
D2
ebu
g2
,
s2
erde::Serializ
e2
,
s3
erd
e::Deserializ1
e)]
Unexecuted instantiation: <obws::common::MonitorType as core::clone::Clone>::clone
Unexecuted instantiation: <obws::common::MonitorType as core::clone::Clone>::clone
Unexecuted instantiation: <obws::common::MonitorType as core::clone::Clone>::clone
<obws::common::MonitorType as core::fmt::Debug>::fmt
Line
Count
Source
9
2
#[derive(Clone, Copy, Debug, serde::Serialize, serde::Deserialize)]
Unexecuted instantiation: <obws::common::MonitorType as core::fmt::Debug>::fmt
<obws::common::MonitorType as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
9
2
#[derive(Clone, Copy, Debug, serde::Serialize, serde::Deserialize)]
Unexecuted instantiation: <obws::common::MonitorType as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::common::MonitorType as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::common::MonitorType as serde::de::Deserialize>::deserialize::<serde::__private::de::missing_field::MissingFieldDeserializer<serde_json::error::Error>>
<<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<serde::__private::de::content::EnumDeserializer<serde_json::error::Error>>
Line
Count
Source
9
2
#[derive(Clone, Copy, Debug, serde::Serialize, 
serd1
e::Deserializ1
e)]
<<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::de::value::StringDeserializer<serde_json::error::Error>>
Line
Count
Source
9
1
#[derive(Clone, Copy, Debug, serde::Serialize, serde::Deserialize)]
Unexecuted instantiation: <<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<obws::common::MonitorType as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
9
1
#[derive(Clone, Copy, Debug, serde::Serialize, serde::Deserialize)]
<<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
9
3
#[derive(Clone, Copy, Debug, serde::Serialize, serde::Deserialize)]
Unexecuted instantiation: <<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<serde_json::value::de::EnumDeserializer>
Unexecuted instantiation: <<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
<<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
9
2
#[derive(Clone, Copy, Debug, serde::Serialize, serde::Deserialize)]
<obws::common::MonitorType as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
9
2
#[derive(Clone, Copy, Debug, serde::Serialize, serde::Deserialize)]
Unexecuted instantiation: <<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_>
Unexecuted instantiation: <<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::common::MonitorType as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <obws::common::MonitorType as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_>
Unexecuted instantiation: <<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::common::MonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
10
pub enum MonitorType {
11
    /// No monitoring.
12
    #[serde(rename = "OBS_MONITORING_TYPE_NONE")]
13
    None,
14
    /// Only monitor but don't output any sounds.
15
    #[serde(rename = "OBS_MONITORING_TYPE_MONITOR_ONLY")]
16
    MonitorOnly,
17
    /// Monitor the audio and output it at the same time.
18
    #[serde(rename = "OBS_MONITORING_TYPE_MONITOR_AND_OUTPUT")]
19
    MonitorAndOutput,
20
}
21
22
bitflags! {
23
    /// Different flags for font display that can be combined.
24
    pub struct FontFlags: u8 {
25
        /// Make the text appear thicker.
26
        const BOLD = 1;
27
        /// Make the text appear cursive.
28
        const ITALIC = 2;
29
        /// Underline the text with a straight line.
30
        const UNDERLINE = 4;
31
        /// Strikeout the text.
32
        const STRIKEOUT = 8;
33
    }
34
}
35
36
impl TryFrom<u8> for FontFlags {
37
    type Error = Error;
38
39
0
    fn try_from(value: u8) -> Result<Self, Self::Error> {
40
0
        Self::from_bits(value).ok_or(Error::UnknownFlags(value))
41
0
    }
Unexecuted instantiation: <obws::common::FontFlags as core::convert::TryFrom<u8>>::try_from
Unexecuted instantiation: <obws::common::FontFlags as core::convert::TryFrom<u8>>::try_from
42
}
43
44
impl From<FontFlags> for u8 {
45
0
    fn from(value: FontFlags) -> Self {
46
0
        value.bits
47
0
    }
Unexecuted instantiation: <u8 as core::convert::From<obws::common::FontFlags>>::from
Unexecuted instantiation: <u8 as core::convert::From<obws::common::FontFlags>>::from
48
}
49
50
bitflags! {
51
    /// Alignment for different items on the scene that is described in two axis. The default is
52
    /// center for both axis.
53
    ///
54
    /// For example, only using `LEFT` would arrange the target to the left horizontally and
55
    /// centered vertically. To align to the top right, the alignments can be combined to
56
    /// `LEFT | TOP`. Combining both values for a single axis is invalid, like `LEFT | RIGHT`.
57
0
    #[derive(Serialize, Deserialize)]
Unexecuted instantiation: <obws::common::Alignment as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Unexecuted instantiation: <obws::common::Alignment as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::common::Alignment as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::common::Alignment as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::common::Alignment as serde::de::Deserialize>::deserialize::<_>::{closure#0}
Unexecuted instantiation: <obws::common::Alignment as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::common::Alignment as serde::de::Deserialize>::deserialize::<_>::{closure#0}
58
    #[serde(transparent)]
59
    pub struct Alignment: u8 {
60
        /// Align to the center.
61
        const CENTER = 0;
62
        /// Align to the left side.
63
        const LEFT = 1 << 0;
64
        /// Align to the right side.
65
        const RIGHT = 1 << 1;
66
        /// Align to the top.
67
        const TOP = 1 << 2;
68
        /// Align to the bottom.
69
        const BOTTOM = 1 << 3;
70
    }
71
}
72
73
impl TryFrom<u8> for Alignment {
74
    type Error = Error;
75
76
2
    fn try_from(value: u8) -> Result<Self, Self::Error> {
77
2
        Self::from_bits(value).ok_or(Error::UnknownFlags(value))
78
2
    }
<obws::common::Alignment as core::convert::TryFrom<u8>>::try_from
Line
Count
Source
76
2
    fn try_from(value: u8) -> Result<Self, Self::Error> {
77
2
        Self::from_bits(value).ok_or(Error::UnknownFlags(value))
78
2
    }
Unexecuted instantiation: <obws::common::Alignment as core::convert::TryFrom<u8>>::try_from
79
}
80
81
impl From<Alignment> for u8 {
82
0
    fn from(value: Alignment) -> Self {
83
0
        value.bits
84
0
    }
Unexecuted instantiation: <u8 as core::convert::From<obws::common::Alignment>>::from
Unexecuted instantiation: <u8 as core::convert::From<obws::common::Alignment>>::from
85
}
86
87
/// Different kinds of bounds that can be applied to different items on the scene.
88
2
#[derive(
Clone0
, Copy,
D0
ebu
g0
, Serialize, Deserialize)]
Unexecuted instantiation: <obws::common::BoundsType as core::clone::Clone>::clone
Unexecuted instantiation: <obws::common::BoundsType as core::clone::Clone>::clone
Unexecuted instantiation: <obws::common::BoundsType as core::clone::Clone>::clone
Unexecuted instantiation: <obws::common::BoundsType as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::common::BoundsType as core::fmt::Debug>::fmt
<obws::common::BoundsType as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
88
2
#[derive(Clone, Copy, Debug, Serialize, Deserialize)]
Unexecuted instantiation: <obws::common::BoundsType as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::common::BoundsType as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <obws::common::BoundsType as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<serde_json::value::de::EnumDeserializer>
Line
Count
Source
88
1
#[derive(Clone, Copy, Debug, Serialize, Deserialize)]
Unexecuted instantiation: <obws::common::BoundsType as serde::de::Deserialize>::deserialize::<serde::__private::de::missing_field::MissingFieldDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<serde::__private::de::content::EnumDeserializer<serde_json::error::Error>>
<<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::de::value::StringDeserializer<serde_json::error::Error>>
Line
Count
Source
88
1
#[derive(Clone, Copy, Debug, Serialize, Deserialize)]
<obws::common::BoundsType as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
88
1
#[derive(Clone, Copy, Debug, Serialize, Deserialize)]
<<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
88
1
#[derive(Clone, Copy, Debug, Serialize, Deserialize)]
Unexecuted instantiation: <<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::common::BoundsType as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_>
Unexecuted instantiation: <<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::common::BoundsType as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_>
Unexecuted instantiation: <<obws::common::BoundsType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
89
pub enum BoundsType {
90
    /// No bounds.
91
    #[serde(rename = "OBS_BOUNDS_NONE")]
92
    None,
93
    /// Stretch to bounds.
94
    #[serde(rename = "OBS_BOUNDS_STRETCH")]
95
    Stretch,
96
    /// Scale to inner bounds.
97
    #[serde(rename = "OBS_BOUNDS_SCALE_INNER")]
98
    ScaleInner,
99
    /// Scale to outer bounds.
100
    #[serde(rename = "OBS_BOUNDS_SCALE_OUTER")]
101
    ScaleOuter,
102
    /// Scale to width of bounds.
103
    #[serde(rename = "OBS_BOUNDS_SCALE_TO_WIDTH")]
104
    ScaleToWidth,
105
    /// Scale to height of bounds.
106
    #[serde(rename = "OBS_BOUNDS_SCALE_TO_HEIGHT")]
107
    ScaleToHeight,
108
    /// Maximum size only.
109
    #[serde(rename = "OBS_BOUNDS_MAX_ONLY")]
110
    MaxOnly,
111
}
112
113
/// Different kind of media actions that can be performed (or happen in events).
114
2
#[derive(
Clone0
, Copy,
D1
ebu
g1
,
S1
erializ
e1
, Deserialize)]
Unexecuted instantiation: <obws::common::MediaAction as core::clone::Clone>::clone
Unexecuted instantiation: <obws::common::MediaAction as core::clone::Clone>::clone
Unexecuted instantiation: <obws::common::MediaAction as core::clone::Clone>::clone
<obws::common::MediaAction as core::fmt::Debug>::fmt
Line
Count
Source
114
1
#[derive(Clone, Copy, Debug, Serialize, Deserialize)]
Unexecuted instantiation: <obws::common::MediaAction as core::fmt::Debug>::fmt
<obws::common::MediaAction as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
114
1
#[derive(Clone, Copy, Debug, Serialize, Deserialize)]
Unexecuted instantiation: <obws::common::MediaAction as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::common::MediaAction as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::common::MediaAction as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
<obws::common::MediaAction as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
114
1
#[derive(Clone, Copy, Debug, Serialize, Deserialize)]
Unexecuted instantiation: <<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::de::value::StringDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <obws::common::MediaAction as serde::de::Deserialize>::deserialize::<serde::__private::de::missing_field::MissingFieldDeserializer<serde_json::error::Error>>
<<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
114
1
#[derive(Clone, Copy, Debug, Serialize, Deserialize)]
Unexecuted instantiation: <<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<serde_json::value::de::EnumDeserializer>
<<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
114
1
#[derive(Clone, Copy, Debug, Serialize, Deserialize)]
<<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<serde::__private::de::content::EnumDeserializer<serde_json::error::Error>>
Line
Count
Source
114
1
#[derive(Clone, Copy, Debug, Serialize, Deserialize)]
Unexecuted instantiation: <<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_>
Unexecuted instantiation: <<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::common::MediaAction as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::common::MediaAction as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_>
Unexecuted instantiation: <<obws::common::MediaAction as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
115
pub enum MediaAction {
116
    /// No media action.
117
    #[serde(rename = "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_NONE")]
118
    None,
119
    /// Start media playback.
120
    #[serde(rename = "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_PLAY")]
121
    Play,
122
    /// Pause the current playback.
123
    #[serde(rename = "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_PAUSE")]
124
    Pause,
125
    /// Stop media playback, resetting the playback position back to the start.
126
    #[serde(rename = "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_STOP")]
127
    Stop,
128
    /// Reset playback to the start and continue playing.
129
    #[serde(rename = "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_RESTART")]
130
    Restart,
131
    /// Play the next media in the list.
132
    #[serde(rename = "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_NEXT")]
133
    Next,
134
    /// Play the previous media in the list.
135
    #[serde(rename = "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_PREVIOUS")]
136
    Previous,
137
}
\ No newline at end of file diff --git a/coverage/src/de.rs.html b/coverage/src/de.rs.html deleted file mode 100644 index e94ec8f..0000000 --- a/coverage/src/de.rs.html +++ /dev/null @@ -1 +0,0 @@ -

Coverage Report

Created: 2022-05-25 22:28

src/de.rs
Line
Count
Source (jump to first uncovered line)
1
//! Custom deserializers that are used in both the [`events`](crate::events) and
2
//! [`responses`](crate::responses) modules.
3
4
use std::{
5
    convert::TryFrom,
6
    fmt::{self, Display},
7
    marker::PhantomData,
8
};
9
10
use serde::de::{self, Deserializer, Visitor};
11
use time::Duration;
12
13
1
#[derive(
D0
ebu
g0
,
t0
hiserror::Error)]
Unexecuted instantiation: <obws::de::Error as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::de::Error as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::de::Error as std::error::Error>::source
Unexecuted instantiation: <obws::de::Error as core::convert::From<core::num::error::ParseIntError>>::from
Unexecuted instantiation: <obws::de::Error as core::fmt::Display>::fmt
Unexecuted instantiation: <obws::de::Error as std::error::Error>::source
Unexecuted instantiation: <obws::de::Error as core::fmt::Display>::fmt
Unexecuted instantiation: <obws::de::Error as core::convert::From<core::num::error::ParseIntError>>::from
14
enum Error {
15
    #[error("hours missing")]
16
    HoursMissing,
17
    #[error("minutes missing")]
18
    MinutesMissing,
19
    #[error("seconds missing")]
20
    SecondsMissing,
21
    #[error("milliseconds missing")]
22
    MillisecondsMissing,
23
    #[error("invalid integer")]
24
    InvalidInteger(#[from] std::num::ParseIntError),
25
    #[error("value is too large for an i64: {0}")]
26
    ValueTooLargeI64(#[source] std::num::TryFromIntError),
27
    #[error("value is too large for an u8: {0}")]
28
    ValueTooLargeU8(#[source] std::num::TryFromIntError),
29
    #[error("conversion from integer failed: {0}")]
30
    IntConversionFailed(String),
31
}
32
33
17
pub fn duration_timecode<'de, D>(deserializer: D) -> Result<Duration, D::Error>
34
17
where
35
17
    D: Deserializer<'de>,
36
17
{
37
17
    deserializer.deserialize_str(DurationTimecodeVisitor)
38
17
}
obws::de::duration_timecode::<serde_json::value::Value>
Line
Count
Source
33
15
pub fn duration_timecode<'de, D>(deserializer: D) -> Result<Duration, D::Error>
34
15
where
35
15
    D: Deserializer<'de>,
36
15
{
37
15
    deserializer.deserialize_str(DurationTimecodeVisitor)
38
15
}
Unexecuted instantiation: obws::de::duration_timecode::<_>
obws::de::duration_timecode::<&mut serde_test::de::Deserializer>
Line
Count
Source
33
2
pub fn duration_timecode<'de, D>(deserializer: D) -> Result<Duration, D::Error>
34
2
where
35
2
    D: Deserializer<'de>,
36
2
{
37
2
    deserializer.deserialize_str(DurationTimecodeVisitor)
38
2
}
Unexecuted instantiation: obws::de::duration_timecode::<serde::de::value::MapAccessDeserializer<serde_test::de::DeserializerMapVisitor>>
Unexecuted instantiation: obws::de::duration_timecode::<serde::de::value::SeqAccessDeserializer<serde_test::de::DeserializerSeqVisitor>>
39
40
struct DurationTimecodeVisitor;
41
42
impl<'de> Visitor<'de> for DurationTimecodeVisitor {
43
    type Value = Duration;
44
45
0
    fn expecting(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
46
0
        formatter.write_str("a duration formatted as 'HH:MM:SS.mmm'")
47
0
    }
Unexecuted instantiation: <obws::de::DurationTimecodeVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::de::DurationTimecodeVisitor as serde::de::Visitor>::expecting
48
49
17
    fn visit_str<E>(self, v: &str) -> Result<Self::Value, E>
50
17
    where
51
17
        E: de::Error,
52
17
    {
53
17
        let duration = || -> Result<Duration, Error> {
54
17
            let mut hms = v.splitn(3, ':');
55
17
            let hours = hms.next().ok_or(Error::HoursMissing)
?0
.parse()
?0
;
56
17
            let minutes = hms.next().ok_or(Error::MinutesMissing)
?0
.parse()
?0
;
57
17
            let seconds = hms.next().ok_or(Error::SecondsMissing)
?0
;
58
59
17
            let mut sm = seconds.splitn(2, '.');
60
17
            let seconds = sm.next().ok_or(Error::SecondsMissing)
?0
.parse()
?0
;
61
17
            let millis = sm.next().ok_or(Error::MillisecondsMissing)
?0
.parse()
?0
;
62
63
17
            Ok(Duration::hours(hours)
64
17
                + Duration::minutes(minutes)
65
17
                + Duration::seconds(seconds)
66
17
                + Duration::milliseconds(millis))
67
17
        };
<obws::de::DurationTimecodeVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>::{closure#0}
Line
Count
Source
53
15
        let duration = || -> Result<Duration, Error> {
54
15
            let mut hms = v.splitn(3, ':');
55
15
            let hours = hms.next().ok_or(Error::HoursMissing)
?0
.parse()
?0
;
56
15
            let minutes = hms.next().ok_or(Error::MinutesMissing)
?0
.parse()
?0
;
57
15
            let seconds = hms.next().ok_or(Error::SecondsMissing)
?0
;
58
59
15
            let mut sm = seconds.splitn(2, '.');
60
15
            let seconds = sm.next().ok_or(Error::SecondsMissing)
?0
.parse()
?0
;
61
15
            let millis = sm.next().ok_or(Error::MillisecondsMissing)
?0
.parse()
?0
;
62
63
15
            Ok(Duration::hours(hours)
64
15
                + Duration::minutes(minutes)
65
15
                + Duration::seconds(seconds)
66
15
                + Duration::milliseconds(millis))
67
15
        };
Unexecuted instantiation: <obws::de::DurationTimecodeVisitor as serde::de::Visitor>::visit_str::<_>::{closure#0}
<obws::de::DurationTimecodeVisitor as serde::de::Visitor>::visit_str::<serde_test::error::Error>::{closure#0}
Line
Count
Source
53
2
        let duration = || -> Result<Duration, Error> {
54
2
            let mut hms = v.splitn(3, ':');
55
2
            let hours = hms.next().ok_or(Error::HoursMissing)
?0
.parse()
?0
;
56
2
            let minutes = hms.next().ok_or(Error::MinutesMissing)
?0
.parse()
?0
;
57
2
            let seconds = hms.next().ok_or(Error::SecondsMissing)
?0
;
58
59
2
            let mut sm = seconds.splitn(2, '.');
60
2
            let seconds = sm.next().ok_or(Error::SecondsMissing)
?0
.parse()
?0
;
61
2
            let millis = sm.next().ok_or(Error::MillisecondsMissing)
?0
.parse()
?0
;
62
63
2
            Ok(Duration::hours(hours)
64
2
                + Duration::minutes(minutes)
65
2
                + Duration::seconds(seconds)
66
2
                + Duration::milliseconds(millis))
67
2
        };
68
69
17
        duration().map_err(de::Error::custom)
70
17
    }
<obws::de::DurationTimecodeVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
49
15
    fn visit_str<E>(self, v: &str) -> Result<Self::Value, E>
50
15
    where
51
15
        E: de::Error,
52
15
    {
53
15
        let duration = || -> Result<Duration, Error> {
54
            let mut hms = v.splitn(3, ':');
55
            let hours = hms.next().ok_or(Error::HoursMissing)?.parse()?;
56
            let minutes = hms.next().ok_or(Error::MinutesMissing)?.parse()?;
57
            let seconds = hms.next().ok_or(Error::SecondsMissing)?;
58
59
            let mut sm = seconds.splitn(2, '.');
60
            let seconds = sm.next().ok_or(Error::SecondsMissing)?.parse()?;
61
            let millis = sm.next().ok_or(Error::MillisecondsMissing)?.parse()?;
62
63
            Ok(Duration::hours(hours)
64
                + Duration::minutes(minutes)
65
                + Duration::seconds(seconds)
66
                + Duration::milliseconds(millis))
67
        };
68
69
15
        duration().map_err(de::Error::custom)
70
15
    }
Unexecuted instantiation: <obws::de::DurationTimecodeVisitor as serde::de::Visitor>::visit_str::<_>
<obws::de::DurationTimecodeVisitor as serde::de::Visitor>::visit_str::<serde_test::error::Error>
Line
Count
Source
49
2
    fn visit_str<E>(self, v: &str) -> Result<Self::Value, E>
50
2
    where
51
2
        E: de::Error,
52
2
    {
53
2
        let duration = || -> Result<Duration, Error> {
54
            let mut hms = v.splitn(3, ':');
55
            let hours = hms.next().ok_or(Error::HoursMissing)?.parse()?;
56
            let minutes = hms.next().ok_or(Error::MinutesMissing)?.parse()?;
57
            let seconds = hms.next().ok_or(Error::SecondsMissing)?;
58
59
            let mut sm = seconds.splitn(2, '.');
60
            let seconds = sm.next().ok_or(Error::SecondsMissing)?.parse()?;
61
            let millis = sm.next().ok_or(Error::MillisecondsMissing)?.parse()?;
62
63
            Ok(Duration::hours(hours)
64
                + Duration::minutes(minutes)
65
                + Duration::seconds(seconds)
66
                + Duration::milliseconds(millis))
67
        };
68
69
2
        duration().map_err(de::Error::custom)
70
2
    }
71
}
72
73
39
pub fn duration_millis<'de, D>(deserializer: D) -> Result<Duration, D::Error>
74
39
where
75
39
    D: Deserializer<'de>,
76
39
{
77
39
    deserializer.deserialize_i64(DurationMillisVisitor)
78
39
}
obws::de::duration_millis::<serde_json::value::Value>
Line
Count
Source
73
16
pub fn duration_millis<'de, D>(deserializer: D) -> Result<Duration, D::Error>
74
16
where
75
16
    D: Deserializer<'de>,
76
16
{
77
16
    deserializer.deserialize_i64(DurationMillisVisitor)
78
16
}
obws::de::duration_millis::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
73
18
pub fn duration_millis<'de, D>(deserializer: D) -> Result<Duration, D::Error>
74
18
where
75
18
    D: Deserializer<'de>,
76
18
{
77
18
    deserializer.deserialize_i64(DurationMillisVisitor)
78
18
}
Unexecuted instantiation: obws::de::duration_millis::<_>
obws::de::duration_millis::<&mut serde_test::de::Deserializer>
Line
Count
Source
73
5
pub fn duration_millis<'de, D>(deserializer: D) -> Result<Duration, D::Error>
74
5
where
75
5
    D: Deserializer<'de>,
76
5
{
77
5
    deserializer.deserialize_i64(DurationMillisVisitor)
78
5
}
Unexecuted instantiation: obws::de::duration_millis::<serde::de::value::MapAccessDeserializer<serde_test::de::DeserializerMapVisitor>>
Unexecuted instantiation: obws::de::duration_millis::<serde::de::value::SeqAccessDeserializer<serde_test::de::DeserializerSeqVisitor>>
79
80
struct DurationMillisVisitor;
81
82
impl<'de> Visitor<'de> for DurationMillisVisitor {
83
    type Value = Duration;
84
85
0
    fn expecting(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
86
0
        formatter.write_str("a duration in milliseconds")
87
0
    }
Unexecuted instantiation: <obws::de::DurationMillisVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::de::DurationMillisVisitor as serde::de::Visitor>::expecting
88
89
44
    fn visit_i64<E>(self, v: i64) -> Result<Self::Value, E>
90
44
    where
91
44
        E: de::Error,
92
44
    {
93
44
        Ok(Duration::milliseconds(v))
94
44
    }
<obws::de::DurationMillisVisitor as serde::de::Visitor>::visit_i64::<serde_json::error::Error>
Line
Count
Source
89
38
    fn visit_i64<E>(self, v: i64) -> Result<Self::Value, E>
90
38
    where
91
38
        E: de::Error,
92
38
    {
93
38
        Ok(Duration::milliseconds(v))
94
38
    }
Unexecuted instantiation: <obws::de::DurationMillisVisitor as serde::de::Visitor>::visit_i64::<_>
<obws::de::DurationMillisVisitor as serde::de::Visitor>::visit_i64::<serde_test::error::Error>
Line
Count
Source
89
6
    fn visit_i64<E>(self, v: i64) -> Result<Self::Value, E>
90
6
    where
91
6
        E: de::Error,
92
6
    {
93
6
        Ok(Duration::milliseconds(v))
94
6
    }
95
96
41
    fn visit_u64<E>(self, v: u64) -> Result<Self::Value, E>
97
41
    where
98
41
        E: de::Error,
99
41
    {
100
41
        i64::try_from(v)
101
41
            .map_err(|e| 
de::Error::custom(Error::ValueTooLargeI64(e))1
)
Unexecuted instantiation: <obws::de::DurationMillisVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>::{closure#0}
Unexecuted instantiation: <obws::de::DurationMillisVisitor as serde::de::Visitor>::visit_u64::<_>::{closure#0}
<obws::de::DurationMillisVisitor as serde::de::Visitor>::visit_u64::<serde_test::error::Error>::{closure#0}
Line
Count
Source
101
1
            .map_err(|e| de::Error::custom(Error::ValueTooLargeI64(e)))
102
41
            .and_then(|v| 
self.visit_i64(v)40
)
<obws::de::DurationMillisVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>::{closure#1}
Line
Count
Source
102
38
            .and_then(|v| self.visit_i64(v))
Unexecuted instantiation: <obws::de::DurationMillisVisitor as serde::de::Visitor>::visit_u64::<_>::{closure#1}
<obws::de::DurationMillisVisitor as serde::de::Visitor>::visit_u64::<serde_test::error::Error>::{closure#1}
Line
Count
Source
102
2
            .and_then(|v| self.visit_i64(v))
103
41
    }
<obws::de::DurationMillisVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Line
Count
Source
96
38
    fn visit_u64<E>(self, v: u64) -> Result<Self::Value, E>
97
38
    where
98
38
        E: de::Error,
99
38
    {
100
38
        i64::try_from(v)
101
38
            .map_err(|e| de::Error::custom(Error::ValueTooLargeI64(e)))
102
38
            .and_then(|v| self.visit_i64(v))
103
38
    }
Unexecuted instantiation: <obws::de::DurationMillisVisitor as serde::de::Visitor>::visit_u64::<_>
<obws::de::DurationMillisVisitor as serde::de::Visitor>::visit_u64::<serde_test::error::Error>
Line
Count
Source
96
3
    fn visit_u64<E>(self, v: u64) -> Result<Self::Value, E>
97
3
    where
98
3
        E: de::Error,
99
3
    {
100
3
        i64::try_from(v)
101
3
            .map_err(|e| de::Error::custom(Error::ValueTooLargeI64(e)))
102
3
            .and_then(|v| self.visit_i64(v))
103
3
    }
104
}
105
106
8
pub fn duration_millis_opt<'de, D>(deserializer: D) -> Result<Option<Duration>, D::Error>
107
8
where
108
8
    D: Deserializer<'de>,
109
8
{
110
8
    deserializer.deserialize_option(DurationMillisOptVisitor)
111
8
}
obws::de::duration_millis_opt::<serde_json::value::Value>
Line
Count
Source
106
4
pub fn duration_millis_opt<'de, D>(deserializer: D) -> Result<Option<Duration>, D::Error>
107
4
where
108
4
    D: Deserializer<'de>,
109
4
{
110
4
    deserializer.deserialize_option(DurationMillisOptVisitor)
111
4
}
Unexecuted instantiation: obws::de::duration_millis_opt::<_>
obws::de::duration_millis_opt::<&mut serde_test::de::Deserializer>
Line
Count
Source
106
4
pub fn duration_millis_opt<'de, D>(deserializer: D) -> Result<Option<Duration>, D::Error>
107
4
where
108
4
    D: Deserializer<'de>,
109
4
{
110
4
    deserializer.deserialize_option(DurationMillisOptVisitor)
111
4
}
Unexecuted instantiation: obws::de::duration_millis_opt::<serde::de::value::SeqAccessDeserializer<serde_test::de::DeserializerSeqVisitor>>
Unexecuted instantiation: obws::de::duration_millis_opt::<serde::de::value::MapAccessDeserializer<serde_test::de::DeserializerMapVisitor>>
112
113
struct DurationMillisOptVisitor;
114
115
impl<'de> Visitor<'de> for DurationMillisOptVisitor {
116
    type Value = Option<Duration>;
117
118
0
    fn expecting(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
119
0
        formatter.write_str("a duration in milliseconds")
120
0
    }
Unexecuted instantiation: <obws::de::DurationMillisOptVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::de::DurationMillisOptVisitor as serde::de::Visitor>::expecting
121
122
2
    fn visit_none<E>(self) -> Result<Self::Value, E>
123
2
    where
124
2
        E: de::Error,
125
2
    {
126
2
        Ok(None)
127
2
    }
Unexecuted instantiation: <obws::de::DurationMillisOptVisitor as serde::de::Visitor>::visit_none::<serde_json::error::Error>
Unexecuted instantiation: <obws::de::DurationMillisOptVisitor as serde::de::Visitor>::visit_none::<_>
<obws::de::DurationMillisOptVisitor as serde::de::Visitor>::visit_none::<serde_test::error::Error>
Line
Count
Source
122
2
    fn visit_none<E>(self) -> Result<Self::Value, E>
123
2
    where
124
2
        E: de::Error,
125
2
    {
126
2
        Ok(None)
127
2
    }
128
129
6
    fn visit_some<D>(self, deserializer: D) -> Result<Self::Value, D::Error>
130
6
    where
131
6
        D: Deserializer<'de>,
132
6
    {
133
6
        deserializer
134
6
            .deserialize_i64(DurationMillisVisitor)
135
6
            .map(Some)
136
6
    }
<obws::de::DurationMillisOptVisitor as serde::de::Visitor>::visit_some::<serde_json::value::Value>
Line
Count
Source
129
4
    fn visit_some<D>(self, deserializer: D) -> Result<Self::Value, D::Error>
130
4
    where
131
4
        D: Deserializer<'de>,
132
4
    {
133
4
        deserializer
134
4
            .deserialize_i64(DurationMillisVisitor)
135
4
            .map(Some)
136
4
    }
Unexecuted instantiation: <obws::de::DurationMillisOptVisitor as serde::de::Visitor>::visit_some::<_>
<obws::de::DurationMillisOptVisitor as serde::de::Visitor>::visit_some::<&mut serde_test::de::Deserializer>
Line
Count
Source
129
2
    fn visit_some<D>(self, deserializer: D) -> Result<Self::Value, D::Error>
130
2
    where
131
2
        D: Deserializer<'de>,
132
2
    {
133
2
        deserializer
134
2
            .deserialize_i64(DurationMillisVisitor)
135
2
            .map(Some)
136
2
    }
137
}
138
139
2
pub fn bitflags_u8<'de, D, T, TE>(deserializer: D) -> Result<T, D::Error>
140
2
where
141
2
    D: Deserializer<'de>,
142
2
    T: TryFrom<u8, Error = TE>,
143
2
    TE: Display,
144
2
{
145
2
    deserializer.deserialize_u8(BitflagsU8Visitor { flags: PhantomData })
146
2
}
obws::de::bitflags_u8::<serde_json::value::Value, obws::common::Alignment, obws::Error>
Line
Count
Source
139
2
pub fn bitflags_u8<'de, D, T, TE>(deserializer: D) -> Result<T, D::Error>
140
2
where
141
2
    D: Deserializer<'de>,
142
2
    T: TryFrom<u8, Error = TE>,
143
2
    TE: Display,
144
2
{
145
2
    deserializer.deserialize_u8(BitflagsU8Visitor { flags: PhantomData })
146
2
}
Unexecuted instantiation: obws::de::bitflags_u8::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>, obws::common::Alignment, obws::Error>
Unexecuted instantiation: obws::de::bitflags_u8::<_, _, _>
Unexecuted instantiation: obws::de::bitflags_u8::<_, _, _>
147
148
struct BitflagsU8Visitor<T, TE> {
149
    flags: PhantomData<(T, TE)>,
150
}
151
152
impl<'de, T, TE> Visitor<'de> for BitflagsU8Visitor<T, TE>
153
where
154
    T: TryFrom<u8, Error = TE>,
155
    TE: Display,
156
{
157
    type Value = T;
158
159
0
    fn expecting(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
160
0
        formatter.write_str("bitflags encoded as u8 integer")
161
0
    }
Unexecuted instantiation: <obws::de::BitflagsU8Visitor<obws::common::Alignment, obws::Error> as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::de::BitflagsU8Visitor<_, _> as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::de::BitflagsU8Visitor<_, _> as serde::de::Visitor>::expecting
162
163
0
    fn visit_i64<E>(self, v: i64) -> Result<Self::Value, E>
164
0
    where
165
0
        E: de::Error,
166
0
    {
167
0
        u8::try_from(v)
168
0
            .map_err(|e| de::Error::custom(Error::ValueTooLargeU8(e)))
Unexecuted instantiation: <obws::de::BitflagsU8Visitor<obws::common::Alignment, obws::Error> as serde::de::Visitor>::visit_i64::<serde_json::error::Error>::{closure#0}
Unexecuted instantiation: <obws::de::BitflagsU8Visitor<_, _> as serde::de::Visitor>::visit_i64::<_>::{closure#0}
Unexecuted instantiation: <obws::de::BitflagsU8Visitor<_, _> as serde::de::Visitor>::visit_i64::<_>::{closure#0}
169
0
            .and_then(|v| self.visit_u8(v))
Unexecuted instantiation: <obws::de::BitflagsU8Visitor<obws::common::Alignment, obws::Error> as serde::de::Visitor>::visit_i64::<serde_json::error::Error>::{closure#1}
Unexecuted instantiation: <obws::de::BitflagsU8Visitor<_, _> as serde::de::Visitor>::visit_i64::<_>::{closure#1}
Unexecuted instantiation: <obws::de::BitflagsU8Visitor<_, _> as serde::de::Visitor>::visit_i64::<_>::{closure#1}
170
0
    }
Unexecuted instantiation: <obws::de::BitflagsU8Visitor<obws::common::Alignment, obws::Error> as serde::de::Visitor>::visit_i64::<serde_json::error::Error>
Unexecuted instantiation: <obws::de::BitflagsU8Visitor<_, _> as serde::de::Visitor>::visit_i64::<_>
Unexecuted instantiation: <obws::de::BitflagsU8Visitor<_, _> as serde::de::Visitor>::visit_i64::<_>
171
172
2
    fn visit_u8<E>(self, v: u8) -> Result<Self::Value, E>
173
2
    where
174
2
        E: de::Error,
175
2
    {
176
2
        T::try_from(v).map_err(|e| 
de::Error::custom(Error::IntConversionFailed(e.to_string()))0
)
Unexecuted instantiation: <obws::de::BitflagsU8Visitor<obws::common::Alignment, obws::Error> as serde::de::Visitor>::visit_u8::<serde_json::error::Error>::{closure#0}
Unexecuted instantiation: <obws::de::BitflagsU8Visitor<_, _> as serde::de::Visitor>::visit_u8::<_>::{closure#0}
Unexecuted instantiation: <obws::de::BitflagsU8Visitor<_, _> as serde::de::Visitor>::visit_u8::<_>::{closure#0}
177
2
    }
<obws::de::BitflagsU8Visitor<obws::common::Alignment, obws::Error> as serde::de::Visitor>::visit_u8::<serde_json::error::Error>
Line
Count
Source
172
2
    fn visit_u8<E>(self, v: u8) -> Result<Self::Value, E>
173
2
    where
174
2
        E: de::Error,
175
2
    {
176
2
        T::try_from(v).map_err(|e| de::Error::custom(Error::IntConversionFailed(e.to_string())))
177
2
    }
Unexecuted instantiation: <obws::de::BitflagsU8Visitor<_, _> as serde::de::Visitor>::visit_u8::<_>
Unexecuted instantiation: <obws::de::BitflagsU8Visitor<_, _> as serde::de::Visitor>::visit_u8::<_>
178
179
2
    fn visit_u64<E>(self, v: u64) -> Result<Self::Value, E>
180
2
    where
181
2
        E: de::Error,
182
2
    {
183
2
        u8::try_from(v)
184
2
            .map_err(|e| 
de::Error::custom(Error::ValueTooLargeU8(e))0
)
Unexecuted instantiation: <obws::de::BitflagsU8Visitor<obws::common::Alignment, obws::Error> as serde::de::Visitor>::visit_u64::<serde_json::error::Error>::{closure#0}
Unexecuted instantiation: <obws::de::BitflagsU8Visitor<_, _> as serde::de::Visitor>::visit_u64::<_>::{closure#0}
Unexecuted instantiation: <obws::de::BitflagsU8Visitor<_, _> as serde::de::Visitor>::visit_u64::<_>::{closure#0}
185
2
            .and_then(|v| self.visit_u8(v))
<obws::de::BitflagsU8Visitor<obws::common::Alignment, obws::Error> as serde::de::Visitor>::visit_u64::<serde_json::error::Error>::{closure#1}
Line
Count
Source
185
2
            .and_then(|v| self.visit_u8(v))
Unexecuted instantiation: <obws::de::BitflagsU8Visitor<_, _> as serde::de::Visitor>::visit_u64::<_>::{closure#1}
Unexecuted instantiation: <obws::de::BitflagsU8Visitor<_, _> as serde::de::Visitor>::visit_u64::<_>::{closure#1}
186
2
    }
<obws::de::BitflagsU8Visitor<obws::common::Alignment, obws::Error> as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Line
Count
Source
179
2
    fn visit_u64<E>(self, v: u64) -> Result<Self::Value, E>
180
2
    where
181
2
        E: de::Error,
182
2
    {
183
2
        u8::try_from(v)
184
2
            .map_err(|e| de::Error::custom(Error::ValueTooLargeU8(e)))
185
2
            .and_then(|v| self.visit_u8(v))
186
2
    }
Unexecuted instantiation: <obws::de::BitflagsU8Visitor<_, _> as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <obws::de::BitflagsU8Visitor<_, _> as serde::de::Visitor>::visit_u64::<_>
187
}
188
189
#[cfg(test)]
190
mod tests {
191
    use serde::Deserialize;
192
    use serde_test::{assert_de_tokens, assert_de_tokens_error, Token};
193
194
    use super::*;
195
196
1
    #[test]
197
1
    fn deser_duration_timecode() {
198
8
        #[derive(
Debug0
,
PartialEq2
, Eq,
D6
ese
rializ0
e)]
Unexecuted instantiation: <obws::de::tests::deser_duration_timecode::SimpleDuration as core::cmp::PartialEq>::ne
<obws::de::tests::deser_duration_timecode::SimpleDuration as core::cmp::PartialEq>::eq
Line
Count
Source
198
2
        #[derive(Debug, PartialEq, Eq, Deserialize)]
<<obws::de::tests::deser_duration_timecode::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<serde_test::de::DeserializerMapVisitor>
Line
Count
Source
198
4
        #[derive(Debug, PartialEq, Eq, 
D2
eserialize)]
Unexecuted instantiation: <<obws::de::tests::deser_duration_timecode::SimpleDuration as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::de::value::U32Deserializer<serde_test::error::Error>>
<<obws::de::tests::deser_duration_timecode::SimpleDuration as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_test::de::Deserializer>
Line
Count
Source
198
2
        #[derive(Debug, PartialEq, Eq, Deserialize)]
Unexecuted instantiation: <<obws::de::tests::deser_duration_timecode::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<serde_test::de::DeserializerSeqVisitor>::{closure#0}
Unexecuted instantiation: <<obws::de::tests::deser_duration_timecode::SimpleDuration as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
<<obws::de::tests::deser_duration_timecode::SimpleDuration as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_test::error::Error>
Line
Count
Source
198
2
        #[derive(Debug, PartialEq, Eq, Deserialize)]
Unexecuted instantiation: <<obws::de::tests::deser_duration_timecode::SimpleDuration as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_test::error::Error>
Unexecuted instantiation: <<<obws::de::tests::deser_duration_timecode::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde::de::value::SeqAccessDeserializer<serde_test::de::DeserializerSeqVisitor>>
Unexecuted instantiation: <<obws::de::tests::deser_duration_timecode::SimpleDuration as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::de::value::StrDeserializer<serde_test::error::Error>>
Unexecuted instantiation: <<obws::de::tests::deser_duration_timecode::SimpleDuration as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_test::error::Error>
Unexecuted instantiation: <<obws::de::tests::deser_duration_timecode::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<serde_test::de::EnumMapVisitor>
<<<obws::de::tests::deser_duration_timecode::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<&mut serde_test::de::Deserializer>
Line
Count
Source
198
2
        #[derive(Debug, PartialEq, Eq, Deserialize)]
Unexecuted instantiation: <<<obws::de::tests::deser_duration_timecode::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde::de::value::MapAccessDeserializer<serde_test::de::DeserializerMapVisitor>>
Unexecuted instantiation: <<obws::de::tests::deser_duration_timecode::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::de::tests::deser_duration_timecode::SimpleDuration as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_test::de::BytesDeserializer>
Unexecuted instantiation: <<<obws::de::tests::deser_duration_timecode::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<&mut serde_test::de::Deserializer>
Unexecuted instantiation: <<obws::de::tests::deser_duration_timecode::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<serde_test::de::DeserializerSeqVisitor>
<obws::de::tests::deser_duration_timecode::SimpleDuration as serde::de::Deserialize>::deserialize::<&mut serde_test::de::Deserializer>
Line
Count
Source
198
2
        #[derive(Debug, PartialEq, Eq, Deserialize)]
199
1
        struct SimpleDuration {
200
1
            #[serde(deserialize_with = "duration_timecode")]
201
1
            value: Duration,
202
1
        }
203
1
204
1
        assert_de_tokens(
205
1
            &SimpleDuration {
206
1
                value: Duration::hours(2)
207
1
                    + Duration::minutes(15)
208
1
                    + Duration::seconds(4)
209
1
                    + Duration::milliseconds(310),
210
1
            },
211
1
            &[
212
1
                Token::Struct {
213
1
                    name: "SimpleDuration",
214
1
                    len: 1,
215
1
                },
216
1
                Token::Str("value"),
217
1
                Token::Str("02:15:04.310"),
218
1
                Token::StructEnd,
219
1
            ],
220
1
        );
221
1
    }
222
223
1
    #[test]
224
1
    fn deser_duration_millis() {
225
20
        #[derive(
Debug0
,
PartialEq4
, Eq,
D15
ese
rializ0
e)]
Unexecuted instantiation: <obws::de::tests::deser_duration_millis::SimpleDuration as core::cmp::PartialEq>::ne
<obws::de::tests::deser_duration_millis::SimpleDuration as core::cmp::PartialEq>::eq
Line
Count
Source
225
4
        #[derive(Debug, PartialEq, Eq, Deserialize)]
Unexecuted instantiation: <<obws::de::tests::deser_duration_millis::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<serde_test::de::DeserializerSeqVisitor>
Unexecuted instantiation: <<<obws::de::tests::deser_duration_millis::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde::de::value::SeqAccessDeserializer<serde_test::de::DeserializerSeqVisitor>>
Unexecuted instantiation: <<obws::de::tests::deser_duration_millis::SimpleDuration as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::de::value::U32Deserializer<serde_test::error::Error>>
<<obws::de::tests::deser_duration_millis::SimpleDuration as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_test::de::Deserializer>
Line
Count
Source
225
5
        #[derive(Debug, PartialEq, Eq, Deserialize)]
Unexecuted instantiation: <<obws::de::tests::deser_duration_millis::SimpleDuration as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_test::error::Error>
Unexecuted instantiation: <<<obws::de::tests::deser_duration_millis::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<&mut serde_test::de::Deserializer>
Unexecuted instantiation: <<<obws::de::tests::deser_duration_millis::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde::de::value::MapAccessDeserializer<serde_test::de::DeserializerMapVisitor>>
Unexecuted instantiation: <<obws::de::tests::deser_duration_millis::SimpleDuration as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::de::tests::deser_duration_millis::SimpleDuration as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::de::value::StrDeserializer<serde_test::error::Error>>
Unexecuted instantiation: <<obws::de::tests::deser_duration_millis::SimpleDuration as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_test::error::Error>
Unexecuted instantiation: <<obws::de::tests::deser_duration_millis::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<serde_test::de::DeserializerSeqVisitor>::{closure#0}
<obws::de::tests::deser_duration_millis::SimpleDuration as serde::de::Deserialize>::deserialize::<&mut serde_test::de::Deserializer>
Line
Count
Source
225
5
        #[derive(Debug, PartialEq, Eq, Deserialize)]
<<obws::de::tests::deser_duration_millis::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<serde_test::de::DeserializerMapVisitor>
Line
Count
Source
225
10
        #[derive(Debug, PartialEq, Eq, 
D5
eserialize)]
<<obws::de::tests::deser_duration_millis::SimpleDuration as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_test::error::Error>
Line
Count
Source
225
5
        #[derive(Debug, PartialEq, Eq, Deserialize)]
Unexecuted instantiation: <<obws::de::tests::deser_duration_millis::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::de::tests::deser_duration_millis::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<serde_test::de::EnumMapVisitor>
Unexecuted instantiation: <<obws::de::tests::deser_duration_millis::SimpleDuration as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_test::de::BytesDeserializer>
<<<obws::de::tests::deser_duration_millis::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<&mut serde_test::de::Deserializer>
Line
Count
Source
225
5
        #[derive(Debug, PartialEq, Eq, Deserialize)]
226
1
        struct SimpleDuration {
227
1
            #[serde(deserialize_with = "duration_millis")]
228
1
            value: Duration,
229
1
        }
230
1
231
1
        assert_de_tokens(
232
1
            &SimpleDuration {
233
1
                value: Duration::milliseconds(150),
234
1
            },
235
1
            &[
236
1
                Token::Struct {
237
1
                    name: "SimpleDuration",
238
1
                    len: 1,
239
1
                },
240
1
                Token::Str("value"),
241
1
                Token::I64(150),
242
1
                Token::StructEnd,
243
1
            ],
244
1
        );
245
1
246
1
        assert_de_tokens(
247
1
            &SimpleDuration {
248
1
                value: Duration::milliseconds(150),
249
1
            },
250
1
            &[
251
1
                Token::Struct {
252
1
                    name: "SimpleDuration",
253
1
                    len: 1,
254
1
                },
255
1
                Token::Str("value"),
256
1
                Token::U64(150),
257
1
                Token::StructEnd,
258
1
            ],
259
1
        );
260
1
261
1
        assert_de_tokens_error::<SimpleDuration>(
262
1
            &[
263
1
                Token::Struct {
264
1
                    name: "SimpleDuration",
265
1
                    len: 1,
266
1
                },
267
1
                Token::Str("value"),
268
1
                Token::U64(u64::MAX),
269
1
                Token::StructEnd,
270
1
            ],
271
1
            "value is too large for an i64: \
272
1
            out of range integral type conversion attempted",
273
1
        );
274
1
    }
275
276
1
    #[test]
277
1
    fn deser_duration_millis_opt() {
278
17
        #[derive(
Debug0
,
PartialEq4
, Eq,
D13
ese
rializ0
e)]
Unexecuted instantiation: <obws::de::tests::deser_duration_millis_opt::SimpleDuration as core::cmp::PartialEq>::ne
<obws::de::tests::deser_duration_millis_opt::SimpleDuration as core::cmp::PartialEq>::eq
Line
Count
Source
278
4
        #[derive(Debug, PartialEq, Eq, Deserialize)]
Unexecuted instantiation: <<obws::de::tests::deser_duration_millis_opt::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<serde_test::de::EnumMapVisitor>
Unexecuted instantiation: <<<obws::de::tests::deser_duration_millis_opt::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde::de::value::MapAccessDeserializer<serde_test::de::DeserializerMapVisitor>>
<obws::de::tests::deser_duration_millis_opt::SimpleDuration as serde::de::Deserialize>::deserialize::<&mut serde_test::de::Deserializer>
Line
Count
Source
278
5
        #[derive(Debug, PartialEq, Eq, Deserialize)]
Unexecuted instantiation: <<obws::de::tests::deser_duration_millis_opt::SimpleDuration as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::de::value::U32Deserializer<serde_test::error::Error>>
Unexecuted instantiation: <<obws::de::tests::deser_duration_millis_opt::SimpleDuration as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::de::value::StrDeserializer<serde_test::error::Error>>
Unexecuted instantiation: <<obws::de::tests::deser_duration_millis_opt::SimpleDuration as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_test::error::Error>
<<obws::de::tests::deser_duration_millis_opt::SimpleDuration as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_test::de::Deserializer>
Line
Count
Source
278
4
        #[derive(Debug, PartialEq, Eq, Deserialize)]
Unexecuted instantiation: <<obws::de::tests::deser_duration_millis_opt::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<serde_test::de::DeserializerSeqVisitor>
Unexecuted instantiation: <<obws::de::tests::deser_duration_millis_opt::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<serde_test::de::DeserializerSeqVisitor>::{closure#0}
Unexecuted instantiation: <<obws::de::tests::deser_duration_millis_opt::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::de::tests::deser_duration_millis_opt::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<&mut serde_test::de::Deserializer>
Unexecuted instantiation: <<obws::de::tests::deser_duration_millis_opt::SimpleDuration as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_test::de::BytesDeserializer>
Unexecuted instantiation: <<obws::de::tests::deser_duration_millis_opt::SimpleDuration as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_test::error::Error>
<<<obws::de::tests::deser_duration_millis_opt::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<&mut serde_test::de::Deserializer>
Line
Count
Source
278
4
        #[derive(Debug, PartialEq, Eq, Deserialize)]
Unexecuted instantiation: <<<obws::de::tests::deser_duration_millis_opt::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde::de::value::SeqAccessDeserializer<serde_test::de::DeserializerSeqVisitor>>
Unexecuted instantiation: <<obws::de::tests::deser_duration_millis_opt::SimpleDuration as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
<<obws::de::tests::deser_duration_millis_opt::SimpleDuration as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_test::error::Error>
Line
Count
Source
278
4
        #[derive(Debug, PartialEq, Eq, Deserialize)]
<<obws::de::tests::deser_duration_millis_opt::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<serde_test::de::DeserializerMapVisitor>
Line
Count
Source
278
9
        #[derive(Debug, PartialEq, Eq, 
D5
eserialize)]
279
1
        struct SimpleDuration {
280
1
            #[serde(deserialize_with = "duration_millis_opt")]
281
1
            value: Option<Duration>,
282
1
        }
283
1
284
1
        assert_de_tokens(
285
1
            &SimpleDuration { value: None },
286
1
            &[
287
1
                Token::Struct {
288
1
                    name: "SimpleDuration",
289
1
                    len: 1,
290
1
                },
291
1
                Token::Str("value"),
292
1
                Token::None,
293
1
                Token::StructEnd,
294
1
            ],
295
1
        );
296
1
297
1
        assert_de_tokens(
298
1
            &SimpleDuration {
299
1
                value: Some(Duration::milliseconds(150)),
300
1
            },
301
1
            &[
302
1
                Token::Struct {
303
1
                    name: "SimpleDuration",
304
1
                    len: 1,
305
1
                },
306
1
                Token::Str("value"),
307
1
                Token::Some,
308
1
                Token::I64(150),
309
1
                Token::StructEnd,
310
1
            ],
311
1
        );
312
1
313
1
        assert_de_tokens_error::<SimpleDuration>(
314
1
            &[
315
1
                Token::Struct {
316
1
                    name: "SimpleDuration",
317
1
                    len: 0,
318
1
                },
319
1
                Token::StructEnd,
320
1
            ],
321
1
            "missing field `value`",
322
1
        );
323
1
    }
324
}
\ No newline at end of file diff --git a/coverage/src/events.rs.html b/coverage/src/events.rs.html index bd31949..996e9d3 100644 --- a/coverage/src/events.rs.html +++ b/coverage/src/events.rs.html @@ -1 +1 @@ -

Coverage Report

Created: 2022-05-25 22:28

src/events.rs
Line
Count
Source (jump to first uncovered line)
1
//! All events that can be received from the API.
2
3
use std::{collections::BTreeMap, path::PathBuf};
4
5
use serde::Deserialize;
6
use time::Duration;
7
8
use crate::{
9
    common::{MediaAction, MonitorType},
10
    responses::{SceneItemTransform, SourceFilter},
11
};
12
13
/// All possible event types that can occur while the user interacts with OBS.
14
1.82k
#[derive(
C25
lon
e25
,
D0
ebu
g0
,
D897
ese
rializ304
e)]
<obws::events::Event as core::clone::Clone>::clone
Line
Count
Source
14
25
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <obws::events::Event as core::clone::Clone>::clone
Unexecuted instantiation: <obws::events::Event as core::clone::Clone>::clone
Unexecuted instantiation: <obws::events::Event as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::events::Event as core::fmt::Debug>::fmt
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
32
#[derive(Clone, Debug, 
D16
eserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
<<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
18
#[derive(Clone, Debug, Deserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
80
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
<<obws::events::Event as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
235
#[derive(Clone, Debug, Deserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
8
#[derive(Clone, Debug, 
Dese2
rializ2
e)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
2
#[derive(Clone, Debug, 
D1
eserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
40
#[derive(Clone, Debug, Deserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
4
#[derive(Clone, Debug, 
D2
eserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
4
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
6
#[derive(Clone, Debug, Deserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
8
#[derive(Clone, Debug, 
Dese2
rializ2
e)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
2
#[derive(Clone, Debug, Deserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
35
#[derive(Clone, Debug, 
Dese5
rializ5
e)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
2
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
4
#[derive(Clone, Debug, 
D2
eserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
4
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
36
#[derive(Clone, Debug, 
D12
eserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
4
#[derive(Clone, Debug, 
D2
eserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
20
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
8
#[derive(Clone, Debug, Deserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
24
#[derive(Clone, Debug, 
D8
eserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
4
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
72
#[derive(Clone, Debug, Deserialize)]
<<obws::events::Event as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
14
235
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
6
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
2
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
4
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
2
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
32
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
12
#[derive(Clone, Debug, 
D4
eserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
8
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
4
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
8
#[derive(Clone, Debug, Deserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
32
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
8
#[derive(Clone, Debug, 
D4
eserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
2
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
16
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
2
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
51
#[derive(Clone, Debug, Deserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
6
#[derive(Clone, Debug, Deserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
6
#[derive(Clone, Debug, Deserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
8
#[derive(Clone, Debug, 
Dese2
rializ2
e)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
2
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
90
#[derive(Clone, Debug, 
Dese18
rializ18
e)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
36
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
6
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
2
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
16
#[derive(Clone, Debug, Deserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
10
#[derive(Clone, Debug, Deserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
30
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
6
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
2
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
24
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
4
#[derive(Clone, Debug, 
D2
eserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
1
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
8
#[derive(Clone, Debug, 
D4
eserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
6
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
8
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
30
#[derive(Clone, Debug, Deserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
20
#[derive(Clone, Debug, Deserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
51
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
4
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
6
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
54
#[derive(Clone, Debug, 
D18
eserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
80
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
2
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
20
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
16
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
40
#[derive(Clone, Debug, Deserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
24
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
20
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::<serde_json::value::Value>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
1
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
2
#[derive(Clone, Debug, Deserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
4
#[derive(Clone, Debug, Deserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
4
#[derive(Clone, Debug, 
D2
eserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
4
#[derive(Clone, Debug, Deserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
4
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
4
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
14
235
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
96
#[derive(Clone, Debug, 
Dese16
rializ16
e)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
2
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
4
#[derive(Clone, Debug, Deserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
15
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
16
#[derive(Clone, Debug, 
D8
eserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
15
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
4
#[derive(Clone, Debug, Deserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
4
#[derive(Clone, Debug, 
D2
eserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
68
#[derive(Clone, Debug, 
Dese17
rializ17
e)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
8
#[derive(Clone, Debug, 
Dese2
rializ2
e)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
12
#[derive(Clone, Debug, 
D6
eserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
<obws::events::Event as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
14
235
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
72
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
16
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
36
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
2
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
10
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
6
#[derive(Clone, Debug, Deserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
4
#[derive(Clone, Debug, Deserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
2
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
6
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
20
#[derive(Clone, Debug, 
Dese5
rializ5
e)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
4
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <obws::events::Event as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::events::Event as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
15
#[serde(tag = "eventType", content = "eventData")]
16
pub enum Event {
17
    // --------------------------------
18
    // Config
19
    // --------------------------------
20
    /// The current scene collection has begun changing.
21
    ///
22
    /// **Note:** We recommend using this event to trigger a pause of all polling requests, as
23
    /// performing any requests during a scene collection change is considered undefined behavior
24
    /// and can cause crashes!
25
    #[serde(rename_all = "camelCase")]
26
    CurrentSceneCollectionChanging {
27
        /// Name of the current scene collection.
28
        scene_collection_name: String,
29
    },
30
    /// The current scene collection has changed.
31
    ///
32
    /// **Note:** If polling has been paused during [`CurrentSceneCollectionChanging`], this is the
33
    /// indicator to restart polling.
34
    ///
35
    /// [`CurrentSceneCollectionChanging`]: Event::CurrentSceneCollectionChanging
36
    #[serde(rename_all = "camelCase")]
37
    CurrentSceneCollectionChanged {
38
        /// Name of the new scene collection.
39
        scene_collection_name: String,
40
    },
41
    /// The scene collection list has changed.
42
    #[serde(rename_all = "camelCase")]
43
    SceneCollectionListChanged {
44
        /// Updated list of scene collections.
45
        scene_collections: Vec<String>,
46
    },
47
    /// The current profile has begun changing.
48
    #[serde(rename_all = "camelCase")]
49
    CurrentProfileChanging {
50
        /// Name of the current profile.
51
        profile_name: String,
52
    },
53
    /// The current profile has changed.
54
    #[serde(rename_all = "camelCase")]
55
    CurrentProfileChanged {
56
        /// Name of the new profile.
57
        profile_name: String,
58
    },
59
    /// The profile list has changed.
60
    #[serde(rename_all = "camelCase")]
61
    ProfileListChanged {
62
        /// Updated list of profiles.
63
        profiles: Vec<String>,
64
    },
65
    // --------------------------------
66
    // Filters
67
    // --------------------------------
68
    /// A filter has been added to a source.
69
    #[serde(rename_all = "camelCase")]
70
    SourceFilterCreated {
71
        /// Name of the source the filter was added to.
72
        source_name: String,
73
        /// Name of the filter.
74
        filter_name: String,
75
        /// The kind of the filter.
76
        filter_kind: String,
77
        /// Index position of the filter.
78
        filter_index: u32,
79
        /// The settings configured to the filter when it was created.
80
        filter_settings: serde_json::Value,
81
        /// The default settings for the filter.
82
        default_filter_settings: serde_json::Value,
83
    },
84
    /// A filter has been removed from a source.
85
    #[serde(rename_all = "camelCase")]
86
    SourceFilterRemoved {
87
        /// Name of the source the filter was on.
88
        source_name: String,
89
        /// Name of the filter.
90
        filter_name: String,
91
    },
92
    /// A source's filter list has been re-indexed.
93
    #[serde(rename_all = "camelCase")]
94
    SourceFilterListReindexed {
95
        /// Name of the source.
96
        source_name: String,
97
        /// Array of filter objects.
98
        filters: Vec<SourceFilter>,
99
    },
100
    /// A source filter's enable state has changed.
101
    #[serde(rename_all = "camelCase")]
102
    SourceFilterEnableStateChanged {
103
        /// Name of the source the filter is on.
104
        source_name: String,
105
        /// Name of the filter.
106
        filter_name: String,
107
        /// Whether the filter is enabled.
108
        filter_enabled: bool,
109
    },
110
    /// The name of a source filter has changed.
111
    #[serde(rename_all = "camelCase")]
112
    SourceFilterNameChanged {
113
        /// The source the filter is on.
114
        source_name: String,
115
        /// Old name of the filter.
116
        old_filter_name: String,
117
        /// New name of the filter.
118
        filter_name: String,
119
    },
120
    // --------------------------------
121
    // General
122
    // --------------------------------
123
    /// A custom event that was triggered by
124
    /// [`broadcast_custom_event`](crate::client::General::broadcast_custom_event).
125
    ///
126
    /// The content can be any valid JSON object.
127
    CustomEvent(serde_json::Value),
128
    /// OBS has begun the shutdown process.
129
    ExitStarted,
130
    /// An event has been emitted from a vendor.
131
    ///
132
    /// A vendor is a unique name registered by a third-party plugin or script, which allows for
133
    /// custom requests and events to be added to obs-websocket. If a plugin or script implements
134
    /// vendor requests or events, documentation is expected to be provided with them.
135
    #[serde(rename_all = "camelCase")]
136
    VendorEvent {
137
        /// Name of the vendor emitting the event.
138
        vendor_name: String,
139
        /// Vendor-provided event type definition.
140
        event_type: String,
141
        /// Vendor-provided event data. `{}` if event does not provide any data.
142
        event_data: serde_json::Value,
143
    },
144
    // --------------------------------
145
    // Inputs
146
    // --------------------------------
147
    /// An input has been created.
148
    #[serde(rename_all = "camelCase")]
149
    InputCreated {
150
        /// Name of the input.
151
        input_name: String,
152
        /// The kind of the input.
153
        input_kind: String,
154
        /// The unversioned kind of input (aka no `_v2` stuff).
155
        unversioned_input_kind: String,
156
        /// The settings configured to the input when it was created.
157
        input_settings: serde_json::Value,
158
        /// The default settings for the input.
159
        default_input_settings: serde_json::Value,
160
    },
161
    /// An input has been removed.
162
    #[serde(rename_all = "camelCase")]
163
    InputRemoved {
164
        /// Name of the input.
165
        input_name: String,
166
    },
167
    /// The name of an input has changed.
168
    #[serde(rename_all = "camelCase")]
169
    InputNameChanged {
170
        /// Old name of the input.
171
        old_input_name: String,
172
        /// New name of the input.
173
        input_name: String,
174
    },
175
    /// An input's active state has changed.
176
    ///
177
    /// When an input is active, it means it's being shown by the program feed.
178
    #[serde(rename_all = "camelCase")]
179
    InputActiveStateChanged {
180
        /// Name of the input.
181
        input_name: String,
182
        /// Whether the input is active.
183
        video_active: bool,
184
    },
185
    /// An input's show state has changed.
186
    ///
187
    /// When an input is showing, it means it's being shown by the preview or a dialog.
188
    #[serde(rename_all = "camelCase")]
189
    InputShowStateChanged {
190
        /// Name of the input.
191
        input_name: String,
192
        /// Whether the input is showing.
193
        video_showing: bool,
194
    },
195
    /// An input's mute state has changed.
196
    #[serde(rename_all = "camelCase")]
197
    InputMuteStateChanged {
198
        /// Name of the input.
199
        input_name: String,
200
        /// Whether the input is muted.
201
        input_muted: bool,
202
    },
203
    /// An input's volume level has changed.
204
    #[serde(rename_all = "camelCase")]
205
    InputVolumeChanged {
206
        /// Name of the input.
207
        input_name: String,
208
        /// New volume level in `multimap`.
209
        input_volume_mul: f64,
210
        /// New volume level in `dB`.
211
        input_volume_db: f64,
212
    },
213
    /// The audio balance value of an input has changed.
214
    #[serde(rename_all = "camelCase")]
215
    InputAudioBalanceChanged {
216
        /// Name of the affected input.
217
        input_name: String,
218
        /// New audio balance value of the input.
219
        input_audio_balance: f64,
220
    },
221
    /// The sync offset of an input has changed.
222
    #[serde(rename_all = "camelCase")]
223
    InputAudioSyncOffsetChanged {
224
        /// Name of the input.
225
        input_name: String,
226
        /// New sync offset in milliseconds.
227
        #[serde(deserialize_with = "crate::de::duration_millis")]
228
        input_audio_sync_offset: Duration,
229
    },
230
    /// The audio tracks of an input have changed.
231
    #[serde(rename_all = "camelCase")]
232
    InputAudioTracksChanged {
233
        /// Name of the input.
234
        input_name: String,
235
        /// Object of audio tracks along with their associated enable states.
236
        input_audio_tracks: BTreeMap<String, bool>,
237
    },
238
    /// The monitor type of an input has changed.
239
    #[serde(rename_all = "camelCase")]
240
    InputAudioMonitorTypeChanged {
241
        /// Name of the input.
242
        input_name: String,
243
        /// New monitor type of the input.
244
        monitor_type: MonitorType,
245
    },
246
    /// A high-volume event providing volume levels of all active inputs every 50 milliseconds.
247
    #[serde(rename_all = "camelCase")]
248
    InputVolumeMeters {
249
        /// Array of active inputs with their associated volume levels.
250
        inputs: Vec<InputVolumeMeter>,
251
    },
252
    // --------------------------------
253
    // Media Inputs
254
    // --------------------------------
255
    /// A media input has started playing.
256
    #[serde(rename_all = "camelCase")]
257
    MediaInputPlaybackStarted {
258
        /// Name of the input.
259
        input_name: String,
260
    },
261
    /// A media input has finished playing.
262
    #[serde(rename_all = "camelCase")]
263
    MediaInputPlaybackEnded {
264
        /// Name of the input.
265
        input_name: String,
266
    },
267
    /// An action has been performed on an input.
268
    #[serde(rename_all = "camelCase")]
269
    MediaInputActionTriggered {
270
        /// Name of the input.
271
        input_name: String,
272
        /// Action performed on the input.
273
        media_action: MediaAction,
274
    },
275
    // --------------------------------
276
    // Outputs
277
    // --------------------------------
278
    /// The state of the stream output has changed.
279
    #[serde(rename_all = "camelCase")]
280
    StreamStateChanged {
281
        /// Whether the output is active.
282
        output_active: bool,
283
        /// The specific state of the output.
284
        output_state: OutputState,
285
    },
286
    /// The state of the record output has changed.
287
    #[serde(rename_all = "camelCase")]
288
    RecordStateChanged {
289
        /// Whether the output is active.
290
        output_active: bool,
291
        /// The specific state of the output.
292
        output_state: OutputState,
293
    },
294
    /// The state of the replay buffer output has changed.
295
    #[serde(rename_all = "camelCase")]
296
    ReplayBufferStateChanged {
297
        /// Whether the output is active.
298
        output_active: bool,
299
        /// The specific state of the output.
300
        output_state: OutputState,
301
    },
302
    /// The state of the virtual cam output has changed.
303
    #[serde(rename_all = "camelCase")]
304
    VirtualcamStateChanged {
305
        /// Whether the output is active.
306
        output_active: bool,
307
        /// The specific state of the output.
308
        output_state: OutputState,
309
    },
310
    /// The replay buffer has been saved.
311
    #[serde(rename_all = "camelCase")]
312
    ReplayBufferSaved {
313
        /// Path of the saved replay file.
314
        saved_replay_path: PathBuf,
315
    },
316
    // --------------------------------
317
    // Scene Items
318
    // --------------------------------
319
    /// A scene item has been created.
320
    #[serde(rename_all = "camelCase")]
321
    SceneItemCreated {
322
        /// Name of the scene the item was added to.
323
        scene_name: String,
324
        /// Name of the underlying source (input/scene).
325
        source_name: String,
326
        /// Numeric ID of the scene item.
327
        scene_item_id: u64,
328
        /// Index position of the item.
329
        scene_item_index: u32,
330
    },
331
    /// A scene item has been removed.
332
    ///
333
    /// This event is not emitted when the scene the item is in is removed.
334
    #[serde(rename_all = "camelCase")]
335
    SceneItemRemoved {
336
        /// Name of the scene the item was removed from.
337
        scene_name: String,
338
        /// Name of the underlying source (input/scene).
339
        source_name: String,
340
        /// Numeric ID of the scene item.
341
        scene_item_id: u64,
342
    },
343
    /// A scene's item list has been re-indexed.
344
    #[serde(rename_all = "camelCase")]
345
    SceneItemListReindexed {
346
        /// Name of the scene.
347
        scene_name: String,
348
        /// Array of scene item objects.
349
        scene_items: Vec<BasicSceneItem>,
350
    },
351
    /// A scene item's enable state has changed.
352
    #[serde(rename_all = "camelCase")]
353
    SceneItemEnableStateChanged {
354
        /// Name of the scene the item is in.
355
        scene_name: String,
356
        /// Numeric ID of the scene item.
357
        scene_item_id: u64,
358
        /// Whether the scene item is enabled (visible).
359
        scene_item_enabled: bool,
360
    },
361
    /// A scene item's lock state has changed.
362
    #[serde(rename_all = "camelCase")]
363
    SceneItemLockStateChanged {
364
        /// Name of the scene the item is in.
365
        scene_name: String,
366
        /// Numeric ID of the scene item.
367
        scene_item_id: u64,
368
        /// Whether the scene item is locked.
369
        scene_item_locked: bool,
370
    },
371
    /// A scene item has been selected in the UI.
372
    #[serde(rename_all = "camelCase")]
373
    SceneItemSelected {
374
        /// Name of the scene the item is in.
375
        scene_name: String,
376
        /// Numeric ID of the scene item.
377
        scene_item_id: u64,
378
    },
379
    /// The transform/crop of a scene item has changed.
380
    #[serde(rename_all = "camelCase")]
381
    SceneItemTransformChanged {
382
        /// The name of the scene the item is in.
383
        scene_name: String,
384
        /// Numeric ID of the scene item.
385
        scene_item_id: u64,
386
        /// New transform/crop info of the scene item.
387
        scene_item_transform: SceneItemTransform,
388
    },
389
    // --------------------------------
390
    // Scenes
391
    // --------------------------------
392
    /// A new scene has been created.
393
    #[serde(rename_all = "camelCase")]
394
    SceneCreated {
395
        /// Name of the new scene.
396
        scene_name: String,
397
        /// Whether the new scene is a group.
398
        is_group: bool,
399
    },
400
    /// A scene has been removed.
401
    #[serde(rename_all = "camelCase")]
402
    SceneRemoved {
403
        /// Name of the removed scene.
404
        scene_name: String,
405
        /// Whether the scene was a group.
406
        is_group: bool,
407
    },
408
    /// The name of a scene has changed.
409
    #[serde(rename_all = "camelCase")]
410
    SceneNameChanged {
411
        /// Old name of the scene.
412
        old_scene_name: String,
413
        /// New name of the scene.
414
        scene_name: String,
415
    },
416
    /// The current program scene has changed.
417
    #[serde(rename_all = "camelCase")]
418
    CurrentProgramSceneChanged {
419
        /// Name of the scene that was switched to.
420
        scene_name: String,
421
    },
422
    /// The current preview scene has changed.
423
    #[serde(rename_all = "camelCase")]
424
    CurrentPreviewSceneChanged {
425
        /// Name of the scene that was switched to.
426
        scene_name: String,
427
    },
428
    /// The list of scenes has changed.
429
    #[serde(rename_all = "camelCase")]
430
    SceneListChanged {
431
        /// Updated array of scenes.
432
        scenes: Vec<Scene>,
433
    },
434
    // --------------------------------
435
    // Transitions
436
    // --------------------------------
437
    /// The current scene transition has changed.
438
    #[serde(rename_all = "camelCase")]
439
    CurrentSceneTransitionChanged {
440
        /// Name of the new transition.
441
        transition_name: String,
442
    },
443
    /// The current scene transition duration has changed.
444
    #[serde(rename_all = "camelCase")]
445
    CurrentSceneTransitionDurationChanged {
446
        /// Transition duration in milliseconds.
447
        #[serde(deserialize_with = "crate::de::duration_millis")]
448
        transition_duration: Duration,
449
    },
450
    /// A scene transition has started.
451
    #[serde(rename_all = "camelCase")]
452
    SceneTransitionStarted {
453
        /// Scene transition name.
454
        transition_name: String,
455
    },
456
    /// A scene transition has completed fully.
457
    ///
458
    /// **Note:** Does not appear to trigger when the transition is interrupted by the user.
459
    #[serde(rename_all = "camelCase")]
460
    SceneTransitionEnded {
461
        /// Scene transition name.
462
        transition_name: String,
463
    },
464
    /// A scene transition's video has completed fully.
465
    ///
466
    /// Useful for stinger transitions to tell when the video *actually* ends.
467
    /// [`Self::SceneTransitionEnded`] only signifies the cut point, not the completion of
468
    /// transition playback.
469
    ///
470
    /// **Note:** Appears to be called by every transition, regardless of relevance.
471
    #[serde(rename_all = "camelCase")]
472
    SceneTransitionVideoEnded {
473
        /// Scene transition name.
474
        transition_name: String,
475
    },
476
    // --------------------------------
477
    // UI
478
    // --------------------------------
479
    /// Studio mode has been enabled or disabled.
480
    #[serde(rename_all = "camelCase")]
481
    StudioModeStateChanged {
482
        /// Whether the studio mode is enabled.
483
        studio_mode_enabled: bool,
484
    },
485
    // --------------------------------
486
    // Custom
487
    // --------------------------------
488
    /// Web-socket server is stopping.
489
    ServerStopping,
490
    /// Web-socket server has stopped.
491
    ServerStopped,
492
    /// Fallback value for any unknown event type.
493
    #[serde(other)]
494
    Unknown,
495
}
496
497
/// Volume meter information for a single input, describing the current volume level.
498
0
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <obws::events::InputVolumeMeter as core::clone::Clone>::clone
Unexecuted instantiation: <obws::events::InputVolumeMeter as core::clone::Clone>::clone
Unexecuted instantiation: <obws::events::InputVolumeMeter as core::clone::Clone>::clone
Unexecuted instantiation: <obws::events::InputVolumeMeter as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::events::InputVolumeMeter as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error>>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
499
#[serde(rename_all = "camelCase")]
500
pub struct InputVolumeMeter {
501
    /// Name of this input.
502
    pub input_name: String,
503
    /// List of volume levels, in Mul.
504
    pub input_levels_mul: Vec<[f32; 3]>,
505
}
506
507
/// The output state describes the current status of any output (like recording, virtual-cam, ...).
508
48
#[derive(
Clone24
, Copy,
D0
ebu
g0
, Deserialize)]
<obws::events::OutputState as core::clone::Clone>::clone
Line
Count
Source
508
24
#[derive(Clone, Copy, Debug, Deserialize)]
Unexecuted instantiation: <obws::events::OutputState as core::clone::Clone>::clone
Unexecuted instantiation: <obws::events::OutputState as core::clone::Clone>::clone
Unexecuted instantiation: <obws::events::OutputState as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::events::OutputState as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::events::OutputState as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::de::value::StringDeserializer<serde_json::error::Error>>
<<obws::events::OutputState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
508
24
#[derive(Clone, Copy, Debug, Deserialize)]
Unexecuted instantiation: <obws::events::OutputState as serde::de::Deserialize>::deserialize::<serde::__private::de::missing_field::MissingFieldDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<obws::events::OutputState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <obws::events::OutputState as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
<<obws::events::OutputState as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<serde::__private::de::content::EnumDeserializer<serde_json::error::Error>>
Line
Count
Source
508
24
#[derive(Clone, Copy, Debug, Deserialize)]
Unexecuted instantiation: <<obws::events::OutputState as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<serde_json::value::de::EnumDeserializer>
<obws::events::OutputState as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
508
24
#[derive(Clone, Copy, Debug, Deserialize)]
Unexecuted instantiation: <<obws::events::OutputState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
<<obws::events::OutputState as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
508
24
#[derive(Clone, Copy, Debug, Deserialize)]
Unexecuted instantiation: <<obws::events::OutputState as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_>
Unexecuted instantiation: <<obws::events::OutputState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::events::OutputState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::events::OutputState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::events::OutputState as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::OutputState as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::OutputState as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::events::OutputState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::events::OutputState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::events::OutputState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::events::OutputState as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::OutputState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::events::OutputState as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::OutputState as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::events::OutputState as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_>
Unexecuted instantiation: <<obws::events::OutputState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
509
pub enum OutputState {
510
    /// A request to start the output has been issued.
511
    #[serde(rename = "OBS_WEBSOCKET_OUTPUT_STARTING")]
512
    Starting,
513
    /// Output started successfully.
514
    #[serde(rename = "OBS_WEBSOCKET_OUTPUT_STARTED")]
515
    Started,
516
    /// A request to stop the output has been issued.
517
    #[serde(rename = "OBS_WEBSOCKET_OUTPUT_STOPPING")]
518
    Stopping,
519
    /// Output stopped successfully.
520
    #[serde(rename = "OBS_WEBSOCKET_OUTPUT_STOPPED")]
521
    Stopped,
522
    /// Current output paused.
523
    #[serde(rename = "OBS_WEBSOCKET_OUTPUT_PAUSED")]
524
    Paused,
525
    /// Current output resumed.
526
    #[serde(rename = "OBS_WEBSOCKET_OUTPUT_RESUMED")]
527
    Resumed,
528
    /// Fallback for any unknown event type.
529
    #[serde(other)]
530
    Unknown,
531
}
532
533
/// A basic scene item, only describing identifier and position.
534
50
#[derive(
Clone0
,
Debug0
,
D30
eserialize)]
Unexecuted instantiation: <obws::events::BasicSceneItem as core::clone::Clone>::clone
Unexecuted instantiation: <obws::events::BasicSceneItem as core::clone::Clone>::clone
Unexecuted instantiation: <obws::events::BasicSceneItem as core::clone::Clone>::clone
Unexecuted instantiation: <obws::events::BasicSceneItem as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::events::BasicSceneItem as core::fmt::Debug>::fmt
<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
534
10
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error>>
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
<<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
534
30
#[derive(Clone, Debug, 
D10
eserialize)]
Unexecuted instantiation: <obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
<<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
534
20
#[derive(Clone, Debug, Deserialize)]
<<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
534
20
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
535
#[serde(rename_all = "camelCase")]
536
pub struct BasicSceneItem {
537
    /// Identifier of this scene item.
538
    pub scene_item_id: u64,
539
    /// Positional index within the owning scene.
540
    pub scene_item_index: u32,
541
}
542
543
/// The scene describes basic details about a single scene setup in OBS.
544
25
#[derive(
Clone0
,
Debug0
,
D10
ese
rializ0
e)]
Unexecuted instantiation: <obws::events::Scene as core::clone::Clone>::clone
Unexecuted instantiation: <obws::events::Scene as core::clone::Clone>::clone
Unexecuted instantiation: <obws::events::Scene as core::clone::Clone>::clone
Unexecuted instantiation: <obws::events::Scene as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::events::Scene as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::events::Scene as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
<<obws::events::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
544
10
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<<obws::events::Scene as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
544
10
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error>>
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<obws::events::Scene as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
<obws::events::Scene as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
544
5
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::events::Scene as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::events::Scene as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
545
#[serde(rename_all = "camelCase")]
546
pub struct Scene {
547
    /// Name of this scene.
548
    pub scene_name: String,
549
    /// Positional index in the scene list.
550
    pub scene_index: usize,
551
}
\ No newline at end of file +

Coverage Report

Created: 2022-07-04 16:17

src/events.rs
Line
Count
Source (jump to first uncovered line)
1
//! All events that can be received from the API.
2
3
use std::{collections::BTreeMap, path::PathBuf};
4
5
use serde::Deserialize;
6
use time::Duration;
7
8
use crate::{
9
    common::{MediaAction, MonitorType},
10
    responses::{filters::SourceFilter, scene_items::SceneItemTransform},
11
};
12
13
/// All possible event types that can occur while the user interacts with OBS.
14
1.89k
#[derive(
C31
lon
e31
,
D242
ebu
g242
,
D922
ese
rializ323
e)]
<obws::events::Event as core::clone::Clone>::clone
Line
Count
Source
14
31
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <obws::events::Event as core::clone::Clone>::clone
Unexecuted instantiation: <obws::events::Event as core::clone::Clone>::clone
<obws::events::Event as core::fmt::Debug>::fmt
Line
Count
Source
14
242
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <obws::events::Event as core::fmt::Debug>::fmt
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
1
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
68
#[derive(Clone, Debug, 
Dese17
rializ17
e)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
1
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
30
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
40
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
51
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
4
#[derive(Clone, Debug, 
D2
eserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
4
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
3
#[derive(Clone, Debug, Deserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
2
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
6
#[derive(Clone, Debug, Deserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
2
#[derive(Clone, Debug, Deserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
6
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
8
#[derive(Clone, Debug, 
Dese2
rializ2
e)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
6
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
20
#[derive(Clone, Debug, 
Dese5
rializ5
e)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
15
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
2
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
4
#[derive(Clone, Debug, 
D2
eserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
20
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
90
#[derive(Clone, Debug, 
Dese18
rializ18
e)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
8
#[derive(Clone, Debug, Deserialize)]
<<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
18
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
6
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
2
#[derive(Clone, Debug, 
D1
eserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
4
#[derive(Clone, Debug, Deserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
2
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
30
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
4
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
35
#[derive(Clone, Debug, 
Dese5
rializ5
e)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
6
#[derive(Clone, Debug, 
D3
eserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
15
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
10
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
4
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
4
#[derive(Clone, Debug, Deserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
8
#[derive(Clone, Debug, 
D4
eserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
2
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
24
#[derive(Clone, Debug, 
D8
eserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
6
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
80
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
72
#[derive(Clone, Debug, Deserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
4
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
4
#[derive(Clone, Debug, 
D2
eserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
10
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
6
#[derive(Clone, Debug, Deserialize)]
<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
14
242
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
48
#[derive(Clone, Debug, 
Dese12
rializ12
e)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
4
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
96
#[derive(Clone, Debug, 
Dese16
rializ16
e)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
2
#[derive(Clone, Debug, Deserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
6
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
16
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
4
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
36
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
24
#[derive(Clone, Debug, 
D8
eserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
2
#[derive(Clone, Debug, 
D1
eserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
2
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::<serde_json::value::Value>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
4
#[derive(Clone, Debug, Deserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
36
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
1
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
4
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
1
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
36
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
4
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
20
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
2
#[derive(Clone, Debug, 
D1
eserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
16
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
54
#[derive(Clone, Debug, 
D18
eserialize)]
<obws::events::Event as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
14
242
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
8
#[derive(Clone, Debug, 
Dese2
rializ2
e)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
72
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
2
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
<<obws::events::Event as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
14
242
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
<<obws::events::Event as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
242
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
4
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
8
#[derive(Clone, Debug, 
Dese2
rializ2
e)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
1
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
16
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
2
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
8
#[derive(Clone, Debug, 
Dese2
rializ2
e)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
2
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
8
#[derive(Clone, Debug, 
D4
eserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
2
#[derive(Clone, Debug, Deserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
12
#[derive(Clone, Debug, 
D6
eserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
6
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
16
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
32
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
16
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
36
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
32
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
2
#[derive(Clone, Debug, Deserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
32
#[derive(Clone, Debug, 
D16
eserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
1
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
4
#[derive(Clone, Debug, 
D2
eserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
6
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
16
#[derive(Clone, Debug, 
D8
eserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
14
4
#[derive(Clone, Debug, 
D2
eserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
20
#[derive(Clone, Debug, Deserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
6
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
80
#[derive(Clone, Debug, Deserialize)]
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
3
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
8
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
4
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
14
40
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
20
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
16
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
51
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
4
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <obws::events::Event as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::events::Event as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::events::Event as serde::de::Deserialize>::deserialize::__Seed as serde::de::DeserializeSeed>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
15
#[serde(tag = "eventType", content = "eventData")]
16
pub enum Event {
17
    // --------------------------------
18
    // Config
19
    // --------------------------------
20
    /// The current scene collection has begun changing.
21
    ///
22
    /// **Note:** We recommend using this event to trigger a pause of all polling requests, as
23
    /// performing any requests during a scene collection change is considered undefined behavior
24
    /// and can cause crashes!
25
    CurrentSceneCollectionChanging {
26
        /// Name of the current scene collection.
27
        #[serde(rename = "sceneCollectionName")]
28
        name: String,
29
    },
30
    /// The current scene collection has changed.
31
    ///
32
    /// **Note:** If polling has been paused during [`CurrentSceneCollectionChanging`], this is the
33
    /// indicator to restart polling.
34
    ///
35
    /// [`CurrentSceneCollectionChanging`]: Event::CurrentSceneCollectionChanging
36
    CurrentSceneCollectionChanged {
37
        /// Name of the new scene collection.
38
        #[serde(rename = "sceneCollectionName")]
39
        name: String,
40
    },
41
    /// The scene collection list has changed.
42
    SceneCollectionListChanged {
43
        /// Updated list of scene collections.
44
        #[serde(rename = "sceneCollections")]
45
        collections: Vec<String>,
46
    },
47
    /// The current profile has begun changing.
48
    CurrentProfileChanging {
49
        /// Name of the current profile.
50
        #[serde(rename = "profileName")]
51
        name: String,
52
    },
53
    /// The current profile has changed.
54
    CurrentProfileChanged {
55
        /// Name of the new profile.
56
        #[serde(rename = "profileName")]
57
        name: String,
58
    },
59
    /// The profile list has changed.
60
    ProfileListChanged {
61
        /// Updated list of profiles.
62
        #[serde(rename = "profiles")]
63
        profiles: Vec<String>,
64
    },
65
    // --------------------------------
66
    // Filters
67
    // --------------------------------
68
    /// A filter has been added to a source.
69
    SourceFilterCreated {
70
        /// Name of the source the filter was added to.
71
        #[serde(rename = "sourceName")]
72
        source: String,
73
        /// Name of the filter.
74
        #[serde(rename = "filterName")]
75
        filter: String,
76
        /// The kind of the filter.
77
        #[serde(rename = "filterKind")]
78
        kind: String,
79
        /// Index position of the filter.
80
        #[serde(rename = "filterIndex")]
81
        index: u32,
82
        /// The settings configured to the filter when it was created.
83
        #[serde(rename = "filterSettings")]
84
        settings: serde_json::Value,
85
        /// The default settings for the filter.
86
        #[serde(rename = "defaultFilterSettings")]
87
        default_settings: serde_json::Value,
88
    },
89
    /// A filter has been removed from a source.
90
    SourceFilterRemoved {
91
        /// Name of the source the filter was on.
92
        #[serde(rename = "sourceName")]
93
        source: String,
94
        /// Name of the filter.
95
        #[serde(rename = "filterName")]
96
        filter: String,
97
    },
98
    /// A source's filter list has been re-indexed.
99
    SourceFilterListReindexed {
100
        /// Name of the source.
101
        #[serde(rename = "sourceName")]
102
        source: String,
103
        /// Array of filter objects.
104
        filters: Vec<SourceFilter>,
105
    },
106
    /// A source filter's enable state has changed.
107
    SourceFilterEnableStateChanged {
108
        /// Name of the source the filter is on.
109
        #[serde(rename = "sourceName")]
110
        source: String,
111
        /// Name of the filter.
112
        #[serde(rename = "filterName")]
113
        filter: String,
114
        /// Whether the filter is enabled.
115
        #[serde(rename = "filterEnabled")]
116
        enabled: bool,
117
    },
118
    /// The name of a source filter has changed.
119
    SourceFilterNameChanged {
120
        /// The source the filter is on.
121
        #[serde(rename = "sourceName")]
122
        source: String,
123
        /// Old name of the filter.
124
        #[serde(rename = "oldFilterName")]
125
        old_name: String,
126
        /// New name of the filter.
127
        #[serde(rename = "filterName")]
128
        new_name: String,
129
    },
130
    // --------------------------------
131
    // General
132
    // --------------------------------
133
    /// A custom event that was triggered by
134
    /// [`crate::client::General::broadcast_custom_event`].
135
    ///
136
    /// The content can be any valid JSON object.
137
    CustomEvent(serde_json::Value),
138
    /// OBS has begun the shutdown process.
139
    ExitStarted,
140
    /// An event has been emitted from a vendor.
141
    ///
142
    /// A vendor is a unique name registered by a third-party plugin or script, which allows for
143
    /// custom requests and events to be added to obs-websocket. If a plugin or script implements
144
    /// vendor requests or events, documentation is expected to be provided with them.
145
    VendorEvent {
146
        /// Name of the vendor emitting the event.
147
        #[serde(rename = "vendorName")]
148
        vendor_name: String,
149
        /// Vendor-provided event type definition.
150
        #[serde(rename = "eventType")]
151
        event_type: String,
152
        /// Vendor-provided event data. `{}` if event does not provide any data.
153
        #[serde(rename = "eventData")]
154
        event_data: serde_json::Value,
155
    },
156
    // --------------------------------
157
    // Inputs
158
    // --------------------------------
159
    /// An input has been created.
160
    InputCreated {
161
        /// Name of the input.
162
        #[serde(rename = "inputName")]
163
        name: String,
164
        /// The kind of the input.
165
        #[serde(rename = "inputKind")]
166
        kind: String,
167
        /// The unversioned kind of input (aka no `_v2` stuff).
168
        #[serde(rename = "unversionedInputKind")]
169
        unversioned_kind: String,
170
        /// The settings configured to the input when it was created.
171
        #[serde(rename = "inputSettings")]
172
        settings: serde_json::Value,
173
        /// The default settings for the input.
174
        #[serde(rename = "defaultInputSettings")]
175
        default_settings: serde_json::Value,
176
    },
177
    /// An input has been removed.
178
    InputRemoved {
179
        /// Name of the input.
180
        #[serde(rename = "inputName")]
181
        name: String,
182
    },
183
    /// The name of an input has changed.
184
    InputNameChanged {
185
        /// Old name of the input.
186
        #[serde(rename = "oldInputName")]
187
        old_name: String,
188
        /// New name of the input.
189
        #[serde(rename = "inputName")]
190
        new_name: String,
191
    },
192
    /// An input's active state has changed.
193
    ///
194
    /// When an input is active, it means it's being shown by the program feed.
195
    InputActiveStateChanged {
196
        /// Name of the input.
197
        #[serde(rename = "inputName")]
198
        name: String,
199
        /// Whether the input is active.
200
        #[serde(rename = "videoActive")]
201
        active: bool,
202
    },
203
    /// An input's show state has changed.
204
    ///
205
    /// When an input is showing, it means it's being shown by the preview or a dialog.
206
    InputShowStateChanged {
207
        /// Name of the input.
208
        #[serde(rename = "inputName")]
209
        name: String,
210
        /// Whether the input is showing.
211
        #[serde(rename = "videoShowing")]
212
        showing: bool,
213
    },
214
    /// An input's mute state has changed.
215
    InputMuteStateChanged {
216
        /// Name of the input.
217
        #[serde(rename = "inputName")]
218
        name: String,
219
        /// Whether the input is muted.
220
        #[serde(rename = "inputMuted")]
221
        muted: bool,
222
    },
223
    /// An input's volume level has changed.
224
    InputVolumeChanged {
225
        /// Name of the input.
226
        #[serde(rename = "inputName")]
227
        name: String,
228
        /// New volume level in `multimap`.
229
        #[serde(rename = "inputVolumeMul")]
230
        mul: f64,
231
        /// New volume level in `dB`.
232
        #[serde(rename = "inputVolumeDb")]
233
        db: f64,
234
    },
235
    /// The audio balance value of an input has changed.
236
    InputAudioBalanceChanged {
237
        /// Name of the affected input.
238
        #[serde(rename = "inputName")]
239
        name: String,
240
        /// New audio balance value of the input.
241
        #[serde(rename = "inputAudioBalance")]
242
        audio_balance: f64,
243
    },
244
    /// The sync offset of an input has changed.
245
    InputAudioSyncOffsetChanged {
246
        /// Name of the input.
247
        #[serde(rename = "inputName")]
248
        name: String,
249
        /// New sync offset in milliseconds.
250
        #[serde(
251
            rename = "inputAudioSyncOffset",
252
            with = "crate::serde::duration_millis"
253
        )]
254
        offset: Duration,
255
    },
256
    /// The audio tracks of an input have changed.
257
    InputAudioTracksChanged {
258
        /// Name of the input.
259
        #[serde(rename = "inputName")]
260
        name: String,
261
        /// Object of audio tracks along with their associated enable states.
262
        #[serde(rename = "inputAudioTracks")]
263
        tracks: BTreeMap<String, bool>,
264
    },
265
    /// The monitor type of an input has changed.
266
    InputAudioMonitorTypeChanged {
267
        /// Name of the input.
268
        #[serde(rename = "inputName")]
269
        name: String,
270
        /// New monitor type of the input.
271
        #[serde(rename = "monitorType")]
272
        monitor_type: MonitorType,
273
    },
274
    /// A high-volume event providing volume levels of all active inputs every 50 milliseconds.
275
    InputVolumeMeters {
276
        /// Array of active inputs with their associated volume levels.
277
        #[serde(rename = "inputs")]
278
        inputs: Vec<InputVolumeMeter>,
279
    },
280
    // --------------------------------
281
    // Media Inputs
282
    // --------------------------------
283
    /// A media input has started playing.
284
    MediaInputPlaybackStarted {
285
        /// Name of the input.
286
        #[serde(rename = "inputName")]
287
        name: String,
288
    },
289
    /// A media input has finished playing.
290
    MediaInputPlaybackEnded {
291
        /// Name of the input.
292
        #[serde(rename = "inputName")]
293
        name: String,
294
    },
295
    /// An action has been performed on an input.
296
    MediaInputActionTriggered {
297
        /// Name of the input.
298
        #[serde(rename = "inputName")]
299
        name: String,
300
        /// Action performed on the input.
301
        #[serde(rename = "mediaAction")]
302
        media_action: MediaAction,
303
    },
304
    // --------------------------------
305
    // Outputs
306
    // --------------------------------
307
    /// The state of the stream output has changed.
308
    StreamStateChanged {
309
        /// Whether the output is active.
310
        #[serde(rename = "outputActive")]
311
        active: bool,
312
        /// The specific state of the output.
313
        #[serde(rename = "outputState")]
314
        state: OutputState,
315
    },
316
    /// The state of the record output has changed.
317
    RecordStateChanged {
318
        /// Whether the output is active.
319
        #[serde(rename = "outputActive")]
320
        active: bool,
321
        /// The specific state of the output.
322
        #[serde(rename = "outputState")]
323
        state: OutputState,
324
        /// File name for the saved recording, if record stopped.
325
        #[serde(rename = "outputPath")]
326
        path: Option<String>,
327
    },
328
    /// The state of the replay buffer output has changed.
329
    ReplayBufferStateChanged {
330
        /// Whether the output is active.
331
        #[serde(rename = "outputActive")]
332
        active: bool,
333
        /// The specific state of the output.
334
        #[serde(rename = "outputState")]
335
        state: OutputState,
336
    },
337
    /// The state of the virtual cam output has changed.
338
    VirtualcamStateChanged {
339
        /// Whether the output is active.
340
        #[serde(rename = "outputActive")]
341
        active: bool,
342
        /// The specific state of the output.
343
        #[serde(rename = "outputState")]
344
        state: OutputState,
345
    },
346
    /// The replay buffer has been saved.
347
    ReplayBufferSaved {
348
        /// Path of the saved replay file.
349
        #[serde(rename = "savedReplayPath")]
350
        path: PathBuf,
351
    },
352
    // --------------------------------
353
    // Scene Items
354
    // --------------------------------
355
    /// A scene item has been created.
356
    SceneItemCreated {
357
        /// Name of the scene the item was added to.
358
        #[serde(rename = "sceneName")]
359
        scene: String,
360
        /// Name of the underlying source (input/scene).
361
        #[serde(rename = "sourceName")]
362
        source: String,
363
        /// Numeric ID of the scene item.
364
        #[serde(rename = "sceneItemId")]
365
        item_id: u64,
366
        /// Index position of the item.
367
        #[serde(rename = "sceneItemIndex")]
368
        index: u32,
369
    },
370
    /// A scene item has been removed.
371
    ///
372
    /// This event is not emitted when the scene the item is in is removed.
373
    SceneItemRemoved {
374
        /// Name of the scene the item was removed from.
375
        #[serde(rename = "sceneName")]
376
        scene: String,
377
        /// Name of the underlying source (input/scene).
378
        #[serde(rename = "sourceName")]
379
        source: String,
380
        /// Numeric ID of the scene item.
381
        #[serde(rename = "sceneItemId")]
382
        item_id: u64,
383
    },
384
    /// A scene's item list has been re-indexed.
385
    SceneItemListReindexed {
386
        /// Name of the scene.
387
        #[serde(rename = "sceneName")]
388
        scene: String,
389
        /// Array of scene item objects.
390
        #[serde(rename = "sceneItems")]
391
        items: Vec<BasicSceneItem>,
392
    },
393
    /// A scene item's enable state has changed.
394
    SceneItemEnableStateChanged {
395
        /// Name of the scene the item is in.
396
        #[serde(rename = "sceneName")]
397
        scene: String,
398
        /// Numeric ID of the scene item.
399
        #[serde(rename = "sceneItemId")]
400
        item_id: u64,
401
        /// Whether the scene item is enabled (visible).
402
        #[serde(rename = "sceneItemEnabled")]
403
        enabled: bool,
404
    },
405
    /// A scene item's lock state has changed.
406
    SceneItemLockStateChanged {
407
        /// Name of the scene the item is in.
408
        #[serde(rename = "sceneName")]
409
        scene: String,
410
        /// Numeric ID of the scene item.
411
        #[serde(rename = "sceneItemId")]
412
        item_id: u64,
413
        /// Whether the scene item is locked.
414
        #[serde(rename = "sceneItemLocked")]
415
        locked: bool,
416
    },
417
    /// A scene item has been selected in the UI.
418
    SceneItemSelected {
419
        /// Name of the scene the item is in.
420
        #[serde(rename = "sceneName")]
421
        scene: String,
422
        /// Numeric ID of the scene item.
423
        #[serde(rename = "sceneItemId")]
424
        item_id: u64,
425
    },
426
    /// The transform/crop of a scene item has changed.
427
    SceneItemTransformChanged {
428
        /// The name of the scene the item is in.
429
        #[serde(rename = "sceneName")]
430
        scene: String,
431
        /// Numeric ID of the scene item.
432
        #[serde(rename = "sceneItemId")]
433
        item_id: u64,
434
        /// New transform/crop info of the scene item.
435
        #[serde(rename = "sceneItemTransform")]
436
        transform: SceneItemTransform,
437
    },
438
    // --------------------------------
439
    // Scenes
440
    // --------------------------------
441
    /// A new scene has been created.
442
    SceneCreated {
443
        /// Name of the new scene.
444
        #[serde(rename = "sceneName")]
445
        name: String,
446
        /// Whether the new scene is a group.
447
        #[serde(rename = "isGroup")]
448
        is_group: bool,
449
    },
450
    /// A scene has been removed.
451
    SceneRemoved {
452
        /// Name of the removed scene.
453
        #[serde(rename = "sceneName")]
454
        name: String,
455
        /// Whether the scene was a group.
456
        #[serde(rename = "isGroup")]
457
        is_group: bool,
458
    },
459
    /// The name of a scene has changed.
460
    SceneNameChanged {
461
        /// Old name of the scene.
462
        #[serde(rename = "oldSceneName")]
463
        old_name: String,
464
        /// New name of the scene.
465
        #[serde(rename = "sceneName")]
466
        new_name: String,
467
    },
468
    /// The current program scene has changed.
469
    CurrentProgramSceneChanged {
470
        /// Name of the scene that was switched to.
471
        #[serde(rename = "sceneName")]
472
        name: String,
473
    },
474
    /// The current preview scene has changed.
475
    CurrentPreviewSceneChanged {
476
        /// Name of the scene that was switched to.
477
        #[serde(rename = "sceneName")]
478
        name: String,
479
    },
480
    /// The list of scenes has changed.
481
    SceneListChanged {
482
        /// Updated array of scenes.
483
        scenes: Vec<Scene>,
484
    },
485
    // --------------------------------
486
    // Transitions
487
    // --------------------------------
488
    /// The current scene transition has changed.
489
    CurrentSceneTransitionChanged {
490
        /// Name of the new transition.
491
        #[serde(rename = "transitionName")]
492
        name: String,
493
    },
494
    /// The current scene transition duration has changed.
495
    CurrentSceneTransitionDurationChanged {
496
        /// Transition duration in milliseconds.
497
        #[serde(rename = "transitionDuration", with = "crate::serde::duration_millis")]
498
        duration: Duration,
499
    },
500
    /// A scene transition has started.
501
    SceneTransitionStarted {
502
        /// Scene transition name.
503
        #[serde(rename = "transitionName")]
504
        name: String,
505
    },
506
    /// A scene transition has completed fully.
507
    ///
508
    /// **Note:** Does not appear to trigger when the transition is interrupted by the user.
509
    SceneTransitionEnded {
510
        /// Scene transition name.
511
        #[serde(rename = "transitionName")]
512
        name: String,
513
    },
514
    /// A scene transition's video has completed fully.
515
    ///
516
    /// Useful for stinger transitions to tell when the video *actually* ends.
517
    /// [`Self::SceneTransitionEnded`] only signifies the cut point, not the completion of
518
    /// transition playback.
519
    ///
520
    /// **Note:** Appears to be called by every transition, regardless of relevance.
521
    SceneTransitionVideoEnded {
522
        /// Scene transition name.
523
        #[serde(rename = "transitionName")]
524
        name: String,
525
    },
526
    // --------------------------------
527
    // UI
528
    // --------------------------------
529
    /// Studio mode has been enabled or disabled.
530
    StudioModeStateChanged {
531
        /// Whether the studio mode is enabled.
532
        #[serde(rename = "studioModeEnabled")]
533
        enabled: bool,
534
    },
535
    // --------------------------------
536
    // Custom
537
    // --------------------------------
538
    /// Web-socket server is stopping.
539
    ServerStopping,
540
    /// Web-socket server has stopped.
541
    ServerStopped,
542
    /// Fallback value for any unknown event type.
543
    #[serde(other)]
544
    Unknown,
545
}
546
547
/// Volume meter information for a single input, describing the current volume level.
548
0
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <obws::events::InputVolumeMeter as core::clone::Clone>::clone
Unexecuted instantiation: <obws::events::InputVolumeMeter as core::clone::Clone>::clone
Unexecuted instantiation: <obws::events::InputVolumeMeter as core::clone::Clone>::clone
Unexecuted instantiation: <obws::events::InputVolumeMeter as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::events::InputVolumeMeter as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error>>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::events::InputVolumeMeter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
549
pub struct InputVolumeMeter {
550
    /// Name of this input.
551
    #[serde(rename = "inputName")]
552
    pub name: String,
553
    /// List of volume levels, in **Mul**.
554
    #[serde(rename = "inputLevelsMul")]
555
    pub levels: Vec<[f32; 3]>,
556
}
557
558
/// The output state describes the current status of any output (like recording, virtual-cam, ...).
559
56
#[derive(
Clone28
, Copy,
D28
ebu
g28
, Deserialize)]
<obws::events::OutputState as core::clone::Clone>::clone
Line
Count
Source
559
28
#[derive(Clone, Copy, Debug, Deserialize)]
Unexecuted instantiation: <obws::events::OutputState as core::clone::Clone>::clone
Unexecuted instantiation: <obws::events::OutputState as core::clone::Clone>::clone
<obws::events::OutputState as core::fmt::Debug>::fmt
Line
Count
Source
559
28
#[derive(Clone, Copy, Debug, Deserialize)]
Unexecuted instantiation: <obws::events::OutputState as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::events::OutputState as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::de::value::StringDeserializer<serde_json::error::Error>>
<<obws::events::OutputState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
559
28
#[derive(Clone, Copy, Debug, Deserialize)]
Unexecuted instantiation: <obws::events::OutputState as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Unexecuted instantiation: <<obws::events::OutputState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<obws::events::OutputState as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
559
28
#[derive(Clone, Copy, Debug, Deserialize)]
<<obws::events::OutputState as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
559
28
#[derive(Clone, Copy, Debug, Deserialize)]
<<obws::events::OutputState as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<serde::__private::de::content::EnumDeserializer<serde_json::error::Error>>
Line
Count
Source
559
28
#[derive(Clone, Copy, Debug, Deserialize)]
Unexecuted instantiation: <<obws::events::OutputState as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<serde_json::value::de::EnumDeserializer>
Unexecuted instantiation: <<obws::events::OutputState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <obws::events::OutputState as serde::de::Deserialize>::deserialize::<serde::__private::de::missing_field::MissingFieldDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <obws::events::OutputState as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::OutputState as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::OutputState as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::events::OutputState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::events::OutputState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::events::OutputState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::events::OutputState as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_>
Unexecuted instantiation: <<obws::events::OutputState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::events::OutputState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::events::OutputState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::events::OutputState as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::OutputState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::events::OutputState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::events::OutputState as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::OutputState as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_>
Unexecuted instantiation: <<obws::events::OutputState as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
560
pub enum OutputState {
561
    /// A request to start the output has been issued.
562
    #[serde(rename = "OBS_WEBSOCKET_OUTPUT_STARTING")]
563
    Starting,
564
    /// Output started successfully.
565
    #[serde(rename = "OBS_WEBSOCKET_OUTPUT_STARTED")]
566
    Started,
567
    /// A request to stop the output has been issued.
568
    #[serde(rename = "OBS_WEBSOCKET_OUTPUT_STOPPING")]
569
    Stopping,
570
    /// Output stopped successfully.
571
    #[serde(rename = "OBS_WEBSOCKET_OUTPUT_STOPPED")]
572
    Stopped,
573
    /// Current output paused.
574
    #[serde(rename = "OBS_WEBSOCKET_OUTPUT_PAUSED")]
575
    Paused,
576
    /// Current output resumed.
577
    #[serde(rename = "OBS_WEBSOCKET_OUTPUT_RESUMED")]
578
    Resumed,
579
    /// Fallback for any unknown event type.
580
    #[serde(other)]
581
    Unknown,
582
}
583
584
/// A basic scene item, only describing identifier and position.
585
50
#[derive(
Clone0
,
Debug10
,
D30
eserialize)]
Unexecuted instantiation: <obws::events::BasicSceneItem as core::clone::Clone>::clone
Unexecuted instantiation: <obws::events::BasicSceneItem as core::clone::Clone>::clone
Unexecuted instantiation: <obws::events::BasicSceneItem as core::clone::Clone>::clone
<obws::events::BasicSceneItem as core::fmt::Debug>::fmt
Line
Count
Source
585
10
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <obws::events::BasicSceneItem as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
<<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
585
20
#[derive(Clone, Debug, Deserialize)]
<<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Line
Count
Source
585
30
#[derive(Clone, Debug, 
D10
eserialize)]
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error>>
<<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
585
20
#[derive(Clone, Debug, Deserialize)]
<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
585
10
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::BasicSceneItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
586
pub struct BasicSceneItem {
587
    /// Identifier of this scene item.
588
    #[serde(rename = "sceneItemId")]
589
    pub id: u64,
590
    /// Positional index within the owning scene.
591
    #[serde(rename = "sceneItemIndex")]
592
    pub index: u32,
593
}
594
595
/// The scene describes basic details about a single scene setup in OBS.
596
25
#[derive(
Clone0
,
Debug5
,
D10
ese
rializ0
e)]
Unexecuted instantiation: <obws::events::Scene as core::clone::Clone>::clone
Unexecuted instantiation: <obws::events::Scene as core::clone::Clone>::clone
Unexecuted instantiation: <obws::events::Scene as core::clone::Clone>::clone
<obws::events::Scene as core::fmt::Debug>::fmt
Line
Count
Source
596
5
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <obws::events::Scene as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error>>
Unexecuted instantiation: <obws::events::Scene as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<obws::events::Scene as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
<obws::events::Scene as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
596
5
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<<obws::events::Scene as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
596
10
#[derive(Clone, Debug, Deserialize)]
<<obws::events::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
596
10
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::events::Scene as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <obws::events::Scene as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::events::Scene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
597
pub struct Scene {
598
    /// Name of this scene.
599
    #[serde(rename = "sceneName")]
600
    pub name: String,
601
    /// Positional index in the scene list.
602
    #[serde(rename = "sceneIndex")]
603
    pub index: usize,
604
}
\ No newline at end of file diff --git a/coverage/src/lib.rs.html b/coverage/src/lib.rs.html index f534868..1be11e0 100644 --- a/coverage/src/lib.rs.html +++ b/coverage/src/lib.rs.html @@ -1 +1 @@ -

Coverage Report

Created: 2022-05-25 22:28

src/lib.rs
Line
Count
Source (jump to first uncovered line)
1
1
//! # OBWS - The obws (obvious) remote control library for OBS//! # OBWS - The obws (obvious) remote control library for OBS
2
//!
3
//! Remote control OBS with the [obs-websocket] plugin from Rust 🦀.
4
//!
5
//! [obs-websocket]: https://github.com/Palakis/obs-websocket
6
//!
7
//! ## Example
8
//!
9
//! ```no_run
10
//! use anyhow::Result;
11
//! use obws::Client;
12
//!
13
//! #[tokio::main]
14
//! async fn main() -> Result<()> {
15
//!     /// Connect to the OBS instance through obs-websocket.
16
//!     let client = Client::connect("localhost", 4455, Some("password")).await?;
17
//!
18
//!     /// Get and print out version information of OBS and obs-websocket.
19
//!     let version = client.general().get_version().await?;
20
//!     println!("{:#?}", version);
21
//!
22
//!     /// Get a list of available scenes and print them out.
23
//!     let scene_list = client.scenes().get_scene_list().await?;
24
//!     println!("{:#?}", scene_list);
25
//!
26
//!     Ok(())
27
//! }
28
//! ```
29
30
#![warn(missing_docs, rust_2018_idioms, clippy::all)]
31
32
use responses::StatusCode;
33
pub use semver::{Comparator, Version};
34
35
pub use self::client::Client;
36
37
pub mod client;
38
pub mod common;
39
#[cfg(feature = "events")]
40
pub mod events;
41
pub mod requests;
42
pub mod responses;
43
44
mod de;
45
46
/// Result type used throughout the crate that uses [`Error`] as default error.
47
pub type Result<T, E = Error> = std::result::Result<T, E>;
48
49
/// Errors that can occur while using this crate.
50
0
#[derive(Debug, thiserror::Error)]
Unexecuted instantiation: <obws::Error as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::Error as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::Error as std::error::Error>::source
Unexecuted instantiation: <obws::Error as core::convert::From<obws::client::connection::HandshakeError>>::from
Unexecuted instantiation: <obws::Error as core::fmt::Display>::fmt
Unexecuted instantiation: <obws::Error as std::error::Error>::source
Unexecuted instantiation: <obws::Error as core::convert::From<obws::client::connection::HandshakeError>>::from
Unexecuted instantiation: <obws::Error as core::fmt::Display>::fmt
51
pub enum Error {
52
    /// An error occurred while trying to connect to the web-socket.
53
    #[error("failed to connect to the obs-websocket plugin")]
54
    Connect(#[source] tokio_tungstenite::tungstenite::Error),
55
    /// The initial handshake with `obs-websocket` didn't succeed.
56
    #[error("failed to execute the handshake with obs-websocket")]
57
    Handshake(#[from] crate::client::HandshakeError),
58
    /// Failed to serialize the message to be send to the web-socket.
59
    #[error("failed to serialize message")]
60
    SerializeMessage(#[source] serde_json::Error),
61
    /// A message could not be send through the web-socket.
62
    #[error("failed to send message to the obs-websocket plugin")]
63
    Send(#[source] tokio_tungstenite::tungstenite::Error),
64
    /// Tried to receive data while the send side was already closed.
65
    #[error("send side is closed")]
66
    ReceiveMessage(#[source] tokio::sync::oneshot::error::RecvError),
67
    /// Failed to deserialize the message that came back as response.
68
    #[error("the response message could not be deserialized")]
69
    DeserializeResponse(#[source] serde_json::Error),
70
    /// Failed to serialize custom user defined data for a message.
71
    #[error("failed to serialize custom data")]
72
    SerializeCustomData(#[source] serde_json::Error),
73
    /// Custom data didn't serialize into a JSON object.
74
    #[error("custom data must serialize into a JSON object")]
75
    InvalidCustomData,
76
    /// An error returned from the obs-websocket API.
77
    #[error("API error: {code:?}")]
78
    Api {
79
        /// Status code that describes the kind of error.
80
        code: StatusCode,
81
        /// Optional message to provide additional details about the error.
82
        message: Option<String>,
83
    },
84
    /// The obs-websocket API requires authentication but no password was given.
85
    #[error("authentication required but no password provided")]
86
    NoPassword,
87
    /// Unknown flags were found while trying to parse bitflags.
88
    #[error("value {0} contains unknown flags")]
89
    UnknownFlags(u8),
90
    /// Tried to interact with obs-websocket while not connected (for example trying to get a new
91
    /// event stream).
92
    #[error("currently not connected to obs-websocket")]
93
    Disconnected,
94
    /// The OBS studio version of the connected instance doesn't match the required version for this
95
    /// crate.
96
    #[error("obs studio version {0} doesn't match required {1}")]
97
    ObsStudioVersion(Version, Comparator),
98
    /// The obs-websocket plugin version doesn't match the required version for this crate.
99
    #[error("obs-websocket version {0} doesn't match required {1}")]
100
    ObsWebsocketVersion(Version, Comparator),
101
    /// The obs-websocket plugin negotiated a different RPC version than requested.
102
    #[error("RPC version {requested} requested, but server negotiated version {negotiated}")]
103
    RpcVersion {
104
        /// Version requested by the client.
105
        requested: u32,
106
        /// Unexpected version as negotiated by the server.
107
        negotiated: u32,
108
    },
109
}
\ No newline at end of file +

Coverage Report

Created: 2022-07-04 16:17

src/lib.rs
Line
Count
Source (jump to first uncovered line)
1
1
//! # OBWS - The obws (obvious) remote control library for OBS//! # OBWS - The obws (obvious) remote control library for OBS
2
//!
3
//! Remote control OBS with the [obs-websocket] plugin from Rust 🦀.
4
//!
5
//! [obs-websocket]: https://github.com/Palakis/obs-websocket
6
//!
7
//! ## Example
8
//!
9
//! ```no_run
10
//! use anyhow::Result;
11
//! use obws::Client;
12
//!
13
//! #[tokio::main]
14
//! async fn main() -> Result<()> {
15
//!     /// Connect to the OBS instance through obs-websocket.
16
//!     let client = Client::connect("localhost", 4455, Some("password")).await?;
17
//!
18
//!     /// Get and print out version information of OBS and obs-websocket.
19
//!     let version = client.general().version().await?;
20
//!     println!("{:#?}", version);
21
//!
22
//!     /// Get a list of available scenes and print them out.
23
//!     let scene_list = client.scenes().list().await?;
24
//!     println!("{:#?}", scene_list);
25
//!
26
//!     Ok(())
27
//! }
28
//! ```
29
30
#![warn(missing_docs, rust_2018_idioms, clippy::all)]
31
32
use responses::StatusCode;
33
pub use semver::{Comparator, Version};
34
35
pub use self::client::Client;
36
37
pub mod client;
38
pub mod common;
39
#[cfg(feature = "events")]
40
pub mod events;
41
pub mod requests;
42
pub mod responses;
43
44
mod serde;
45
46
/// Result type used throughout the crate that uses [`Error`] as default error.
47
pub type Result<T, E = Error> = std::result::Result<T, E>;
48
49
/// Errors that can occur while using this crate.
50
0
#[derive(Debug, thiserror::Error)]
Unexecuted instantiation: <obws::Error as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::Error as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::Error as std::error::Error>::source
Unexecuted instantiation: <obws::Error as core::fmt::Display>::fmt
Unexecuted instantiation: <obws::Error as core::convert::From<obws::client::connection::HandshakeError>>::from
Unexecuted instantiation: <obws::Error as std::error::Error>::source
Unexecuted instantiation: <obws::Error as core::convert::From<obws::client::connection::HandshakeError>>::from
Unexecuted instantiation: <obws::Error as core::fmt::Display>::fmt
51
pub enum Error {
52
    /// An error occurred while trying to connect to the web-socket.
53
    #[error("failed to connect to the obs-websocket plugin")]
54
    Connect(#[source] tokio_tungstenite::tungstenite::Error),
55
    /// The initial handshake with `obs-websocket` didn't succeed.
56
    #[error("failed to execute the handshake with obs-websocket")]
57
    Handshake(#[from] crate::client::HandshakeError),
58
    /// Failed to serialize the message to be send to the web-socket.
59
    #[error("failed to serialize message")]
60
    SerializeMessage(#[source] serde_json::Error),
61
    /// A message could not be send through the web-socket.
62
    #[error("failed to send message to the obs-websocket plugin")]
63
    Send(#[source] tokio_tungstenite::tungstenite::Error),
64
    /// Tried to receive data while the send side was already closed.
65
    #[error("send side is closed")]
66
    ReceiveMessage(#[source] tokio::sync::oneshot::error::RecvError),
67
    /// Failed to deserialize the message that came back as response.
68
    #[error("the response message could not be deserialized")]
69
    DeserializeResponse(#[source] serde_json::Error),
70
    /// Failed to serialize custom user defined data for a message.
71
    #[error("failed to serialize custom data")]
72
    SerializeCustomData(#[source] serde_json::Error),
73
    /// Custom data didn't serialize into a JSON object.
74
    #[error("custom data must serialize into a JSON object")]
75
    InvalidCustomData,
76
    /// An error returned from the obs-websocket API.
77
    #[error("API error: {code:?}")]
78
    Api {
79
        /// Status code that describes the kind of error.
80
        code: StatusCode,
81
        /// Optional message to provide additional details about the error.
82
        message: Option<String>,
83
    },
84
    /// The obs-websocket API requires authentication but no password was given.
85
    #[error("authentication required but no password provided")]
86
    NoPassword,
87
    /// Unknown flags were found while trying to parse bitflags.
88
    #[error("value {0} contains unknown flags")]
89
    UnknownFlags(u8),
90
    /// Tried to interact with obs-websocket while not connected (for example trying to get a new
91
    /// event stream).
92
    #[error("currently not connected to obs-websocket")]
93
    Disconnected,
94
    /// The OBS studio version of the connected instance doesn't match the required version for this
95
    /// crate.
96
    #[error("obs studio version {0} doesn't match required {1}")]
97
    ObsStudioVersion(Version, Comparator),
98
    /// The obs-websocket plugin version doesn't match the required version for this crate.
99
    #[error("obs-websocket version {0} doesn't match required {1}")]
100
    ObsWebsocketVersion(Version, Comparator),
101
    /// The obs-websocket plugin negotiated a different RPC version than requested.
102
    #[error("RPC version {requested} requested, but server negotiated version {negotiated}")]
103
    RpcVersion {
104
        /// Version requested by the client.
105
        requested: u32,
106
        /// Unexpected version as negotiated by the server.
107
        negotiated: u32,
108
    },
109
}
\ No newline at end of file diff --git a/coverage/src/requests/config.rs.html b/coverage/src/requests/config.rs.html new file mode 100644 index 0000000..514cf3d --- /dev/null +++ b/coverage/src/requests/config.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/requests/config.rs
Line
Count
Source (jump to first uncovered line)
1
//! Requests related to the OBS configuration.
2
3
use serde::Serialize;
4
use serde_with::skip_serializing_none;
5
6
9
#[derive(
S7
eri
aliz2
e)]
<<obws::requests::config::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
6
1
#[derive(Serialize)]
<<obws::requests::config::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
6
1
#[derive(Serialize)]
<obws::requests::config::Request as serde::ser::Serialize>::serialize::<serde::__private::ser::FlatMapSerializer<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>>
Line
Count
Source
6
7
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::config::Request as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Unexecuted instantiation: <<obws::requests::config::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::config::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::config::Request as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::config::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::config::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::config::Request as serde::ser::Serialize>::serialize::<_>
7
#[serde(tag = "requestType", content = "requestData")]
8
pub(crate) enum Request<'a> {
9
    #[serde(rename = "GetPersistentData")]
10
    GetPersistentData {
11
        /// The data realm to select.
12
        #[serde(rename = "realm")]
13
        realm: Realm,
14
        /// The name of the slot to retrieve data from.
15
        #[serde(rename = "slotName")]
16
        slot_name: &'a str,
17
    },
18
    #[serde(rename = "SetPersistentData")]
19
    SetPersistentData(SetPersistentData<'a>),
20
    #[serde(rename = "GetVideoSettings")]
21
    VideoSettings,
22
    #[serde(rename = "SetVideoSettings")]
23
    SetVideoSettings(SetVideoSettings),
24
    #[serde(rename = "GetStreamServiceSettings")]
25
    StreamServiceSettings,
26
    #[serde(rename = "SetStreamServiceSettings")]
27
    SetStreamServiceSettings {
28
        /// Type of stream service to apply. Example: `rtmp_common` or `rtmp_custom`.
29
        #[serde(rename = "streamServiceType")]
30
        r#type: &'a str,
31
        /// Settings to apply to the service.
32
        #[serde(rename = "streamServiceSettings")]
33
        settings: serde_json::Value,
34
    },
35
    #[serde(rename = "GetRecordDirectory")]
36
    RecordDirectory,
37
}
38
39
impl<'a> From<Request<'a>> for super::RequestType<'a> {
40
7
    fn from(value: Request<'a>) -> Self {
41
7
        super::RequestType::Config(value)
42
7
    }
<obws::requests::RequestType as core::convert::From<obws::requests::config::Request>>::from
Line
Count
Source
40
7
    fn from(value: Request<'a>) -> Self {
41
7
        super::RequestType::Config(value)
42
7
    }
Unexecuted instantiation: <obws::requests::RequestType as core::convert::From<obws::requests::config::Request>>::from
43
}
44
45
/// Request information for [`crate::client::Config::get_persistent_data`] and
46
/// [`crate::client::Config::set_persistent_data`] as part of
47
/// [`SetPersistentData`].
48
2
#[derive(
Clone0
, Copy, Serialize)]
Unexecuted instantiation: <obws::requests::config::Realm as core::clone::Clone>::clone
Unexecuted instantiation: <obws::requests::config::Realm as core::clone::Clone>::clone
<obws::requests::config::Realm as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
48
2
#[derive(Clone, Copy, Serialize)]
Unexecuted instantiation: <obws::requests::config::Realm as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::config::Realm as serde::ser::Serialize>::serialize::<_>
49
pub enum Realm {
50
    /// Data located in the global settings.
51
    #[serde(rename = "OBS_WEBSOCKET_DATA_REALM_GLOBAL")]
52
    Global,
53
    /// Data bound to the current profile.
54
    #[serde(rename = "OBS_WEBSOCKET_DATA_REALM_PROFILE")]
55
    Profile,
56
}
57
58
/// Request information for [`crate::client::Config::set_persistent_data`].
59
1
#[derive(Serialize)]
<obws::requests::config::SetPersistentData as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
59
1
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::config::SetPersistentData as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::config::SetPersistentData as serde::ser::Serialize>::serialize::<_>
60
pub struct SetPersistentData<'a> {
61
    /// The data realm to select.
62
    #[serde(rename = "realm")]
63
    pub realm: Realm,
64
    /// The name of the slot to retrieve data from.
65
    #[serde(rename = "slotName")]
66
    pub slot_name: &'a str,
67
    /// The value to apply to the slot.
68
    #[serde(rename = "slotValue")]
69
    pub slot_value: &'a serde_json::Value,
70
}
71
72
/// Request information for [`crate::client::Config::set_video_settings`].
73
#[skip_serializing_none]
74
1
#[derive(
Default0
, Serialize)]
Unexecuted instantiation: <obws::requests::config::SetVideoSettings as core::default::Default>::default
Unexecuted instantiation: <obws::requests::config::SetVideoSettings as core::default::Default>::default
<obws::requests::config::SetVideoSettings as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
74
1
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::config::SetVideoSettings as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::config::SetVideoSettings as serde::ser::Serialize>::serialize::<_>
75
pub struct SetVideoSettings {
76
    /// Numerator of the fractional FPS value.
77
    #[serde(rename = "fpsNumerator")]
78
    pub fps_numerator: Option<u32>,
79
    /// Denominator of the fractional FPS value.
80
    #[serde(rename = "fpsDenominator")]
81
    pub fps_denominator: Option<u32>,
82
    /// Width of the base (canvas) resolution in pixels.
83
    #[serde(rename = "baseWidth")]
84
    pub base_width: Option<u32>,
85
    /// Height of the base (canvas) resolution in pixels.
86
    #[serde(rename = "baseHeight")]
87
    pub base_height: Option<u32>,
88
    /// Width of the output resolution in pixels.
89
    #[serde(rename = "outputWidth")]
90
    pub output_width: Option<u32>,
91
    /// Height of the output resolution in pixels.
92
    #[serde(rename = "outputHeight")]
93
    pub output_height: Option<u32>,
94
}
95
96
impl From<crate::responses::config::VideoSettings> for SetVideoSettings {
97
1
    fn from(v: crate::responses::config::VideoSettings) -> Self {
98
1
        Self {
99
1
            fps_numerator: Some(v.fps_numerator),
100
1
            fps_denominator: Some(v.fps_denominator),
101
1
            base_width: Some(v.base_width),
102
1
            base_height: Some(v.base_height),
103
1
            output_width: Some(v.output_width),
104
1
            output_height: Some(v.output_height),
105
1
        }
106
1
    }
<obws::requests::config::SetVideoSettings as core::convert::From<obws::responses::config::VideoSettings>>::from
Line
Count
Source
97
1
    fn from(v: crate::responses::config::VideoSettings) -> Self {
98
1
        Self {
99
1
            fps_numerator: Some(v.fps_numerator),
100
1
            fps_denominator: Some(v.fps_denominator),
101
1
            base_width: Some(v.base_width),
102
1
            base_height: Some(v.base_height),
103
1
            output_width: Some(v.output_width),
104
1
            output_height: Some(v.output_height),
105
1
        }
106
1
    }
Unexecuted instantiation: <obws::requests::config::SetVideoSettings as core::convert::From<obws::responses::config::VideoSettings>>::from
107
}
\ No newline at end of file diff --git a/coverage/src/requests/custom/source_settings.rs.html b/coverage/src/requests/custom/source_settings.rs.html new file mode 100644 index 0000000..8156901 --- /dev/null +++ b/coverage/src/requests/custom/source_settings.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/requests/custom/source_settings.rs
Line
Count
Source (jump to first uncovered line)
1
//! Additional structs for use with
2
//! [`crate::client::Inputs::set_settings`].
3
4
use std::path::Path;
5
6
use rgb::RGBA8;
7
use serde::{ser::SerializeStruct, Serialize, Serializer};
8
use serde_repr::Serialize_repr;
9
use time::Duration;
10
11
use crate::common::FontFlags;
12
13
/// Identifier for input capture sources.
14
pub const SOURCE_COREAUDIO_INPUT_CAPTURE: &str = "coreaudio_input_capture";
15
/// Identifier for output capture sources.
16
pub const SOURCE_COREAUDIO_OUTPUT_CAPTURE: &str = "coreaudio_output_capture";
17
/// Identifier for browser sources.
18
pub const SOURCE_BROWSER_SOURCE: &str = "browser_source";
19
/// Identifier for color sources.
20
pub const SOURCE_COLOR_SOURCE_V3: &str = "color_source_v3";
21
/// Identifier for display capture sources.
22
pub const SOURCE_DISPLAY_CAPTURE: &str = "display_capture";
23
/// Identifier for image sources.
24
pub const SOURCE_IMAGE_SOURCE: &str = "image_source";
25
/// Identifier for image slide-show sources.
26
pub const SOURCE_SLIDESHOW: &str = "slideshow";
27
/// Identifier for FFmpeg video sources.
28
pub const SOURCE_FFMPEG_SOURCE: &str = "ffmpeg_source";
29
/// Identifier for FreeType2 text sources.
30
pub const SOURCE_TEXT_FT2_SOURCE_V2: &str = "text_ft2_source_v2";
31
/// Identifier for VLC video sources.
32
pub const SOURCE_VLC_SOURCE: &str = "vlc_source";
33
/// Identifier for audio/video input capture sources.
34
pub const SOURCE_AV_CAPTURE_INPUT_V2: &str = "av_capture_input_v2";
35
/// Identifier for source window capture sources.
36
pub const SOURCE_WINDOW_CAPTURE: &str = "window_capture";
37
38
/// Settings specific to a **CoreAudio** input capture source.
39
0
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::custom::source_settings::CoreaudioInputCapture as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::source_settings::CoreaudioInputCapture as serde::ser::Serialize>::serialize::<_>
40
pub struct CoreaudioInputCapture<'a> {
41
    /// Input device identifier.
42
    pub device_id: &'a str,
43
}
44
45
/// Settings specific to a **CoreAudio** output capture source.
46
0
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::custom::source_settings::CoreaudioOutputCapture as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::source_settings::CoreaudioOutputCapture as serde::ser::Serialize>::serialize::<_>
47
pub struct CoreaudioOutputCapture<'a> {
48
    /// Output device identifier.
49
    pub device_id: &'a str,
50
}
51
52
/// Settings specific to a browser source.
53
0
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::custom::source_settings::BrowserSource as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::source_settings::BrowserSource as serde::ser::Serialize>::serialize::<_>
54
pub struct BrowserSource<'a> {
55
    /// Whether to use a local file instead of a remote location.
56
    ///
57
    /// If true, the [`Self::local_file`] setting is used, [`Self::url`] otherwise.
58
    pub is_local_file: bool,
59
    /// Local file to open as web page. Only used if [`Self::is_local_file`] is set to `true`.
60
    pub local_file: &'a Path,
61
    /// Remote location of a web page. Only used if [`Self::is_local_file`] is set to `false`.
62
    pub url: &'a str,
63
    /// Browser window width in pixels.
64
    pub width: u32,
65
    /// Browser window height in pixels.
66
    pub height: u32,
67
    /// Use custom frame rate.
68
    pub fps_custom: bool,
69
    /// Custom FPS, only used if [`Self::fps_custom`] is set to `true`.
70
    pub fps: u16,
71
    /// Control audio via OBS.
72
    pub reroute_audio: bool,
73
    /// Custom CSS.
74
    pub css: &'a str,
75
    /// Shutdown source when not visible.
76
    pub shutdown: bool,
77
    /// Refresh browser when scene becomes active.
78
    pub restart_when_active: bool,
79
}
80
81
impl<'a> Default for BrowserSource<'a> {
82
0
    fn default() -> Self {
83
0
        Self {
84
0
            is_local_file: false,
85
0
            local_file: Path::new(""),
86
0
            url: "https://obsproject.com/browser-source",
87
0
            width: 800,
88
0
            height: 600,
89
0
            fps_custom: false,
90
0
            fps: 30,
91
0
            reroute_audio: false,
92
0
            css: "body { background-color: rgba(0, 0, 0, 0); margin: 0px auto; overflow: hidden; }",
93
0
            shutdown: false,
94
0
            restart_when_active: false,
95
0
        }
96
0
    }
Unexecuted instantiation: <obws::requests::custom::source_settings::BrowserSource as core::default::Default>::default
Unexecuted instantiation: <obws::requests::custom::source_settings::BrowserSource as core::default::Default>::default
97
}
98
99
/// Settings specific to a color source.
100
0
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::custom::source_settings::ColorSourceV3 as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::custom::source_settings::ColorSourceV3 as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::source_settings::ColorSourceV3 as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::custom::source_settings::ColorSourceV3 as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
101
pub struct ColorSourceV3 {
102
    /// Color to display.
103
    #[serde(with = "crate::serde::rgba8_inverse")]
104
    pub color: RGBA8,
105
    /// Source width in pixels.
106
    pub width: u32,
107
    /// Source height in pixels.
108
    pub height: u32,
109
}
110
111
impl Default for ColorSourceV3 {
112
0
    fn default() -> Self {
113
0
        Self {
114
0
            color: RGBA8::new(209, 209, 209, 255),
115
0
            width: 0,
116
0
            height: 0,
117
0
        }
118
0
    }
Unexecuted instantiation: <obws::requests::custom::source_settings::ColorSourceV3 as core::default::Default>::default
Unexecuted instantiation: <obws::requests::custom::source_settings::ColorSourceV3 as core::default::Default>::default
119
}
120
121
/// Settings specific to a display capture source.
122
0
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::custom::source_settings::DisplayCapture as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::source_settings::DisplayCapture as serde::ser::Serialize>::serialize::<_>
123
pub struct DisplayCapture<'a> {
124
    /// Index of the display to capture. Usually `0` for the main display.
125
    pub display: u8,
126
    /// Whether to show the cursor on the captured input.
127
    pub show_cursor: bool,
128
    /// Cropping of the window input.
129
    #[serde(flatten)]
130
    pub crop_mode: CropMode<'a>,
131
}
132
133
/// The capture cropping for a [`DisplayCapture`] source.
134
pub enum CropMode<'a> {
135
    /// Disable any cropping.
136
    None,
137
    /// Manual cropping by pixel dimensions.
138
    Manual {
139
        /// Left side cropping.
140
        left: f64,
141
        /// Top side cropping.
142
        top: f64,
143
        /// Right side cropping.
144
        right: f64,
145
        /// Bottom side cropping.
146
        bottom: f64,
147
    },
148
    /// Crop the capture to a specific window on the screen.
149
    ToWindow {
150
        /// Owner of the window. Usually the program name.
151
        owner_name: &'a str,
152
        /// Title of the window. Depending on the OS usually found at the top window corner.
153
        window_name: &'a str,
154
        /// ID of the window.
155
        window: u32,
156
        /// List up windows with empty names in the UI drop-down selection.
157
        show_empty_names: bool,
158
    },
159
    /// A combination of [`Self::ToWindow`] and [`Self::Manual`], cropping to the window first, then
160
    /// applying manual cropping.
161
    ToWindowAndManual {
162
        /// Owner of the window. Usually the program name.
163
        owner_name: &'a str,
164
        /// Title of the window. Depending on the OS usually found at the top window corner.
165
        window_name: &'a str,
166
        /// ID of the window.
167
        window: u32,
168
        /// List up windows with empty names in the UI drop-down selection.
169
        show_empty_names: bool,
170
        /// Left side cropping.
171
        left: f64,
172
        /// Top side cropping.
173
        top: f64,
174
        /// Right side cropping.
175
        right: f64,
176
        /// Bottom side cropping.
177
        bottom: f64,
178
    },
179
}
180
181
impl<'a> Serialize for CropMode<'a> {
182
0
    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
183
0
    where
184
0
        S: Serializer,
185
0
    {
186
0
        match self {
187
0
            Self::None => {
188
0
                let mut s = serializer.serialize_struct("CropMode", 1)?;
189
0
                s.serialize_field("crop_mode", &0u8)?;
190
0
                s.end()
191
            }
192
0
            Self::Manual {
193
0
                left,
194
0
                top,
195
0
                right,
196
0
                bottom,
197
0
            } => {
198
0
                let mut s = serializer.serialize_struct("CropMode", 5)?;
199
0
                s.serialize_field("crop_mode", &1u8)?;
200
0
                s.serialize_field("manual.origin.x", left)?;
201
0
                s.serialize_field("manual.origin.y", top)?;
202
0
                s.serialize_field("manual.size.width", right)?;
203
0
                s.serialize_field("manual.size.height", bottom)?;
204
0
                s.end()
205
            }
206
0
            Self::ToWindow {
207
0
                owner_name,
208
0
                window_name,
209
0
                window,
210
0
                show_empty_names,
211
0
            } => {
212
0
                let mut s = serializer.serialize_struct("CropMode", 5)?;
213
0
                s.serialize_field("crop_mode", &2u8)?;
214
0
                s.serialize_field("owner_name", owner_name)?;
215
0
                s.serialize_field("window_name", window_name)?;
216
0
                s.serialize_field("window", window)?;
217
0
                s.serialize_field("show_empty_names", show_empty_names)?;
218
0
                s.end()
219
            }
220
            CropMode::ToWindowAndManual {
221
0
                owner_name,
222
0
                window_name,
223
0
                window,
224
0
                show_empty_names,
225
0
                left,
226
0
                top,
227
0
                right,
228
0
                bottom,
229
            } => {
230
0
                let mut s = serializer.serialize_struct("CropMode", 9)?;
231
0
                s.serialize_field("crop_mode", &3u8)?;
232
0
                s.serialize_field("owner_name", owner_name)?;
233
0
                s.serialize_field("window_name", window_name)?;
234
0
                s.serialize_field("window", window)?;
235
0
                s.serialize_field("show_empty_names", show_empty_names)?;
236
0
                s.serialize_field("window.origin.x", left)?;
237
0
                s.serialize_field("window.origin.y", top)?;
238
0
                s.serialize_field("window.size.width", right)?;
239
0
                s.serialize_field("window.size.height", bottom)?;
240
0
                s.end()
241
            }
242
        }
243
0
    }
Unexecuted instantiation: <obws::requests::custom::source_settings::CropMode as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::source_settings::CropMode as serde::ser::Serialize>::serialize::<_>
244
}
245
246
/// Settings specific to an image source.
247
0
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::custom::source_settings::ImageSource as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::source_settings::ImageSource as serde::ser::Serialize>::serialize::<_>
248
pub struct ImageSource<'a> {
249
    /// Location of the file to display.
250
    pub file: &'a Path,
251
    /// Unload the image file when the source isn't visible.
252
    pub unload: bool,
253
}
254
255
impl<'a> Default for ImageSource<'a> {
256
0
    fn default() -> Self {
257
0
        Self {
258
0
            file: Path::new(""),
259
0
            unload: false,
260
0
        }
261
0
    }
Unexecuted instantiation: <obws::requests::custom::source_settings::ImageSource as core::default::Default>::default
Unexecuted instantiation: <obws::requests::custom::source_settings::ImageSource as core::default::Default>::default
262
}
263
264
/// Settings specific to an image slide-show source.
265
0
#[derive(Serialize)]
Unexecuted instantiation: <<obws::requests::custom::source_settings::Slideshow as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::custom::source_settings::Slideshow as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::source_settings::Slideshow as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::custom::source_settings::Slideshow as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::source_settings::Slideshow as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::custom::source_settings::Slideshow as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
266
pub struct Slideshow<'a> {
267
    /// Behavior of playback in relation to visibility.
268
    pub playback_behavior: PlaybackBehavior,
269
    /// Control mode to change between pictures.
270
    pub slide_mode: SlideMode,
271
    /// Swapping animation between current and next picture.
272
    pub transition: Transition,
273
    /// Time between Slides. Minimum value is `50ms`.
274
    #[serde(with = "crate::serde::duration_millis")]
275
    pub slide_time: Duration,
276
    /// Minimum value is `0ms`.
277
    #[serde(with = "crate::serde::duration_millis")]
278
    pub transition_speed: Duration,
279
    /// Whether to endlessly loop the slide-show images.
280
    #[serde(rename = "loop")]
281
    pub loop_: bool,
282
    /// Hide when slide-show is done.
283
    pub hide: bool,
284
    /// Randomize playback.
285
    pub randomize: bool,
286
    /// Bounding Size / Aspect Ratio.
287
    pub use_custom_size: CustomSize,
288
    /// Image files.
289
    pub files: &'a [SlideshowFile<'a>],
290
}
291
292
impl<'a> Default for Slideshow<'a> {
293
0
    fn default() -> Self {
294
0
        Self {
295
0
            playback_behavior: PlaybackBehavior::AlwaysPlay,
296
0
            slide_mode: SlideMode::default(),
297
0
            transition: Transition::default(),
298
0
            slide_time: Duration::seconds(8),
299
0
            transition_speed: Duration::milliseconds(700),
300
0
            loop_: true,
301
0
            hide: false,
302
0
            randomize: false,
303
0
            use_custom_size: CustomSize::default(),
304
0
            files: &[],
305
0
        }
306
0
    }
Unexecuted instantiation: <obws::requests::custom::source_settings::Slideshow as core::default::Default>::default
Unexecuted instantiation: <obws::requests::custom::source_settings::Slideshow as core::default::Default>::default
307
}
308
309
/// Single file as part of a [`Slideshow`].
310
0
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::custom::source_settings::SlideshowFile as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::source_settings::SlideshowFile as serde::ser::Serialize>::serialize::<_>
311
pub struct SlideshowFile<'a> {
312
    /// Location of the file to display.
313
    pub value: &'a Path,
314
    /// Whether the file is currently visible in the source.
315
    pub hidden: bool,
316
    /// Whether the file is currently selected.
317
    pub selected: bool,
318
}
319
320
impl<'a> Default for SlideshowFile<'a> {
321
0
    fn default() -> Self {
322
0
        Self {
323
0
            value: Path::new(""),
324
0
            hidden: false,
325
0
            selected: false,
326
0
        }
327
0
    }
Unexecuted instantiation: <obws::requests::custom::source_settings::SlideshowFile as core::default::Default>::default
Unexecuted instantiation: <obws::requests::custom::source_settings::SlideshowFile as core::default::Default>::default
328
}
329
330
/// Playback behavior setting for use in [`Slideshow`].
331
0
#[derive(Clone, Copy, Serialize)]
Unexecuted instantiation: <obws::requests::custom::source_settings::PlaybackBehavior as core::clone::Clone>::clone
Unexecuted instantiation: <obws::requests::custom::source_settings::PlaybackBehavior as core::clone::Clone>::clone
Unexecuted instantiation: <obws::requests::custom::source_settings::PlaybackBehavior as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::source_settings::PlaybackBehavior as serde::ser::Serialize>::serialize::<_>
332
#[serde(rename_all = "snake_case")]
333
pub enum PlaybackBehavior {
334
    /// Always play even when not visible.
335
    AlwaysPlay,
336
    /// Stop when not visible, restart when visible.
337
    StopRestart,
338
    /// Pause when not visible, un-pause when visible
339
    PauseUnpause,
340
}
341
342
/// Playback control mode for use in [`Slideshow`].
343
0
#[derive(Clone, Copy, Serialize)]
Unexecuted instantiation: <obws::requests::custom::source_settings::SlideMode as core::clone::Clone>::clone
Unexecuted instantiation: <obws::requests::custom::source_settings::SlideMode as core::clone::Clone>::clone
Unexecuted instantiation: <obws::requests::custom::source_settings::SlideMode as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::source_settings::SlideMode as serde::ser::Serialize>::serialize::<_>
344
#[serde(rename_all = "snake_case")]
345
pub enum SlideMode {
346
    /// Automatic.
347
    ModeAuto,
348
    /// Manual (Use hotkeys to control slide-show).
349
    ModeManual,
350
}
351
352
impl Default for SlideMode {
353
0
    fn default() -> Self {
354
0
        Self::ModeAuto
355
0
    }
Unexecuted instantiation: <obws::requests::custom::source_settings::SlideMode as core::default::Default>::default
Unexecuted instantiation: <obws::requests::custom::source_settings::SlideMode as core::default::Default>::default
356
}
357
358
/// Transition animation between images in a [`Slideshow`].
359
0
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::custom::source_settings::Transition as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::source_settings::Transition as serde::ser::Serialize>::serialize::<_>
360
#[serde(rename_all = "snake_case")]
361
pub enum Transition {
362
    /// Immediately replace without animation.
363
    Cut,
364
    /// Gradually fade between the two images until the new one is fully visible.
365
    Fade,
366
    /// Swipe the new image over the old one.
367
    Swipe,
368
    /// Slide out the old and slide in the new image.
369
    Slide,
370
}
371
372
impl Default for Transition {
373
0
    fn default() -> Self {
374
0
        Self::Fade
375
0
    }
Unexecuted instantiation: <obws::requests::custom::source_settings::Transition as core::default::Default>::default
Unexecuted instantiation: <obws::requests::custom::source_settings::Transition as core::default::Default>::default
376
}
377
378
/// Aspect ratios and bounding sizes for use in [`Slideshow`].
379
0
#[derive(Clone, Copy, Serialize)]
Unexecuted instantiation: <obws::requests::custom::source_settings::CustomSize as core::clone::Clone>::clone
Unexecuted instantiation: <obws::requests::custom::source_settings::CustomSize as core::clone::Clone>::clone
Unexecuted instantiation: <obws::requests::custom::source_settings::CustomSize as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::source_settings::CustomSize as serde::ser::Serialize>::serialize::<_>
380
#[serde(into = "String")]
381
pub enum CustomSize {
382
    /// Automatically detect a ratio based on the input.
383
    Automatic,
384
    /// 16:9 aspect ratio.
385
    SixteenToNine,
386
    /// 16:10 aspect ratio.
387
    SixteenToTen,
388
    /// 4:3 aspect ratio.
389
    FourToThree,
390
    /// 1:1 aspect ratio.
391
    OneToOne,
392
    /// Custom width:height ratio.
393
    CustomRatio(u32, u32),
394
    /// Custom width x height size.
395
    CustomSize(u32, u32),
396
}
397
398
impl Default for CustomSize {
399
0
    fn default() -> Self {
400
0
        Self::Automatic
401
0
    }
Unexecuted instantiation: <obws::requests::custom::source_settings::CustomSize as core::default::Default>::default
Unexecuted instantiation: <obws::requests::custom::source_settings::CustomSize as core::default::Default>::default
402
}
403
404
impl From<CustomSize> for String {
405
0
    fn from(s: CustomSize) -> Self {
406
0
        match s {
407
0
            CustomSize::Automatic => "Automatic".to_owned(),
408
0
            CustomSize::SixteenToNine => "16:9".to_owned(),
409
0
            CustomSize::SixteenToTen => "16:10".to_owned(),
410
0
            CustomSize::FourToThree => "4:3".to_owned(),
411
0
            CustomSize::OneToOne => "1:1".to_owned(),
412
0
            CustomSize::CustomRatio(w, h) => format!("{}:{}", w, h),
413
0
            CustomSize::CustomSize(w, h) => format!("{}x{}", w, h),
414
        }
415
0
    }
Unexecuted instantiation: <alloc::string::String as core::convert::From<obws::requests::custom::source_settings::CustomSize>>::from
Unexecuted instantiation: <alloc::string::String as core::convert::From<obws::requests::custom::source_settings::CustomSize>>::from
416
}
417
418
/// Settings specific to a **FFmpeg** video source.
419
0
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::custom::source_settings::FfmpegSource as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::source_settings::FfmpegSource as serde::ser::Serialize>::serialize::<_>
420
pub struct FfmpegSource<'a> {
421
    /// Whether the source is a local file or remote.
422
    pub is_local_file: bool,
423
    /// Location of a local media file. Only used if [`Self::is_local_file`] is set to `true`.
424
    pub local_file: &'a Path,
425
    /// Endlessly play the media.  Only used if [`Self::is_local_file`] is set to `true`.
426
    pub looping: bool,
427
    /// Network buffering in Megabytes. Only used if [`Self::is_local_file`] is set to `false`.
428
    pub buffering_mb: u8,
429
    /// URL of the remote media file. Only used if [`Self::is_local_file`] is set to `false`.
430
    pub input: &'a str,
431
    /// Format of the remote media. Only used if [`Self::is_local_file`] is set to `false`.
432
    pub input_format: &'a str,
433
    /// Reconnect delay in seconds. Only used if [`Self::is_local_file`] is set to `false`.
434
    pub reconnect_delay_sec: u8,
435
    /// Restart playback when source becomes active.  Only used if [`Self::is_local_file`] is set to
436
    /// `true`.
437
    pub restart_on_activate: bool,
438
    /// Show nothing when playback ends.
439
    pub clear_on_media_end: bool,
440
    /// Close file when inactive.
441
    pub close_when_inactive: bool,
442
    /// Playback speed as percentage.  Only used if [`Self::is_local_file`] is set to `true`.
443
    pub speed_percent: u8,
444
    /// YUV color range.
445
    pub color_range: ColorRange,
446
    /// Whether the media source is seek-able. Only used if [`Self::is_local_file`] is set to
447
    /// `false`.
448
    pub seekable: bool,
449
}
450
451
/// YUV color range of a [`FfmpegSource`].
452
0
#[derive(Serialize_repr)]
Unexecuted instantiation: <obws::requests::custom::source_settings::ColorRange as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::source_settings::ColorRange as serde::ser::Serialize>::serialize::<_>
453
#[repr(u8)]
454
pub enum ColorRange {
455
    /// Automatic detection.
456
    Auto = 0,
457
    /// Partial color range.
458
    Partial = 1,
459
    /// Full color range.
460
    Full = 2,
461
}
462
463
impl Default for ColorRange {
464
0
    fn default() -> Self {
465
0
        Self::Auto
466
0
    }
Unexecuted instantiation: <obws::requests::custom::source_settings::ColorRange as core::default::Default>::default
Unexecuted instantiation: <obws::requests::custom::source_settings::ColorRange as core::default::Default>::default
467
}
468
469
/// Settings specific to a **FreeType2** text source.
470
0
#[derive(Serialize)]
Unexecuted instantiation: <<obws::requests::custom::source_settings::TextFt2SourceV2 as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::source_settings::TextFt2SourceV2 as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::custom::source_settings::TextFt2SourceV2 as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::custom::source_settings::TextFt2SourceV2 as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::custom::source_settings::TextFt2SourceV2 as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::source_settings::TextFt2SourceV2 as serde::ser::Serialize>::serialize::<_>
471
pub struct TextFt2SourceV2<'a> {
472
    /// Draw the text with smoothed corners.
473
    pub antialiasing: bool,
474
    /// Top color of the text.
475
    #[serde(with = "crate::serde::rgba8_inverse")]
476
    pub color1: RGBA8,
477
    /// Bottom color of the text.
478
    #[serde(with = "crate::serde::rgba8_inverse")]
479
    pub color2: RGBA8,
480
    /// Custom width (seems to have no effect).
481
    pub custom_width: u32,
482
    /// Draw a dark blurred shadow effect behind the text.
483
    pub drop_shadow: bool,
484
    /// Settings for the font.
485
    pub font: Font<'a>,
486
    /// Load the text from a file (must be set in combination with [`Self::text_file`]).
487
    pub from_file: bool,
488
    /// Amount of log lines if [`Self::log_mode`] is `true`. Minimum value is `1`.
489
    pub log_lines: u32,
490
    /// Log mode (not sure what this does).
491
    pub log_mode: bool,
492
    /// Draw a black border around the text corners.
493
    pub outline: bool,
494
    /// Text to display (only used if [`Self::from_file`] is `false`).
495
    pub text: &'a str,
496
    /// File to load the display text from ([`Self::from_file`] must be `true`). The
497
    /// content must be in either **UTF-8** or **UTF-16** encoding.
498
    pub text_file: &'a Path,
499
    /// Wrap the words within the boundaries of the scene item.
500
    pub word_wrap: bool,
501
}
502
503
impl<'a> Default for TextFt2SourceV2<'a> {
504
0
    fn default() -> Self {
505
0
        Self {
506
0
            antialiasing: true,
507
0
            color1: RGBA8::new(255, 255, 255, 255),
508
0
            color2: RGBA8::new(255, 255, 255, 255),
509
0
            custom_width: 0,
510
0
            drop_shadow: false,
511
0
            font: Font::default(),
512
0
            from_file: false,
513
0
            log_lines: 6,
514
0
            log_mode: false,
515
0
            outline: false,
516
0
            text: "",
517
0
            text_file: Path::new(""),
518
0
            word_wrap: false,
519
0
        }
520
0
    }
Unexecuted instantiation: <obws::requests::custom::source_settings::TextFt2SourceV2 as core::default::Default>::default
Unexecuted instantiation: <obws::requests::custom::source_settings::TextFt2SourceV2 as core::default::Default>::default
521
}
522
523
/// Font settings for a [`TextFt2SourceV2`].
524
0
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::custom::source_settings::Font as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::custom::source_settings::Font as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::source_settings::Font as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::custom::source_settings::Font as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
525
pub struct Font<'a> {
526
    /// Font face.
527
    pub face: &'a str,
528
    /// Flags for different display styles.
529
    #[serde(with = "crate::serde::bitflags_u8")]
530
    pub flags: FontFlags,
531
    /// Display size.
532
    pub size: u32,
533
    /// Specific font style. Must eventually be set together with [`Self::flags`].
534
    ///
535
    /// For example:
536
    /// - [`FontFlags::BOLD`] and style `"Bold"`.
537
    /// - [`FontFlags::ITALIC`] and style `"Italic"`.
538
    pub style: &'a str,
539
}
540
541
impl<'a> Default for Font<'a> {
542
0
    fn default() -> Self {
543
0
        Self {
544
0
            face: "Helvetica",
545
0
            flags: FontFlags::empty(),
546
0
            size: 256,
547
0
            style: "Regular",
548
0
        }
549
0
    }
Unexecuted instantiation: <obws::requests::custom::source_settings::Font as core::default::Default>::default
Unexecuted instantiation: <obws::requests::custom::source_settings::Font as core::default::Default>::default
550
}
551
552
/// Settings specific to a **VLC** video source.
553
0
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::custom::source_settings::VlcSource as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::custom::source_settings::VlcSource as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::source_settings::VlcSource as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::custom::source_settings::VlcSource as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
554
pub struct VlcSource<'a> {
555
    /// Loop play-list.
556
    #[serde(rename = "bool")]
557
    pub loop_: bool,
558
    /// Shuffle play-list.
559
    pub shuffle: bool,
560
    /// Visibility behavior.
561
    pub playback_behavior: PlaybackBehavior,
562
    /// List of files to play.
563
    pub playlist: &'a [SlideshowFile<'a>],
564
    /// Network caching time. Minimum value is `100ms`.
565
    #[serde(with = "crate::serde::duration_millis")]
566
    pub network_caching: Duration,
567
    /// Audio track. Minimum value is `1`.
568
    pub track: u32,
569
    /// Subtitles enabled.
570
    pub subtitle_enable: bool,
571
    /// Subtitle track. Minimum value is `1`.
572
    pub subtitle: u32,
573
}
574
575
impl<'a> Default for VlcSource<'a> {
576
0
    fn default() -> Self {
577
0
        Self {
578
0
            loop_: true,
579
0
            shuffle: false,
580
0
            playback_behavior: PlaybackBehavior::StopRestart,
581
0
            playlist: &[],
582
0
            network_caching: Duration::milliseconds(400),
583
0
            track: 1,
584
0
            subtitle_enable: false,
585
0
            subtitle: 1,
586
0
        }
587
0
    }
Unexecuted instantiation: <obws::requests::custom::source_settings::VlcSource as core::default::Default>::default
Unexecuted instantiation: <obws::requests::custom::source_settings::VlcSource as core::default::Default>::default
588
}
589
590
/// Settings specific to an audio/video input capture source.
591
0
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::custom::source_settings::AvCaptureInputV2 as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::custom::source_settings::AvCaptureInputV2 as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::custom::source_settings::AvCaptureInputV2 as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::source_settings::AvCaptureInputV2 as serde::ser::Serialize>::serialize::<_>
592
pub struct AvCaptureInputV2<'a> {
593
    /// Whether to use buffering.
594
    pub buffering: bool,
595
    /// Specific color space of the video. Only used if [`Self::use_preset`] is
596
    /// `false`).
597
    pub color_space: ColorSpace,
598
    /// Device identifier.
599
    pub device: &'a str,
600
    /// Name of the capture device.
601
    pub device_name: &'a str,
602
    /// Frame rate of the capture. Only used if [`Self::use_preset`] is `false`).
603
    pub frame_rate: FrameRate,
604
    /// Encoded input format. Only used if [`Self::use_preset`] is `false`).
605
    pub input_format: u32,
606
    /// Pre-configured setting. Only used if [`Self::use_preset`] is `true`).
607
    pub preset: AvPreset,
608
    /// Video resolution. Only used if [`Self::use_preset`] is `false`).
609
    #[serde(with = "crate::serde::json_string")]
610
    pub resolution: Resolution,
611
    /// Whether to use a setting preset.
612
    pub use_preset: bool,
613
    /// Video color range. Only used if [`Self::use_preset`] is `false`).
614
    pub video_range: VideoRange,
615
}
616
617
/// Color space as part of an [`AvCaptureInputV2`].
618
0
#[derive(Serialize_repr)]
Unexecuted instantiation: <obws::requests::custom::source_settings::ColorSpace as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::source_settings::ColorSpace as serde::ser::Serialize>::serialize::<_>
619
#[repr(i8)]
620
pub enum ColorSpace {
621
    /// Automatic detection.
622
    Auto = -1,
623
    /// Rec. 601 color space.
624
    Rec601 = 1,
625
    /// Rec. 709 color space.
626
    Rec709 = 2,
627
}
628
629
impl Default for ColorSpace {
630
0
    fn default() -> Self {
631
0
        Self::Auto
632
0
    }
Unexecuted instantiation: <obws::requests::custom::source_settings::ColorSpace as core::default::Default>::default
Unexecuted instantiation: <obws::requests::custom::source_settings::ColorSpace as core::default::Default>::default
633
}
634
635
/// Video color range as part of an [`AvCaptureInputV2`].
636
0
#[derive(Serialize_repr)]
Unexecuted instantiation: <obws::requests::custom::source_settings::VideoRange as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::source_settings::VideoRange as serde::ser::Serialize>::serialize::<_>
637
#[repr(i8)]
638
pub enum VideoRange {
639
    /// Automatic detection.
640
    Auto = -1,
641
    /// Partial color range.
642
    Partial = 1,
643
    /// Full color range.
644
    Full = 2,
645
}
646
647
impl Default for VideoRange {
648
0
    fn default() -> Self {
649
0
        Self::Auto
650
0
    }
Unexecuted instantiation: <obws::requests::custom::source_settings::VideoRange as core::default::Default>::default
Unexecuted instantiation: <obws::requests::custom::source_settings::VideoRange as core::default::Default>::default
651
}
652
653
/// Different presets for the [`AvCaptureInputV2`].
654
0
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::custom::source_settings::AvPreset as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::source_settings::AvPreset as serde::ser::Serialize>::serialize::<_>
655
pub enum AvPreset {
656
    /// Preset for resolution _3840x2160_ (may not be available).
657
    #[serde(rename = "AVCaptureSessionPreset3840x2160")]
658
    Res3840x2160,
659
    /// Preset for resolution _1920x1080_ (may not be available).
660
    #[serde(rename = "AVCaptureSessionPreset1920x1080")]
661
    Res1920x1080,
662
    /// Preset for resolution _1280x720_.
663
    #[serde(rename = "AVCaptureSessionPreset1280x720")]
664
    Res1280x720,
665
    /// Preset for resolution _960x540_.
666
    #[serde(rename = "AVCaptureSessionPreset960x540")]
667
    Res960x540,
668
    /// Preset for resolution _640x480_.
669
    #[serde(rename = "AVCaptureSessionPreset640x480")]
670
    Res640x480,
671
    /// Preset for resolution _352x288_.
672
    #[serde(rename = "AVCaptureSessionPreset352x288")]
673
    Res352x288,
674
    /// Preset for resolution _320x240_.
675
    #[serde(rename = "AVCaptureSessionPreset320x240")]
676
    Res320x240,
677
    /// Preset for high quality.
678
    #[serde(rename = "AVCaptureSessionPresetHigh")]
679
    High,
680
    /// Preset for medium quality (may not be available).
681
    #[serde(rename = "AVCaptureSessionPresetMedium")]
682
    Medium,
683
    /// Preset for low quality (may not be available).
684
    #[serde(rename = "AVCaptureSessionPresetLow")]
685
    Low,
686
}
687
688
/// Video frame rate of an [`AvCaptureInputV2`].
689
///
690
/// The value is split into numerator and denominator as integer values instead of a floating point
691
/// value. To calculate the frame rate as FPS divide the `numerator` by the `denominator`.
692
0
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::custom::source_settings::FrameRate as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::source_settings::FrameRate as serde::ser::Serialize>::serialize::<_>
693
pub struct FrameRate {
694
    /// The numerator to form the frame rate.
695
    pub numerator: u64,
696
    /// Denominator to form the frame rate.
697
    pub denominator: u64,
698
}
699
700
/// Video resolution for an [`AvCaptureInputV2`].
701
0
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::custom::source_settings::Resolution as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::source_settings::Resolution as serde::ser::Serialize>::serialize::<_>
702
pub struct Resolution {
703
    /// Video width.
704
    pub width: u32,
705
    /// Video height.
706
    pub height: u32,
707
}
708
709
/// Settings specific to a window capture source.
710
0
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::custom::source_settings::WindowCapture as core::default::Default>::default
Unexecuted instantiation: <obws::requests::custom::source_settings::WindowCapture as core::default::Default>::default
Unexecuted instantiation: <obws::requests::custom::source_settings::WindowCapture as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::source_settings::WindowCapture as serde::ser::Serialize>::serialize::<_>
711
pub struct WindowCapture<'a> {
712
    /// Name of the owning process.
713
    pub owner_name: &'a str,
714
    /// Name of the window, usually seen in the title bar of the window frame.
715
    pub window_name: &'a str,
716
    /// Unique ID of the window.
717
    pub window: u16,
718
    /// Show windows with empty names.
719
    pub show_empty_names: bool,
720
    /// Show window shadow.
721
    pub show_shadow: bool,
722
}
\ No newline at end of file diff --git a/coverage/src/requests/custom/transitions.rs.html b/coverage/src/requests/custom/transitions.rs.html new file mode 100644 index 0000000..ff9cd3c --- /dev/null +++ b/coverage/src/requests/custom/transitions.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/requests/custom/transitions.rs
Line
Count
Source (jump to first uncovered line)
1
//! Additional structs for use with [`crate::client::Inputs::set_settings`].
2
3
use std::path::Path;
4
5
use rgb::RGBA8;
6
use serde::Serialize;
7
use serde_repr::Serialize_repr;
8
9
/// Identifier for swipe transitions.
10
pub const TYPE_SWIPE: &str = "swipe_transition";
11
/// Identifier for slide transitions.
12
pub const TYPE_SLIDE: &str = "slide_transition";
13
/// Identifier for stinger transitions.
14
pub const TYPE_STINGER: &str = "obs_stinger_transition";
15
/// Identifier for fade to color transitions.
16
pub const TYPE_FADE_TO_COLOR: &str = "fade_to_color_transition";
17
/// Identifier for luma wipe transitions.
18
pub const TYPE_WIPE: &str = "wipe_transition";
19
20
/// Options for a swipe transition. A swipe describes one scene hovering over another and making
21
/// the other scene visible by moving in/out of the scene.
22
0
#[derive(Debug, Default, Serialize)]
Unexecuted instantiation: <obws::requests::custom::transitions::Swipe as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::requests::custom::transitions::Swipe as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::requests::custom::transitions::Swipe as core::default::Default>::default
Unexecuted instantiation: <obws::requests::custom::transitions::Swipe as core::default::Default>::default
Unexecuted instantiation: <obws::requests::custom::transitions::Swipe as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::transitions::Swipe as serde::ser::Serialize>::serialize::<_>
23
pub struct Swipe {
24
    /// Direction of the swipe.
25
    pub direction: Direction,
26
    /// Let the new scene swipe into the screen over the current scene. Otherwise the current scene
27
    /// swipes out with the new scene behind it becoming visible.
28
    pub swipe_in: bool,
29
}
30
31
/// Options for a slide transition. A slide describes two scene directly next to each other making
32
/// one visible by "pushing" the other one away.
33
0
#[derive(Debug, Default, Serialize)]
Unexecuted instantiation: <obws::requests::custom::transitions::Slide as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::requests::custom::transitions::Slide as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::requests::custom::transitions::Slide as core::default::Default>::default
Unexecuted instantiation: <obws::requests::custom::transitions::Slide as core::default::Default>::default
Unexecuted instantiation: <obws::requests::custom::transitions::Slide as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::transitions::Slide as serde::ser::Serialize>::serialize::<_>
34
pub struct Slide {
35
    /// Direction of the slide.
36
    pub direction: Direction,
37
}
38
39
/// The direction for a [`Swipe`] or [`Slide].
40
0
#[derive(Clone, Copy, Debug, Serialize)]
Unexecuted instantiation: <obws::requests::custom::transitions::Direction as core::clone::Clone>::clone
Unexecuted instantiation: <obws::requests::custom::transitions::Direction as core::clone::Clone>::clone
Unexecuted instantiation: <obws::requests::custom::transitions::Direction as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::requests::custom::transitions::Direction as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::requests::custom::transitions::Direction as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::transitions::Direction as serde::ser::Serialize>::serialize::<_>
41
#[serde(rename_all = "lowercase")]
42
pub enum Direction {
43
    /// From/to the left.
44
    Left,
45
    /// From/to the right.
46
    Right,
47
    /// From/to the top.
48
    Up,
49
    /// From/to the bottom.
50
    Down,
51
}
52
53
impl Default for Direction {
54
0
    fn default() -> Self {
55
0
        Self::Left
56
0
    }
Unexecuted instantiation: <obws::requests::custom::transitions::Direction as core::default::Default>::default
Unexecuted instantiation: <obws::requests::custom::transitions::Direction as core::default::Default>::default
57
}
58
59
/// Options for a stinger transition. A stinger describes a video being used to hide the old scene
60
/// completely, then switch the scene while only the video is visible. Afterwards the video moves
61
/// out of the view again to make the new scene visible.
62
0
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::custom::transitions::Stinger as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::transitions::Stinger as serde::ser::Serialize>::serialize::<_>
63
pub struct Stinger<'a> {
64
    /// Location of the video file.
65
    pub path: &'a Path,
66
    /// The type of value that [`Self::transition_point`] stands for.
67
    pub tp_type: TransitionPointType,
68
    /// Point at which the scene transition triggers. What unit of this value depends on the set
69
    /// [`Self::tp_type`].
70
    pub transition_point: u32,
71
    /// The kind of audio monitoring to apply. This means whether to send the audio to the output
72
    /// stream, only play it locally or do it both.
73
    pub audio_monitoring: AudioMonitoring,
74
    /// The way audio is gradually swapped between two scenes.
75
    pub audio_fade_style: AudioFadeStyle,
76
}
77
78
/// Different units that are used together with a value to define scene switching point of a video
79
/// transition.
80
0
#[derive(Clone, Copy, Debug, Serialize_repr)]
Unexecuted instantiation: <obws::requests::custom::transitions::TransitionPointType as core::clone::Clone>::clone
Unexecuted instantiation: <obws::requests::custom::transitions::TransitionPointType as core::clone::Clone>::clone
Unexecuted instantiation: <obws::requests::custom::transitions::TransitionPointType as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::requests::custom::transitions::TransitionPointType as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::requests::custom::transitions::TransitionPointType as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::transitions::TransitionPointType as serde::ser::Serialize>::serialize::<_>
81
#[repr(u8)]
82
pub enum TransitionPointType {
83
    /// Time in milliseconds.
84
    Time = 0,
85
    /// Frames (single images) of the video.
86
    Frame = 1,
87
}
88
89
impl Default for TransitionPointType {
90
0
    fn default() -> Self {
91
0
        Self::Time
92
0
    }
Unexecuted instantiation: <obws::requests::custom::transitions::TransitionPointType as core::default::Default>::default
Unexecuted instantiation: <obws::requests::custom::transitions::TransitionPointType as core::default::Default>::default
93
}
94
95
/// Setting for the audio monitoring which defines whether audio is send to the stream, played
96
/// locally or both at the same time.
97
0
#[derive(Clone, Copy, Debug, Serialize_repr)]
Unexecuted instantiation: <obws::requests::custom::transitions::AudioMonitoring as core::clone::Clone>::clone
Unexecuted instantiation: <obws::requests::custom::transitions::AudioMonitoring as core::clone::Clone>::clone
Unexecuted instantiation: <obws::requests::custom::transitions::AudioMonitoring as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::requests::custom::transitions::AudioMonitoring as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::requests::custom::transitions::AudioMonitoring as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::transitions::AudioMonitoring as serde::ser::Serialize>::serialize::<_>
98
#[repr(u8)]
99
pub enum AudioMonitoring {
100
    /// No monitoring, means to insert the audio into the output stream but not playing it on the
101
    /// local machine.
102
    MonitorOff = 0,
103
    /// The opposite of [`Self::MonitorOff`], playing the audio locally but not sending it to
104
    /// the stream.
105
    MonitorOnly = 1,
106
    /// A combination of the other options where audio is send to the stream as well as played
107
    /// locally.
108
    MonitorAndOutput = 2,
109
}
110
111
impl Default for AudioMonitoring {
112
0
    fn default() -> Self {
113
0
        Self::MonitorOff
114
0
    }
Unexecuted instantiation: <obws::requests::custom::transitions::AudioMonitoring as core::default::Default>::default
Unexecuted instantiation: <obws::requests::custom::transitions::AudioMonitoring as core::default::Default>::default
115
}
116
117
/// Describes the way in which the audio is faded between two scenes with a [`Stinger`] transition.
118
0
#[derive(Clone, Copy, Debug, Serialize_repr)]
Unexecuted instantiation: <obws::requests::custom::transitions::AudioFadeStyle as core::clone::Clone>::clone
Unexecuted instantiation: <obws::requests::custom::transitions::AudioFadeStyle as core::clone::Clone>::clone
Unexecuted instantiation: <obws::requests::custom::transitions::AudioFadeStyle as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::requests::custom::transitions::AudioFadeStyle as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::requests::custom::transitions::AudioFadeStyle as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::transitions::AudioFadeStyle as serde::ser::Serialize>::serialize::<_>
119
#[repr(u8)]
120
pub enum AudioFadeStyle {
121
    /// Fade out to transition point then fade in.
122
    FadeOutFadeIn = 0,
123
    /// Fade out the audio from the old scene and fade in the new scene's audio at the same time,
124
    /// creating a slight overlap.
125
    Crossfade = 1,
126
}
127
128
impl Default for AudioFadeStyle {
129
0
    fn default() -> Self {
130
0
        Self::FadeOutFadeIn
131
0
    }
Unexecuted instantiation: <obws::requests::custom::transitions::AudioFadeStyle as core::default::Default>::default
Unexecuted instantiation: <obws::requests::custom::transitions::AudioFadeStyle as core::default::Default>::default
132
}
133
134
/// Options for a fade to color transition. A color fading describes one scene being blended with
135
/// a given color until only the color is visible and then blend from the color to the new scene
136
/// until the color is fully gone.
137
0
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::custom::transitions::FadeToColor as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::custom::transitions::FadeToColor as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::transitions::FadeToColor as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::custom::transitions::FadeToColor as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
138
pub struct FadeToColor {
139
    /// Color to blend in/out.
140
    #[serde(with = "crate::serde::rgba8_inverse")]
141
    pub color: RGBA8,
142
    /// The point at which the scenes are swapped. Maximum value is `100`.
143
    pub switch_point: u8,
144
}
145
146
/// Options for a luma wipe transition. A luma wipe describes one scene being gradually displayed
147
/// over the other, where the luma image defines a certain animation to do so.
148
0
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::custom::transitions::Wipe as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::transitions::Wipe as serde::ser::Serialize>::serialize::<_>
149
pub struct Wipe {
150
    /// The image to use. This describes the animation that is used.
151
    pub luma_image: LumaImage,
152
    /// Invert the animation.
153
    pub luma_invert: bool,
154
    /// Softness of the edges inside the animation where old and new scene "touch".
155
    pub luma_softness: f64,
156
}
157
158
/// A luma image that defines the animation of a [`Wipe`].
159
0
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::custom::transitions::LumaImage as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::custom::transitions::LumaImage as serde::ser::Serialize>::serialize::<_>
160
pub enum LumaImage {
161
    /// Barn door animation diagonal from the bottom left.
162
    #[serde(rename = "barndoor-botleft.png")]
163
    BarndoorBottomLeft,
164
    /// Horizontal barn door animation.
165
    #[serde(rename = "barndoor-h.png")]
166
    BarndoorHorizontal,
167
    /// Barn door animation diagonal from the top left.
168
    #[serde(rename = "barndoor-topleft.png")]
169
    BarndoorTopLeft,
170
    /// Vertical barn door animation.
171
    #[serde(rename = "barndoor-v.png")]
172
    BarndoorVertical,
173
    #[serde(rename = "blinds-h.png")]
174
    /// Horizontal blinds animation.
175
    BlindsHorizontal,
176
    /// Box animation from the bottom left.
177
    #[serde(rename = "box-botleft.png")]
178
    BoxBottomLeft,
179
    /// Box animation from the bottom right.
180
    #[serde(rename = "box-botright.png")]
181
    BoxBottomRight,
182
    /// Box animation from the top left.
183
    #[serde(rename = "box-topleft.png")]
184
    BoxTopLeft,
185
    /// Box animation from the top right.
186
    #[serde(rename = "box-topright.png")]
187
    BoxTopRight,
188
    /// Burst animation.
189
    #[serde(rename = "burst.png")]
190
    Burst,
191
    /// Small checkerboard animation.
192
    #[serde(rename = "checkerboard-small.png")]
193
    CheckerboardSmall,
194
    /// Circles animation.
195
    #[serde(rename = "circles.png")]
196
    Circles,
197
    /// Clock sweep animation.
198
    #[serde(rename = "clock.png")]
199
    Clock,
200
    /// Cloud animation.
201
    #[serde(rename = "cloud.png")]
202
    Cloud,
203
    /// Curtain animation.
204
    #[serde(rename = "curtain.png")]
205
    Curtain,
206
    /// Fan animation.
207
    #[serde(rename = "fan.png")]
208
    Fan,
209
    /// Fractal animation.
210
    #[serde(rename = "fractal.png")]
211
    Fractal,
212
    /// Iris animation.
213
    #[serde(rename = "iris.png")]
214
    Iris,
215
    /// Horizontal linear animation.
216
    #[serde(rename = "linear-h.png")]
217
    LinearHorizontal,
218
    /// Linear animation from the top left.
219
    #[serde(rename = "linear-topleft.png")]
220
    LinearTopLeft,
221
    /// Linear animation from the top right.
222
    #[serde(rename = "linear-topright.png")]
223
    LinearTopRight,
224
    /// Vertical liner animation.
225
    #[serde(rename = "linear-v.png")]
226
    LinearVertical,
227
    /// Horizontal parallel zig-zag animation.
228
    #[serde(rename = "parallel-zigzag-h.png")]
229
    ParallelZigzagHorizontal,
230
    /// Vertical parallel zig-zag animation.
231
    #[serde(rename = "parallel-zigzag-v.png")]
232
    ParallelZigzagVertical,
233
    /// Sinus9 animation.
234
    #[serde(rename = "sinus9.png")]
235
    Sinus9,
236
    /// Spiral animation.
237
    #[serde(rename = "spiral.png")]
238
    Spiral,
239
    /// Square animation.
240
    #[serde(rename = "square.png")]
241
    Square,
242
    /// Squares animation.
243
    #[serde(rename = "squares.png")]
244
    Squares,
245
    /// Stripes animation.
246
    #[serde(rename = "stripes.png")]
247
    Stripes,
248
    /// Horizontal strips animation.
249
    #[serde(rename = "strips-h.png")]
250
    StripsHorizontal,
251
    /// Vertical strips animation.
252
    #[serde(rename = "strips-v.png")]
253
    StripsVertical,
254
    /// Watercolor animation.
255
    #[serde(rename = "watercolor.png")]
256
    Watercolor,
257
    /// Horizontal zig-zag animation.
258
    #[serde(rename = "zigzag-h.png")]
259
    ZigzagHorizontal,
260
    /// Vertical zig-zag animation.
261
    #[serde(rename = "zigzag-v.png")]
262
    ZigzagVertical,
263
}
264
265
impl Default for LumaImage {
266
0
    fn default() -> Self {
267
0
        Self::LinearHorizontal
268
0
    }
Unexecuted instantiation: <obws::requests::custom::transitions::LumaImage as core::default::Default>::default
Unexecuted instantiation: <obws::requests::custom::transitions::LumaImage as core::default::Default>::default
269
}
\ No newline at end of file diff --git a/coverage/src/requests/filters.rs.html b/coverage/src/requests/filters.rs.html new file mode 100644 index 0000000..77577db --- /dev/null +++ b/coverage/src/requests/filters.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/requests/filters.rs
Line
Count
Source (jump to first uncovered line)
1
//! Requests related to filters.
2
3
use serde::Serialize;
4
use serde_with::skip_serializing_none;
5
6
51
#[derive(
S29
eri
aliz22
e)]
<<obws::requests::filters::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
6
1
#[derive(Serialize)]
<<obws::requests::filters::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
6
1
#[derive(Serialize)]
<<obws::requests::filters::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
6
1
#[derive(Serialize)]
<<obws::requests::filters::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
6
19
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::filters::Request as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
<obws::requests::filters::Request as serde::ser::Serialize>::serialize::<serde::__private::ser::FlatMapSerializer<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>>
Line
Count
Source
6
29
#[derive(Serialize)]
Unexecuted instantiation: <<obws::requests::filters::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::filters::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::filters::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::filters::Request as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::filters::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::filters::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::filters::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::filters::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::filters::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::filters::Request as serde::ser::Serialize>::serialize::<_>
7
#[serde(tag = "requestType", content = "requestData")]
8
pub(crate) enum Request<'a> {
9
    #[serde(rename = "GetSourceFilterList")]
10
    List {
11
        /// Name of the source.
12
        #[serde(rename = "sourceName")]
13
        source: &'a str,
14
    },
15
    #[serde(rename = "GetSourceFilterDefaultSettings")]
16
    DefaultSettings {
17
        /// Filter kind to get the default settings for.
18
        #[serde(rename = "filterKind")]
19
        kind: &'a str,
20
    },
21
    #[serde(rename = "CreateSourceFilter")]
22
    Create(CreateInternal<'a>),
23
    #[serde(rename = "RemoveSourceFilter")]
24
    Remove {
25
        /// Name of the source the filter is on.
26
        #[serde(rename = "sourceName")]
27
        source: &'a str,
28
        /// Name of the filter to remove.
29
        #[serde(rename = "filterName")]
30
        filter: &'a str,
31
    },
32
    #[serde(rename = "SetSourceFilterName")]
33
    SetName(SetName<'a>),
34
    #[serde(rename = "GetSourceFilter")]
35
    Get {
36
        /// Name of the source.
37
        #[serde(rename = "sourceName")]
38
        source: &'a str,
39
        /// Name of the filter.
40
        #[serde(rename = "filterName")]
41
        filter: &'a str,
42
    },
43
    #[serde(rename = "SetSourceFilterIndex")]
44
    SetIndex(SetIndex<'a>),
45
    #[serde(rename = "SetSourceFilterSettings")]
46
    SetSettings(SetSettingsInternal<'a>),
47
    #[serde(rename = "SetSourceFilterEnabled")]
48
    SetEnabled(SetEnabled<'a>),
49
}
50
51
impl<'a> From<Request<'a>> for super::RequestType<'a> {
52
29
    fn from(value: Request<'a>) -> Self {
53
29
        super::RequestType::Filters(value)
54
29
    }
<obws::requests::RequestType as core::convert::From<obws::requests::filters::Request>>::from
Line
Count
Source
52
29
    fn from(value: Request<'a>) -> Self {
53
29
        super::RequestType::Filters(value)
54
29
    }
Unexecuted instantiation: <obws::requests::RequestType as core::convert::From<obws::requests::filters::Request>>::from
55
}
56
57
/// Request information for [`crate::client::Filters::create`].
58
pub struct Create<'a, T> {
59
    /// Name of the source to add the filter to.
60
    pub source: &'a str,
61
    /// Name of the new filter to be created.
62
    pub filter: &'a str,
63
    /// The kind of filter to be created.
64
    pub kind: &'a str,
65
    /// Settings object to initialize the filter with.
66
    pub settings: Option<T>,
67
}
68
69
/// Request information for [`crate::client::Filters::create_source_filter`].
70
#[skip_serializing_none]
71
1
#[derive(
Default0
, Serialize)]
Unexecuted instantiation: <obws::requests::filters::CreateInternal as core::default::Default>::default
Unexecuted instantiation: <obws::requests::filters::CreateInternal as core::default::Default>::default
<obws::requests::filters::CreateInternal as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
71
1
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::filters::CreateInternal as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::filters::CreateInternal as serde::ser::Serialize>::serialize::<_>
72
pub(crate) struct CreateInternal<'a> {
73
    /// Name of the source to add the filter to.
74
    #[serde(rename = "sourceName")]
75
    pub source: &'a str,
76
    /// Name of the new filter to be created.
77
    #[serde(rename = "filterName")]
78
    pub filter: &'a str,
79
    /// The kind of filter to be created.
80
    #[serde(rename = "filterKind")]
81
    pub kind: &'a str,
82
    /// Settings object to initialize the filter with.
83
    #[serde(rename = "filterSettings")]
84
    pub settings: Option<serde_json::Value>,
85
}
86
87
/// Request information for [`crate::client::Filters::set_name`].
88
2
#[derive(
Default0
, Serialize)]
Unexecuted instantiation: <obws::requests::filters::SetName as core::default::Default>::default
Unexecuted instantiation: <obws::requests::filters::SetName as core::default::Default>::default
<obws::requests::filters::SetName as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
88
2
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::filters::SetName as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::filters::SetName as serde::ser::Serialize>::serialize::<_>
89
pub struct SetName<'a> {
90
    /// Name of the source the filter is on.
91
    #[serde(rename = "sourceName")]
92
    pub source: &'a str,
93
    /// Current name of the filter.
94
    #[serde(rename = "filterName")]
95
    pub filter: &'a str,
96
    /// New name for the filter.
97
    #[serde(rename = "newFilterName")]
98
    pub new_name: &'a str,
99
}
100
101
/// Request information for [`crate::client::Filters::set_index`].
102
1
#[derive(
Default0
, Serialize)]
Unexecuted instantiation: <obws::requests::filters::SetIndex as core::default::Default>::default
Unexecuted instantiation: <obws::requests::filters::SetIndex as core::default::Default>::default
<obws::requests::filters::SetIndex as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
102
1
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::filters::SetIndex as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::filters::SetIndex as serde::ser::Serialize>::serialize::<_>
103
pub struct SetIndex<'a> {
104
    /// Name of the source the filter is on.
105
    #[serde(rename = "sourceName")]
106
    pub source: &'a str,
107
    /// Name of the filter.
108
    #[serde(rename = "filterName")]
109
    pub filter: &'a str,
110
    /// New index position of the filter.
111
    #[serde(rename = "filterIndex")]
112
    pub index: u32,
113
}
114
115
/// Request information for [`crate::client::Filters::set_settings`].
116
pub struct SetSettings<'a, T> {
117
    /// Name of the source the filter is on.
118
    pub source: &'a str,
119
    /// Name of the filter to set the settings of.
120
    pub filter: &'a str,
121
    /// Object of settings to apply.
122
    pub settings: T,
123
    /// Whether to overlay over the current settings or replace them.
124
    pub overlay: Option<bool>,
125
}
126
127
/// Request information for [`crate::client::Filters::set_settings`].
128
1
#[derive(
Default0
, Serialize)]
Unexecuted instantiation: <obws::requests::filters::SetSettingsInternal as core::default::Default>::default
Unexecuted instantiation: <obws::requests::filters::SetSettingsInternal as core::default::Default>::default
<obws::requests::filters::SetSettingsInternal as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
128
1
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::filters::SetSettingsInternal as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::filters::SetSettingsInternal as serde::ser::Serialize>::serialize::<_>
129
pub(crate) struct SetSettingsInternal<'a> {
130
    /// Name of the source the filter is on.
131
    #[serde(rename = "sourceName")]
132
    pub source: &'a str,
133
    /// Name of the filter to set the settings of.
134
    #[serde(rename = "filterName")]
135
    pub filter: &'a str,
136
    /// Object of settings to apply.
137
    #[serde(rename = "filterSettings")]
138
    pub settings: serde_json::Value,
139
    /// Whether to overlay over the current settings or replace them.
140
    #[serde(rename = "overlay")]
141
    pub overlay: Option<bool>,
142
}
143
144
/// Request information for [`crate::client::Filters::set_enabled`].
145
2
#[derive(
Default0
, Serialize)]
Unexecuted instantiation: <obws::requests::filters::SetEnabled as core::default::Default>::default
Unexecuted instantiation: <obws::requests::filters::SetEnabled as core::default::Default>::default
<obws::requests::filters::SetEnabled as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
145
2
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::filters::SetEnabled as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::filters::SetEnabled as serde::ser::Serialize>::serialize::<_>
146
pub struct SetEnabled<'a> {
147
    /// Name of the source the filter is on.
148
    #[serde(rename = "sourceName")]
149
    pub source: &'a str,
150
    /// Name of the filter.
151
    #[serde(rename = "filterName")]
152
    pub filter: &'a str,
153
    /// New enable state of the filter.
154
    #[serde(rename = "filterEnabled")]
155
    pub enabled: bool,
156
}
\ No newline at end of file diff --git a/coverage/src/requests/general.rs.html b/coverage/src/requests/general.rs.html new file mode 100644 index 0000000..613a3bb --- /dev/null +++ b/coverage/src/requests/general.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/requests/general.rs
Line
Count
Source (jump to first uncovered line)
1
//! General requests, not fitting into any category.
2
3
use serde::Serialize;
4
5
22
#[derive(
S21
eri
aliz1
e)]
Unexecuted instantiation: <obws::requests::general::Request as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
<obws::requests::general::Request as serde::ser::Serialize>::serialize::<serde::__private::ser::FlatMapSerializer<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>>
Line
Count
Source
5
21
#[derive(Serialize)]
<<obws::requests::general::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
5
1
#[derive(Serialize)]
Unexecuted instantiation: <<obws::requests::general::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::general::Request as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::general::Request as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::general::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
6
#[serde(tag = "requestType", content = "requestData")]
7
pub(crate) enum Request<'a> {
8
    #[serde(rename = "GetVersion")]
9
    Version,
10
    #[serde(rename = "GetStats")]
11
    Stats,
12
    #[serde(rename = "BroadcastCustomEvent")]
13
    BroadcastCustomEvent {
14
        /// Data payload to emit to all receivers.
15
        #[serde(rename = "eventData")]
16
        event_data: serde_json::Value,
17
    },
18
    #[serde(rename = "CallVendorRequest")]
19
    CallVendorRequest(CallVendorRequestInternal<'a>),
20
    // TODO: Sleep
21
}
22
23
impl<'a> From<Request<'a>> for super::RequestType<'a> {
24
21
    fn from(value: Request<'a>) -> Self {
25
21
        super::RequestType::General(value)
26
21
    }
<obws::requests::RequestType as core::convert::From<obws::requests::general::Request>>::from
Line
Count
Source
24
21
    fn from(value: Request<'a>) -> Self {
25
21
        super::RequestType::General(value)
26
21
    }
Unexecuted instantiation: <obws::requests::RequestType as core::convert::From<obws::requests::general::Request>>::from
27
}
28
29
/// Request information for [`crate::client::General::call_vendor_request`].
30
pub struct CallVendorRequest<'a, T> {
31
    /// Name of the vendor to use.
32
    pub vendor_name: &'a str,
33
    /// The request type to call.
34
    pub request_type: &'a str,
35
    /// Object containing appropriate request data.
36
    pub request_data: &'a T,
37
}
38
39
/// Request information for [`crate::client::General::call_vendor_request`].
40
0
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::general::CallVendorRequestInternal as core::default::Default>::default
Unexecuted instantiation: <obws::requests::general::CallVendorRequestInternal as core::default::Default>::default
Unexecuted instantiation: <obws::requests::general::CallVendorRequestInternal as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Unexecuted instantiation: <obws::requests::general::CallVendorRequestInternal as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::general::CallVendorRequestInternal as serde::ser::Serialize>::serialize::<_>
41
pub(crate) struct CallVendorRequestInternal<'a> {
42
    /// Name of the vendor to use.
43
    #[serde(rename = "vendorName")]
44
    pub vendor_name: &'a str,
45
    /// The request type to call.
46
    #[serde(rename = "requestType")]
47
    pub request_type: &'a str,
48
    /// Object containing appropriate request data.
49
    #[serde(rename = "requestData")]
50
    pub request_data: serde_json::Value,
51
}
\ No newline at end of file diff --git a/coverage/src/requests/hotkeys.rs.html b/coverage/src/requests/hotkeys.rs.html new file mode 100644 index 0000000..c8c0ac5 --- /dev/null +++ b/coverage/src/requests/hotkeys.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/requests/hotkeys.rs
Line
Count
Source
1
//! Requests related to hotkeys.
2
3
use serde::Serialize;
4
5
5
#[derive(
S3
eri
aliz2
e)]
Unexecuted instantiation: <obws::requests::hotkeys::Request as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
<obws::requests::hotkeys::Request as serde::ser::Serialize>::serialize::<serde::__private::ser::FlatMapSerializer<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>>
Line
Count
Source
5
3
#[derive(Serialize)]
<<obws::requests::hotkeys::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
5
1
#[derive(Serialize)]
<<obws::requests::hotkeys::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
5
1
#[derive(Serialize)]
Unexecuted instantiation: <<obws::requests::hotkeys::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::hotkeys::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::hotkeys::Request as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::hotkeys::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::hotkeys::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::hotkeys::Request as serde::ser::Serialize>::serialize::<_>
6
#[serde(tag = "requestType", content = "requestData")]
7
pub(crate) enum Request<'a> {
8
    #[serde(rename = "GetHotkeyList")]
9
    List,
10
    #[serde(rename = "TriggerHotkeyByName")]
11
    TriggerByName {
12
        /// Name of the hotkey to trigger.
13
        #[serde(rename = "hotkeyName")]
14
        name: &'a str,
15
    },
16
    #[serde(rename = "TriggerHotkeyByKeySequence")]
17
    TriggerBySequence {
18
        /// The OBS key ID to use.
19
        #[serde(rename = "keyId")]
20
        id: &'a str,
21
        /// Object containing key modifiers to apply.
22
        #[serde(rename = "keyModifiers")]
23
        modifiers: KeyModifiers,
24
    },
25
    // TODO: Sleep
26
}
27
28
impl<'a> From<Request<'a>> for super::RequestType<'a> {
29
3
    fn from(value: Request<'a>) -> Self {
30
3
        super::RequestType::Hotkeys(value)
31
3
    }
<obws::requests::RequestType as core::convert::From<obws::requests::hotkeys::Request>>::from
Line
Count
Source
29
3
    fn from(value: Request<'a>) -> Self {
30
3
        super::RequestType::Hotkeys(value)
31
3
    }
Unexecuted instantiation: <obws::requests::RequestType as core::convert::From<obws::requests::hotkeys::Request>>::from
32
}
33
34
/// Request information for
35
/// [`crate::client::Hotkeys::trigger_by_sequence`].
36
1
#[derive(Default, Serialize)]
<obws::requests::hotkeys::KeyModifiers as core::default::Default>::default
Line
Count
Source
36
1
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::hotkeys::KeyModifiers as core::default::Default>::default
Unexecuted instantiation: <obws::requests::hotkeys::KeyModifiers as core::default::Default>::default
<obws::requests::hotkeys::KeyModifiers as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
36
1
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::hotkeys::KeyModifiers as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::hotkeys::KeyModifiers as serde::ser::Serialize>::serialize::<_>
37
pub struct KeyModifiers {
38
    /// Press Shift.
39
    #[serde(rename = "shift")]
40
    pub shift: bool,
41
    /// Press CTRL.
42
    #[serde(rename = "control")]
43
    pub control: bool,
44
    /// Press ALT.
45
    #[serde(rename = "alt")]
46
    pub alt: bool,
47
    /// Press CMD (Mac).
48
    #[serde(rename = "command")]
49
    pub command: bool,
50
}
\ No newline at end of file diff --git a/coverage/src/requests/inputs.rs.html b/coverage/src/requests/inputs.rs.html new file mode 100644 index 0000000..503e6f4 --- /dev/null +++ b/coverage/src/requests/inputs.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/requests/inputs.rs
Line
Count
Source (jump to first uncovered line)
1
//! Requests related to inputs.
2
3
use serde::Serialize;
4
use serde_with::skip_serializing_none;
5
use time::Duration;
6
7
use crate::common::MonitorType;
8
9
75
#[derive(
S57
eri
aliz18
e)]
<<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
9
1
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::inputs::Request as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
<<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
9
2
#[derive(Serialize)]
<<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
9
1
#[derive(Serialize)]
<<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
9
1
#[derive(Serialize)]
<<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
9
2
#[derive(Serialize)]
<<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
9
1
#[derive(Serialize)]
<<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
9
1
#[derive(Serialize)]
<<<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
9
2
#[derive(Serialize)]
<<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
9
2
#[derive(Serialize)]
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
<<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
9
1
#[derive(Serialize)]
<<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
9
1
#[derive(Serialize)]
<<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
9
2
#[derive(Serialize)]
<<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
9
2
#[derive(Serialize)]
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
<<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
9
1
#[derive(Serialize)]
<<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
9
19
#[derive(Serialize)]
<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::<serde::__private::ser::FlatMapSerializer<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>>
Line
Count
Source
9
38
#[derive(Serialize)]
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::inputs::Request as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::inputs::Request as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
10
#[serde(tag = "requestType", content = "requestData")]
11
pub(crate) enum Request<'a> {
12
    #[serde(rename = "GetInputList")]
13
    List {
14
        /// Restrict the array to only inputs of the specified kind.
15
        #[serde(rename = "inputKind", skip_serializing_if = "Option::is_none")]
16
        kind: Option<&'a str>,
17
    },
18
    #[serde(rename = "GetInputKindList")]
19
    ListKinds {
20
        /// Return all kinds as unversioned or with version suffixes (if available).
21
        #[serde(rename = "unversioned")]
22
        unversioned: bool,
23
    },
24
    #[serde(rename = "GetInputDefaultSettings")]
25
    DefaultSettings {
26
        /// Input kind to get the default settings for.
27
        #[serde(rename = "inputKind")]
28
        kind: &'a str,
29
    },
30
    #[serde(rename = "GetInputSettings")]
31
    Settings {
32
        /// Name of the input to get the settings of.
33
        #[serde(rename = "inputName")]
34
        name: &'a str,
35
    },
36
    #[serde(rename = "SetInputSettings")]
37
    SetSettings(SetSettingsInternal<'a>),
38
    #[serde(rename = "GetInputMute")]
39
    Muted {
40
        /// Name of input to get the mute state of.
41
        #[serde(rename = "inputName")]
42
        name: &'a str,
43
    },
44
    #[serde(rename = "SetInputMute")]
45
    SetMuted {
46
        /// Name of the input to set the mute state of.
47
        #[serde(rename = "inputName")]
48
        name: &'a str,
49
        /// Whether to mute the input.
50
        #[serde(rename = "inputMuted")]
51
        muted: bool,
52
    },
53
    #[serde(rename = "ToggleInputMute")]
54
    ToggleMute {
55
        /// Name of the input to toggle the mute state of.
56
        #[serde(rename = "inputName")]
57
        name: &'a str,
58
    },
59
    #[serde(rename = "GetInputVolume")]
60
    Volume {
61
        /// Name of the input to get the volume of.
62
        #[serde(rename = "inputName")]
63
        name: &'a str,
64
    },
65
    #[serde(rename = "SetInputVolume")]
66
    SetVolume {
67
        /// Name of the input to set the volume of.
68
        #[serde(rename = "inputName")]
69
        name: &'a str,
70
        /// Volume settings in either mul or dB.
71
        #[serde(rename = "volume", flatten)]
72
        volume: Volume,
73
    },
74
    #[serde(rename = "SetInputName")]
75
    SetName {
76
        /// Current input name.
77
        #[serde(rename = "inputName")]
78
        name: &'a str,
79
        /// New name for the input.
80
        #[serde(rename = "newInputName")]
81
        new: &'a str,
82
    },
83
    #[serde(rename = "CreateInput")]
84
    Create(CreateInputInternal<'a>),
85
    #[serde(rename = "RemoveInput")]
86
    Remove {
87
        /// Name of the input to remove.
88
        #[serde(rename = "inputName")]
89
        name: &'a str,
90
    },
91
    #[serde(rename = "GetInputAudioSyncOffset")]
92
    AudioSyncOffset {
93
        /// Name of the input to get the audio sync offset of.
94
        #[serde(rename = "inputName")]
95
        name: &'a str,
96
    },
97
    #[serde(rename = "SetInputAudioSyncOffset")]
98
    SetAudioSyncOffset {
99
        /// Name of the input to set the audio sync offset of.
100
        #[serde(rename = "inputName")]
101
        name: &'a str,
102
        /// New audio sync offset in milliseconds.
103
        #[serde(
104
            rename = "inputAudioSyncOffset",
105
            with = "crate::serde::duration_millis"
106
        )]
107
        offset: Duration,
108
    },
109
    #[serde(rename = "GetInputAudioMonitorType")]
110
    AudioMonitorType {
111
        /// Name of the input to get the audio monitor type of.
112
        #[serde(rename = "inputName")]
113
        name: &'a str,
114
    },
115
    #[serde(rename = "SetInputAudioMonitorType")]
116
    SetAudioMonitorType {
117
        /// Name of the input to set the audio monitor type of.
118
        #[serde(rename = "inputName")]
119
        name: &'a str,
120
        /// Audio monitor type.
121
        #[serde(rename = "monitorType")]
122
        monitor_type: MonitorType,
123
    },
124
    #[serde(rename = "GetInputPropertiesListPropertyItems")]
125
    PropertiesListPropertyItems {
126
        /// Name of the input.
127
        #[serde(rename = "inputName")]
128
        input: &'a str,
129
        /// Name of the list property to get the items of.
130
        #[serde(rename = "propertyName")]
131
        property: &'a str,
132
    },
133
    #[serde(rename = "PressInputPropertiesButton")]
134
    PressPropertiesButton {
135
        /// Name of the input.
136
        #[serde(rename = "inputName")]
137
        input: &'a str,
138
        /// Name of the button property to press.
139
        #[serde(rename = "propertyName")]
140
        property: &'a str,
141
    },
142
}
143
144
impl<'a> From<Request<'a>> for super::RequestType<'a> {
145
38
    fn from(value: Request<'a>) -> Self {
146
38
        super::RequestType::Inputs(value)
147
38
    }
<obws::requests::RequestType as core::convert::From<obws::requests::inputs::Request>>::from
Line
Count
Source
145
38
    fn from(value: Request<'a>) -> Self {
146
38
        super::RequestType::Inputs(value)
147
38
    }
Unexecuted instantiation: <obws::requests::RequestType as core::convert::From<obws::requests::inputs::Request>>::from
148
}
149
150
/// Request information for [`crate::client::Inputs::set_settings`].
151
pub struct SetSettings<'a, T> {
152
    /// Name of the input to set the settings of.
153
    pub input: &'a str,
154
    /// Object of settings to apply.
155
    pub settings: &'a T,
156
    /// Apply settings on top of existing ones or reset the input to its defaults, then apply
157
    /// settings.
158
    pub overlay: Option<bool>,
159
}
160
161
/// Request information for [`crate::client::Inputs::set_input_settings`].
162
#[skip_serializing_none]
163
1
#[derive(
Default0
, Serialize)]
Unexecuted instantiation: <obws::requests::inputs::SetSettingsInternal as core::default::Default>::default
Unexecuted instantiation: <obws::requests::inputs::SetSettingsInternal as core::default::Default>::default
<obws::requests::inputs::SetSettingsInternal as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
163
1
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::inputs::SetSettingsInternal as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::inputs::SetSettingsInternal as serde::ser::Serialize>::serialize::<_>
164
pub(crate) struct SetSettingsInternal<'a> {
165
    /// Name of the input to set the settings of.
166
    #[serde(rename = "inputName")]
167
    pub input: &'a str,
168
    /// Object of settings to apply.
169
    #[serde(rename = "inputSettings")]
170
    pub settings: serde_json::Value,
171
    /// Apply settings on top of existing ones or reset the input to its defaults, then apply
172
    /// settings.
173
    #[serde(rename = "overlay")]
174
    pub overlay: Option<bool>,
175
}
176
177
/// Request information for [`crate::client::Inputs::set_volume`].
178
1
#[derive(Serialize)]
<obws::requests::inputs::Volume as serde::ser::Serialize>::serialize::<serde::__private::ser::FlatMapSerializer<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>>
Line
Count
Source
178
1
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::inputs::Volume as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::inputs::Volume as serde::ser::Serialize>::serialize::<_>
179
pub enum Volume {
180
    /// Volume setting in mul.
181
    #[serde(rename = "inputVolumeMul")]
182
    Mul(f32),
183
    /// Volume setting in dB.
184
    #[serde(rename = "inputVolumeDb")]
185
    Db(f32),
186
}
187
188
/// Request information for [`crate::client::Inputs::create`].
189
pub struct Create<'a, T> {
190
    /// Name of the scene to add the input to as a scene item.
191
    pub scene: &'a str,
192
    /// Name of the new input to created.
193
    pub input: &'a str,
194
    /// The kind of input to be created.
195
    pub kind: &'a str,
196
    /// Settings object to initialize the input with.
197
    pub settings: Option<T>,
198
    /// Whether to set the created scene item to enabled or disabled.
199
    pub enabled: Option<bool>,
200
}
201
202
/// Request information for [`crate::client::Inputs::create_input`].
203
#[skip_serializing_none]
204
0
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::inputs::CreateInputInternal as core::default::Default>::default
Unexecuted instantiation: <obws::requests::inputs::CreateInputInternal as core::default::Default>::default
Unexecuted instantiation: <obws::requests::inputs::CreateInputInternal as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Unexecuted instantiation: <obws::requests::inputs::CreateInputInternal as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::inputs::CreateInputInternal as serde::ser::Serialize>::serialize::<_>
205
pub(crate) struct CreateInputInternal<'a> {
206
    #[serde(rename = "sceneName")]
207
    pub scene: &'a str,
208
    #[serde(rename = "inputName")]
209
    pub input: &'a str,
210
    #[serde(rename = "inputKind")]
211
    pub kind: &'a str,
212
    #[serde(rename = "inputSettings")]
213
    pub settings: Option<serde_json::Value>,
214
    #[serde(rename = "sceneItemEnabled")]
215
    pub enabled: Option<bool>,
216
}
\ No newline at end of file diff --git a/coverage/src/requests/media_inputs.rs.html b/coverage/src/requests/media_inputs.rs.html new file mode 100644 index 0000000..f2e664e --- /dev/null +++ b/coverage/src/requests/media_inputs.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/requests/media_inputs.rs
Line
Count
Source
1
//! Requests related to media inputs.
2
3
use serde::Serialize;
4
use time::Duration;
5
6
use crate::common::MediaAction;
7
8
8
#[derive(
S4
eri
aliz4
e)]
<<obws::requests::media_inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
8
1
#[derive(Serialize)]
<<obws::requests::media_inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
8
1
#[derive(Serialize)]
<obws::requests::media_inputs::Request as serde::ser::Serialize>::serialize::<serde::__private::ser::FlatMapSerializer<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>>
Line
Count
Source
8
4
#[derive(Serialize)]
<<<obws::requests::media_inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
8
1
#[derive(Serialize)]
<<obws::requests::media_inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
8
1
#[derive(Serialize)]
<<obws::requests::media_inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
8
1
#[derive(Serialize)]
<<<obws::requests::media_inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
8
1
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::media_inputs::Request as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Unexecuted instantiation: <<obws::requests::media_inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::media_inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<<obws::requests::media_inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::media_inputs::Request as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<<obws::requests::media_inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::media_inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::media_inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::media_inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::media_inputs::Request as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<<obws::requests::media_inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<<obws::requests::media_inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::media_inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::media_inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::media_inputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
9
#[serde(tag = "requestType", content = "requestData")]
10
pub(crate) enum Request<'a> {
11
    #[serde(rename = "GetMediaInputStatus")]
12
    Status {
13
        /// Name of the media input.
14
        #[serde(rename = "inputName")]
15
        input: &'a str,
16
    },
17
    #[serde(rename = "SetMediaInputCursor")]
18
    SetCursor {
19
        /// Name of the media input.
20
        #[serde(rename = "inputName")]
21
        input: &'a str,
22
        /// New cursor position to set.
23
        #[serde(rename = "mediaCursor", with = "crate::serde::duration_millis")]
24
        cursor: Duration,
25
    },
26
    #[serde(rename = "OffsetMediaInputCursor")]
27
    OffsetCursor {
28
        /// Name of the media input.
29
        #[serde(rename = "inputName")]
30
        input: &'a str,
31
        /// Value to offset the current cursor position by.
32
        #[serde(rename = "mediaCursorOffset", with = "crate::serde::duration_millis")]
33
        offset: Duration,
34
    },
35
    #[serde(rename = "TriggerMediaInputAction")]
36
    TriggerAction {
37
        /// Name of the media input.
38
        #[serde(rename = "inputName")]
39
        input: &'a str,
40
        /// Identifier of the media action.
41
        #[serde(rename = "mediaAction")]
42
        action: MediaAction,
43
    },
44
}
45
46
impl<'a> From<Request<'a>> for super::RequestType<'a> {
47
4
    fn from(value: Request<'a>) -> Self {
48
4
        super::RequestType::MediaInputs(value)
49
4
    }
<obws::requests::RequestType as core::convert::From<obws::requests::media_inputs::Request>>::from
Line
Count
Source
47
4
    fn from(value: Request<'a>) -> Self {
48
4
        super::RequestType::MediaInputs(value)
49
4
    }
Unexecuted instantiation: <obws::requests::RequestType as core::convert::From<obws::requests::media_inputs::Request>>::from
50
}
\ No newline at end of file diff --git a/coverage/src/requests/mod.rs.html b/coverage/src/requests/mod.rs.html index 47ab780..8cf942e 100644 --- a/coverage/src/requests/mod.rs.html +++ b/coverage/src/requests/mod.rs.html @@ -1 +1 @@ -

Coverage Report

Created: 2022-05-25 22:28

src/requests/mod.rs
Line
Count
Source (jump to first uncovered line)
1
//! All requests that can be send to the API.
2
3
use std::path::Path;
4
5
use bitflags::bitflags;
6
use serde::{ser::SerializeStruct, Serialize};
7
use serde_repr::Serialize_repr;
8
use serde_with::skip_serializing_none;
9
use time::Duration;
10
11
use crate::common::{Alignment, BoundsType, MediaAction, MonitorType};
12
13
mod ser;
14
15
pub(crate) enum ClientRequest<'a> {
16
    /// Response to [`Hello`](crate::responses::ServerMessage::Hello) message, should contain
17
    /// authentication string if authentication is required, along with Pub-sub subscriptions and
18
    /// other session parameters.
19
    Identify(Identify),
20
    /// Sent at any time after initial identification to update the provided session parameters.
21
    Reidentify(Reidentify),
22
    /// Client is making a request to obs-websocket. For example get current scene, create source.
23
    Request(Request<'a>),
24
    /// Client is making a batch of requests for obs-websocket. Requests are processed serially
25
    /// (in order) by the server.
26
    #[allow(dead_code)]
27
    RequestBatch(RequestBatch<'a>),
28
}
29
30
impl<'a> Serialize for ClientRequest<'a> {
31
290
    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
32
290
    where
33
290
        S: serde::Serializer,
34
290
    {
35
290
        #[derive(Serialize_repr)]
<<obws::requests::ClientRequest as serde::ser::Serialize>::serialize::OpCode as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
35
290
        #[derive(Serialize_repr)]
Unexecuted instantiation: <<obws::requests::ClientRequest as serde::ser::Serialize>::serialize::OpCode as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::ClientRequest as serde::ser::Serialize>::serialize::OpCode as serde::ser::Serialize>::serialize::<_>
36
290
        #[repr(u8)]
37
290
        enum OpCode {
38
290
            /// The message sent by a newly connected client to obs-websocket in response to a
39
290
            /// `Hello`.
40
290
            Identify = 1,
41
290
            /// The message sent by an already-identified client to update identification
42
290
            /// parameters.
43
290
            Reidentify = 3,
44
290
            /// The message sent by a client to obs-websocket to perform a request.
45
290
            Request = 6,
46
290
            /// The message sent by a client to obs-websocket to perform a batch of requests.
47
290
            RequestBatch = 8,
48
290
        }
49
290
50
290
        fn write_state<S>(serializer: S, op: OpCode, d: &impl Serialize) -> Result<S::Ok, S::Error>
51
290
        where
52
290
            S: serde::Serializer,
53
290
        {
54
290
            let mut state = serializer.serialize_struct("ClientRequest", 2)
?0
;
55
290
            state.serialize_field("op", &op)
?0
;
56
290
            state.serialize_field("d", d)
?0
;
57
290
            state.end()
58
290
        }
Unexecuted instantiation: <obws::requests::ClientRequest as serde::ser::Serialize>::serialize::write_state::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>, obws::requests::Reidentify>
<obws::requests::ClientRequest as serde::ser::Serialize>::serialize::write_state::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>, obws::requests::Identify>
Line
Count
Source
50
13
        fn write_state<S>(serializer: S, op: OpCode, d: &impl Serialize) -> Result<S::Ok, S::Error>
51
13
        where
52
13
            S: serde::Serializer,
53
13
        {
54
13
            let mut state = serializer.serialize_struct("ClientRequest", 2)
?0
;
55
13
            state.serialize_field("op", &op)
?0
;
56
13
            state.serialize_field("d", d)
?0
;
57
13
            state.end()
58
13
        }
<obws::requests::ClientRequest as serde::ser::Serialize>::serialize::write_state::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>, obws::requests::Request>
Line
Count
Source
50
277
        fn write_state<S>(serializer: S, op: OpCode, d: &impl Serialize) -> Result<S::Ok, S::Error>
51
277
        where
52
277
            S: serde::Serializer,
53
277
        {
54
277
            let mut state = serializer.serialize_struct("ClientRequest", 2)
?0
;
55
277
            state.serialize_field("op", &op)
?0
;
56
277
            state.serialize_field("d", d)
?0
;
57
277
            state.end()
58
277
        }
Unexecuted instantiation: <obws::requests::ClientRequest as serde::ser::Serialize>::serialize::write_state::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>, obws::requests::RequestBatch>
Unexecuted instantiation: <obws::requests::ClientRequest as serde::ser::Serialize>::serialize::write_state::<_, _>
Unexecuted instantiation: <obws::requests::ClientRequest as serde::ser::Serialize>::serialize::write_state::<_, _>
59
290
60
290
        match self {
61
13
            Self::Identify(value) => write_state(serializer, OpCode::Identify, value),
62
0
            Self::Reidentify(value) => write_state(serializer, OpCode::Reidentify, value),
63
277
            Self::Request(value) => write_state(serializer, OpCode::Request, value),
64
0
            Self::RequestBatch(value) => write_state(serializer, OpCode::RequestBatch, value),
65
        }
66
290
    }
<obws::requests::ClientRequest as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
31
290
    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
32
290
    where
33
290
        S: serde::Serializer,
34
290
    {
35
290
        #[derive(Serialize_repr)]
36
290
        #[repr(u8)]
37
290
        enum OpCode {
38
290
            /// The message sent by a newly connected client to obs-websocket in response to a
39
290
            /// `Hello`.
40
290
            Identify = 1,
41
290
            /// The message sent by an already-identified client to update identification
42
290
            /// parameters.
43
290
            Reidentify = 3,
44
290
            /// The message sent by a client to obs-websocket to perform a request.
45
290
            Request = 6,
46
290
            /// The message sent by a client to obs-websocket to perform a batch of requests.
47
290
            RequestBatch = 8,
48
290
        }
49
290
50
290
        fn write_state<S>(serializer: S, op: OpCode, d: &impl Serialize) -> Result<S::Ok, S::Error>
51
290
        where
52
290
            S: serde::Serializer,
53
290
        {
54
290
            let mut state = serializer.serialize_struct("ClientRequest", 2)?;
55
290
            state.serialize_field("op", &op)?;
56
290
            state.serialize_field("d", d)?;
57
290
            state.end()
58
290
        }
59
290
60
290
        match self {
61
13
            Self::Identify(value) => write_state(serializer, OpCode::Identify, value),
62
0
            Self::Reidentify(value) => write_state(serializer, OpCode::Reidentify, value),
63
277
            Self::Request(value) => write_state(serializer, OpCode::Request, value),
64
0
            Self::RequestBatch(value) => write_state(serializer, OpCode::RequestBatch, value),
65
        }
66
290
    }
Unexecuted instantiation: <obws::requests::ClientRequest as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::ClientRequest as serde::ser::Serialize>::serialize::<_>
67
}
68
69
/// Response to [`Hello`](crate::responses::ServerMessage::Hello) message, should contain
70
/// authentication string if authentication is required, along with Pub-sub subscriptions and other
71
/// session parameters.
72
#[skip_serializing_none]
73
13
#[derive(Serialize)]
<obws::requests::Identify as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
73
13
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::Identify as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::Identify as serde::ser::Serialize>::serialize::<_>
74
#[serde(rename_all = "camelCase")]
75
pub(crate) struct Identify {
76
    /// Version number that the client would like the obs-websocket server to use.
77
    pub rpc_version: u32,
78
    pub authentication: Option<String>,
79
    /// Bit mask of event subscription items to subscribe to events and event categories at will. By
80
    /// default, all event categories are subscribed, except for events marked as high volume. High
81
    /// volume events must be explicitly subscribed to.
82
    pub event_subscriptions: Option<EventSubscription>,
83
}
84
85
/// Sent at any time after initial identification to update the provided session parameters.
86
#[skip_serializing_none]
87
0
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::Reidentify as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Unexecuted instantiation: <obws::requests::Reidentify as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::Reidentify as serde::ser::Serialize>::serialize::<_>
88
#[serde(rename_all = "camelCase")]
89
pub(crate) struct Reidentify {
90
    pub event_subscriptions: Option<EventSubscription>,
91
}
92
93
/// Client is making a request to obs-websocket. For example get current scene, create source.
94
277
#[derive(Serialize)]
<obws::requests::Request as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
94
277
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::Request as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::Request as serde::ser::Serialize>::serialize::<_>
95
#[serde(rename_all = "camelCase")]
96
pub(crate) struct Request<'a> {
97
    pub request_id: &'a str,
98
    #[serde(flatten)]
99
    pub ty: RequestType<'a>,
100
}
101
102
/// Client is making a batch of requests for obs-websocket. Requests are processed serially
103
/// (in order) by the server.
104
#[skip_serializing_none]
105
0
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::RequestBatch as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Unexecuted instantiation: <obws::requests::RequestBatch as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::RequestBatch as serde::ser::Serialize>::serialize::<_>
106
#[serde(rename_all = "camelCase")]
107
pub(crate) struct RequestBatch<'a> {
108
    pub request_id: &'a str,
109
    /// When true, the processing of requests will be halted on first failure. Returns only the
110
    /// processed requests in
111
    /// [`RequestBatchResponse`](crate::responses::ServerMessage::RequestBatchResponse).
112
    pub halt_on_failure: Option<bool>,
113
    pub requests: &'a [RequestType<'a>],
114
    pub execution_type: Option<ExecutionType>,
115
}
116
117
bitflags! {
118
    /// Bit flags for possible event subscriptions, that can be enabled when connecting to the OBS
119
    /// instance.
120
0
    #[derive(Serialize)]
Unexecuted instantiation: <obws::requests::EventSubscription as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Unexecuted instantiation: <obws::requests::EventSubscription as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::EventSubscription as serde::ser::Serialize>::serialize::<_>
121
    #[serde(transparent)]
122
    pub struct EventSubscription: u32 {
123
        /// Subscription value used to disable all events.
124
        const NONE = 0;
125
        /// Subscription value to receive events in the `General` category.
126
        const GENERAL = 1 << 0;
127
        /// Subscription value to receive events in the `Config` category.
128
        const CONFIG = 1 << 1;
129
        /// Subscription value to receive events in the `Scenes` category.
130
        const SCENES = 1 << 2;
131
        /// Subscription value to receive events in the `Inputs` category.
132
        const INPUTS = 1 << 3;
133
        /// Subscription value to receive events in the `Transitions` category.
134
        const TRANSITIONS = 1 << 4;
135
        /// Subscription value to receive events in the `Filters` category.
136
        const FILTERS = 1 << 5;
137
        /// Subscription value to receive events in the `Outputs` category.
138
        const OUTPUTS = 1 << 6;
139
        /// Subscription value to receive events in the `SceneItems` category.
140
        const SCENE_ITEMS = 1 << 7;
141
        /// Subscription value to receive events in the `MediaInputs` category.
142
        const MEDIA_INPUTS = 1 << 8;
143
        /// Subscription value to receive the [`VendorEvent`] event.
144
        ///
145
        /// [`VendorEvent`]: crate::events::Event::VendorEvent
146
        const VENDORS = 1 << 9;
147
        /// Subscription value to receive events in the `Ui` category.
148
        const UI = 1 << 10;
149
150
        /// Helper to receive all non-high-volume events.
151
        const ALL = Self::GENERAL.bits
152
            | Self::CONFIG.bits
153
            | Self::SCENES.bits
154
            | Self::INPUTS.bits
155
            | Self::TRANSITIONS.bits
156
            | Self::FILTERS.bits
157
            | Self::OUTPUTS.bits
158
            | Self::SCENE_ITEMS.bits
159
            | Self::MEDIA_INPUTS.bits
160
            | Self::VENDORS.bits
161
            | Self::UI.bits;
162
163
        /// Subscription value to receive the [`InputVolumeMeters`] high-volume event.
164
        ///
165
        /// [`InputVolumeMeters`]: crate::events::Event::InputVolumeMeters
166
        const INPUT_VOLUME_METERS = 1 << 16;
167
        /// Subscription value to receive the [`InputActiveStateChanged`] high-volume event.
168
        ///
169
        /// [`InputActiveStateChanged`]: crate::events::Event::InputActiveStateChanged
170
        const INPUT_ACTIVE_STATE_CHANGED = 1 << 17;
171
        /// Subscription value to receive the [`InputShowStateChanged`] high-volume event.
172
        ///
173
        /// [`InputShowStateChanged`]: crate::events::Event::InputShowStateChanged
174
        const INPUT_SHOW_STATE_CHANGED = 1 << 18;
175
        /// Subscription value to receive the [`SceneItemTransformChanged`] high-volume event.
176
        ///
177
        /// [`SceneItemTransformChanged`]: crate::events::Event::SceneItemTransformChanged
178
        const SCENE_ITEM_TRANSFORM_CHANGED = 1 << 19;
179
180
    }
181
}
182
183
#[allow(dead_code)]
184
0
#[derive(Serialize_repr)]
Unexecuted instantiation: <obws::requests::ExecutionType as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Unexecuted instantiation: <obws::requests::ExecutionType as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::ExecutionType as serde::ser::Serialize>::serialize::<_>
185
#[repr(i8)]
186
pub(crate) enum ExecutionType {
187
    /// Not a request batch.
188
    None = -1,
189
    /// A request batch which processes all requests serially, as fast as possible.
190
    SerialRealtime = 0,
191
    /// A request batch type which processes all requests serially, in sync with the graphics
192
    /// thread. Designed to provide high accuracy for animations.
193
    SerialFrame = 1,
194
    /// A request batch type which processes all requests using all available threads in the thread
195
    /// pool.
196
    Parallel = 2,
197
}
198
199
383
#[derive(
S293
eri
aliz90
e)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
2
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
2
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
6
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
<<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
2
#[derive(Serialize)]
<<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
2
#[derive(Serialize)]
<obws::requests::RequestType as serde::ser::Serialize>::serialize::<serde::__private::ser::FlatMapSerializer<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>>
Line
Count
Source
199
277
#[derive(Serialize)]
<<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
<<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
2
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
2
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
2
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
15
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
14
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
14
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
2
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::RequestType as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
2
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
2
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
1
#[derive(Serialize)]
<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
199
2
#[derive(Serialize)]
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::RequestType as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::RequestType as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::RequestType as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
200
#[serde(tag = "requestType", content = "requestData")]
201
pub(crate) enum RequestType<'a> {
202
    // --------------------------------
203
    // Config
204
    // --------------------------------
205
    #[serde(rename_all = "camelCase")]
206
    GetPersistentData {
207
        /// The data realm to select.
208
        realm: Realm,
209
        /// The name of the slot to retrieve data from.
210
        slot_name: &'a str,
211
    },
212
    SetPersistentData(SetPersistentData<'a>),
213
    GetSceneCollectionList,
214
    #[serde(rename_all = "camelCase")]
215
    SetCurrentSceneCollection {
216
        /// Name of the scene collection to switch to.
217
        scene_collection_name: &'a str,
218
    },
219
    #[serde(rename_all = "camelCase")]
220
    CreateSceneCollection {
221
        /// Name for the new scene collection.
222
        scene_collection_name: &'a str,
223
    },
224
    GetProfileList,
225
    #[serde(rename_all = "camelCase")]
226
    SetCurrentProfile {
227
        /// Name of the profile to switch to.
228
        profile_name: &'a str,
229
    },
230
    #[serde(rename_all = "camelCase")]
231
    CreateProfile {
232
        /// Name for the new profile.
233
        profile_name: &'a str,
234
    },
235
    #[serde(rename_all = "camelCase")]
236
    RemoveProfile {
237
        /// Name of the profile to remove.
238
        profile_name: &'a str,
239
    },
240
    #[serde(rename_all = "camelCase")]
241
    GetProfileParameter {
242
        /// Category of the parameter to get.
243
        parameter_category: &'a str,
244
        /// Name of the parameter to get.
245
        parameter_name: &'a str,
246
    },
247
    SetProfileParameter(SetProfileParameter<'a>),
248
    GetVideoSettings,
249
    SetVideoSettings(SetVideoSettings),
250
    GetStreamServiceSettings,
251
    #[serde(rename_all = "camelCase")]
252
    SetStreamServiceSettings {
253
        /// Type of stream service to apply. Example: `rtmp_common` or `rtmp_custom`.
254
        stream_service_type: &'a str,
255
        /// Settings to apply to the service.
256
        stream_service_settings: serde_json::Value,
257
    },
258
    GetRecordDirectory,
259
    // --------------------------------
260
    // Filters
261
    // --------------------------------
262
    #[serde(rename_all = "camelCase")]
263
    GetSourceFilterList {
264
        /// Name of the source.
265
        source_name: &'a str,
266
    },
267
    #[serde(rename_all = "camelCase")]
268
    GetSourceFilterDefaultSettings {
269
        /// Filter kind to get the default settings for.
270
        filter_kind: &'a str,
271
    },
272
    CreateSourceFilter(CreateSourceFilterInternal<'a>),
273
    #[serde(rename_all = "camelCase")]
274
    RemoveSourceFilter {
275
        /// Name of the source the filter is on.
276
        source_name: &'a str,
277
        /// Name of the filter to remove.
278
        filter_name: &'a str,
279
    },
280
    SetSourceFilterName(SetSourceFilterName<'a>),
281
    #[serde(rename_all = "camelCase")]
282
    GetSourceFilter {
283
        /// Name of the source.
284
        source_name: &'a str,
285
        /// Name of the filter.
286
        filter_name: &'a str,
287
    },
288
    SetSourceFilterIndex(SetSourceFilterIndex<'a>),
289
    SetSourceFilterSettings(SetSourceFilterSettingsInternal<'a>),
290
    SetSourceFilterEnabled(SetSourceFilterEnabled<'a>),
291
    // --------------------------------
292
    // General
293
    // --------------------------------
294
    GetVersion,
295
    #[serde(rename_all = "camelCase")]
296
    BroadcastCustomEvent {
297
        /// Data payload to emit to all receivers.
298
        event_data: serde_json::Value,
299
    },
300
    CallVendorRequest(CallVendorRequestInternal<'a>),
301
    GetStats,
302
    GetHotkeyList,
303
    #[serde(rename_all = "camelCase")]
304
    TriggerHotkeyByName {
305
        /// Name of the hotkey to trigger.
306
        hotkey_name: &'a str,
307
    },
308
    #[serde(rename_all = "camelCase")]
309
    TriggerHotkeyByKeySequence {
310
        /// The OBS key ID to use.
311
        key_id: &'a str,
312
        /// Object containing key modifiers to apply.
313
        key_modifiers: KeyModifiers,
314
    },
315
    // TODO: Sleep
316
    // --------------------------------
317
    // Inputs
318
    // --------------------------------
319
    #[serde(rename_all = "camelCase")]
320
    GetInputList {
321
        /// Restrict the array to only inputs of the specified kind.
322
        #[serde(skip_serializing_if = "Option::is_none")]
323
        input_kind: Option<&'a str>,
324
    },
325
    GetInputKindList {
326
        /// Return all kinds as unversioned or with version suffixes (if available).
327
        unversioned: bool,
328
    },
329
    #[serde(rename_all = "camelCase")]
330
    GetInputDefaultSettings {
331
        /// Input kind to get the default settings for.
332
        input_kind: &'a str,
333
    },
334
    #[serde(rename_all = "camelCase")]
335
    GetInputSettings {
336
        /// Name of the input to get the settings of.
337
        input_name: &'a str,
338
    },
339
    SetInputSettings(SetInputSettingsInternal<'a>),
340
    #[serde(rename_all = "camelCase")]
341
    GetInputMute {
342
        /// Name of input to get the mute state of.
343
        input_name: &'a str,
344
    },
345
    #[serde(rename_all = "camelCase")]
346
    SetInputMute {
347
        /// Name of the input to set the mute state of.
348
        input_name: &'a str,
349
        /// Whether to mute the input.
350
        input_muted: bool,
351
    },
352
    #[serde(rename_all = "camelCase")]
353
    ToggleInputMute {
354
        /// Name of the input to toggle the mute state of.
355
        input_name: &'a str,
356
    },
357
    #[serde(rename_all = "camelCase")]
358
    GetInputVolume {
359
        /// Name of the input to get the volume of.
360
        input_name: &'a str,
361
    },
362
    #[serde(rename_all = "camelCase")]
363
    SetInputVolume {
364
        /// Name of the input to set the volume of.
365
        input_name: &'a str,
366
        /// Volume settings in either mul or dB.
367
        #[serde(flatten)]
368
        input_volume: Volume,
369
    },
370
    #[serde(rename_all = "camelCase")]
371
    SetInputName {
372
        /// Current input name.
373
        input_name: &'a str,
374
        /// New name for the input.
375
        new_input_name: &'a str,
376
    },
377
    CreateInput(CreateInputInternal<'a>),
378
    #[serde(rename_all = "camelCase")]
379
    RemoveInput {
380
        /// Name of the input to remove.
381
        input_name: &'a str,
382
    },
383
    #[serde(rename_all = "camelCase")]
384
    GetInputAudioSyncOffset {
385
        /// Name of the input to get the audio sync offset of.
386
        input_name: &'a str,
387
    },
388
    #[serde(rename_all = "camelCase")]
389
    SetInputAudioSyncOffset {
390
        /// Name of the input to set the audio sync offset of.
391
        input_name: &'a str,
392
        /// New audio sync offset in milliseconds.
393
        #[serde(serialize_with = "ser::duration_millis")]
394
        input_audio_sync_offset: Duration,
395
    },
396
    #[serde(rename_all = "camelCase")]
397
    GetInputAudioMonitorType {
398
        /// Name of the input to get the audio monitor type of.
399
        input_name: &'a str,
400
    },
401
    #[serde(rename_all = "camelCase")]
402
    SetInputAudioMonitorType {
403
        /// Name of the input to set the audio monitor type of.
404
        input_name: &'a str,
405
        /// Audio monitor type.
406
        monitor_type: MonitorType,
407
    },
408
    #[serde(rename_all = "camelCase")]
409
    GetInputPropertiesListPropertyItems {
410
        /// Name of the input.
411
        input_name: &'a str,
412
        /// Name of the list property to get the items of.
413
        property_name: &'a str,
414
    },
415
    #[serde(rename_all = "camelCase")]
416
    PressInputPropertiesButton {
417
        /// Name of the input.
418
        input_name: &'a str,
419
        /// Name of the button property to press.
420
        property_name: &'a str,
421
    },
422
    // --------------------------------
423
    // Media inputs
424
    // --------------------------------
425
    #[serde(rename_all = "camelCase")]
426
    GetMediaInputStatus {
427
        /// Name of the media input.
428
        input_name: &'a str,
429
    },
430
    #[serde(rename_all = "camelCase")]
431
    SetMediaInputCursor {
432
        /// Name of the media input.
433
        input_name: &'a str,
434
        /// New cursor position to set.
435
        #[serde(serialize_with = "ser::duration_millis")]
436
        media_cursor: Duration,
437
    },
438
    #[serde(rename_all = "camelCase")]
439
    OffsetMediaInputCursor {
440
        /// Name of the media input.
441
        input_name: &'a str,
442
        /// Value to offset the current cursor position by.
443
        #[serde(serialize_with = "ser::duration_millis")]
444
        media_cursor_offset: Duration,
445
    },
446
    #[serde(rename_all = "camelCase")]
447
    TriggerMediaInputAction {
448
        /// Name of the media input.
449
        input_name: &'a str,
450
        /// Identifier of the media action.
451
        media_action: MediaAction,
452
    },
453
    // --------------------------------
454
    // Outputs
455
    // --------------------------------
456
    GetVirtualCamStatus,
457
    ToggleVirtualCam,
458
    StartVirtualCam,
459
    StopVirtualCam,
460
    GetReplayBufferStatus,
461
    ToggleReplayBuffer,
462
    StartReplayBuffer,
463
    StopReplayBuffer,
464
    SaveReplayBuffer,
465
    GetLastReplayBufferReplay,
466
    // --------------------------------
467
    // Recording
468
    // --------------------------------
469
    GetRecordStatus,
470
    ToggleRecord,
471
    StartRecord,
472
    StopRecord,
473
    ToggleRecordPause,
474
    PauseRecord,
475
    ResumeRecord,
476
    // --------------------------------
477
    // Scene items
478
    // --------------------------------
479
    #[serde(rename_all = "camelCase")]
480
    GetSceneItemList {
481
        /// Name of the scene to get the items of.
482
        scene_name: &'a str,
483
    },
484
    #[serde(rename_all = "camelCase")]
485
    GetGroupSceneItemList {
486
        /// Name of the group to get the items of.
487
        scene_name: &'a str,
488
    },
489
    GetSceneItemId(GetSceneItemId<'a>),
490
    CreateSceneItem(CreateSceneItem<'a>),
491
    #[serde(rename_all = "camelCase")]
492
    RemoveSceneItem {
493
        /// Name of the scene the item is in.
494
        scene_name: &'a str,
495
        /// Numeric ID of the scene item.
496
        scene_item_id: i64,
497
    },
498
    DuplicateSceneItem(DuplicateSceneItem<'a>),
499
    #[serde(rename_all = "camelCase")]
500
    GetSceneItemTransform {
501
        /// Name of the scene the item is in.
502
        scene_name: &'a str,
503
        /// Numeric ID of the scene item.
504
        scene_item_id: i64,
505
    },
506
    SetSceneItemTransform(SetSceneItemTransform<'a>),
507
    #[serde(rename_all = "camelCase")]
508
    GetSceneItemEnabled {
509
        /// Name of the scene the item is in.
510
        scene_name: &'a str,
511
        /// Numeric ID of the scene item.
512
        scene_item_id: i64,
513
    },
514
    SetSceneItemEnabled(SetSceneItemEnabled<'a>),
515
    #[serde(rename_all = "camelCase")]
516
    GetSceneItemLocked {
517
        /// Name of the scene the item is in.
518
        scene_name: &'a str,
519
        /// Numeric ID of the scene item.
520
        scene_item_id: i64,
521
    },
522
    SetSceneItemLocked(SetSceneItemLocked<'a>),
523
    #[serde(rename_all = "camelCase")]
524
    GetSceneItemIndex {
525
        /// Name of the scene the item is in.
526
        scene_name: &'a str,
527
        /// Numeric ID of the scene item.
528
        scene_item_id: i64,
529
    },
530
    #[serde(rename_all = "camelCase")]
531
    SetSceneItemIndex(SetSceneItemIndex<'a>),
532
    #[serde(rename_all = "camelCase")]
533
    GetSceneItemPrivateSettings {
534
        /// Name of the scene the item is in.
535
        scene_name: &'a str,
536
        /// Numeric ID of the scene item.
537
        scene_item_id: i64,
538
    },
539
    #[serde(rename_all = "camelCase")]
540
    SetSceneItemPrivateSettings(SetSceneItemPrivateSettingsInternal<'a>),
541
    // --------------------------------
542
    // Scenes
543
    // --------------------------------
544
    GetSceneList,
545
    GetGroupList,
546
    GetCurrentProgramScene,
547
    #[serde(rename_all = "camelCase")]
548
    SetCurrentProgramScene {
549
        /// Scene to set as the current program scene.
550
        scene_name: &'a str,
551
    },
552
    GetCurrentPreviewScene,
553
    #[serde(rename_all = "camelCase")]
554
    SetCurrentPreviewScene {
555
        /// Scene to set as the current preview scene.
556
        scene_name: &'a str,
557
    },
558
    #[serde(rename_all = "camelCase")]
559
    SetSceneName {
560
        /// Name of the scene to be renamed.
561
        scene_name: &'a str,
562
        /// New name for the scene.
563
        new_scene_name: &'a str,
564
    },
565
    #[serde(rename_all = "camelCase")]
566
    CreateScene {
567
        /// Name for the new scene.
568
        scene_name: &'a str,
569
    },
570
    #[serde(rename_all = "camelCase")]
571
    RemoveScene {
572
        /// Name of the scene to remove.
573
        scene_name: &'a str,
574
    },
575
    #[serde(rename_all = "camelCase")]
576
    GetSceneSceneTransitionOverride {
577
        /// Name of the scene.
578
        scene_name: &'a str,
579
    },
580
    SetSceneSceneTransitionOverride(SetSceneSceneTransitionOverride<'a>),
581
    // --------------------------------
582
    // Sources
583
    // --------------------------------
584
    #[serde(rename_all = "camelCase")]
585
    GetSourceActive {
586
        /// Name of the source to get the active state of.
587
        source_name: &'a str,
588
    },
589
    GetSourceScreenshot(GetSourceScreenshot<'a>),
590
    SaveSourceScreenshot(SaveSourceScreenshot<'a>),
591
    // --------------------------------
592
    // Streaming
593
    // --------------------------------
594
    GetStreamStatus,
595
    ToggleStream,
596
    StartStream,
597
    StopStream,
598
    #[serde(rename_all = "camelCase")]
599
    SendStreamCaption {
600
        /// Caption text.
601
        caption_text: &'a str,
602
    },
603
    // --------------------------------
604
    // Transitions
605
    // --------------------------------
606
    GetTransitionKindList,
607
    GetSceneTransitionList,
608
    GetCurrentSceneTransition,
609
    #[serde(rename_all = "camelCase")]
610
    SetCurrentSceneTransition {
611
        /// Name of the transition to make active.
612
        transition_name: &'a str,
613
    },
614
    #[serde(rename_all = "camelCase")]
615
    SetCurrentSceneTransitionDuration {
616
        /// Duration in milliseconds.
617
        #[serde(serialize_with = "ser::duration_millis")]
618
        transition_duration: Duration,
619
    },
620
    #[serde(rename_all = "camelCase")]
621
    SetCurrentSceneTransitionSettings {
622
        /// Settings object to apply to the transition.
623
        transition_settings: serde_json::Value,
624
        /// Whether to overlay over the current settings or replace them.
625
        #[serde(skip_serializing_if = "Option::is_none")]
626
        overlay: Option<bool>,
627
    },
628
    GetCurrentSceneTransitionCursor,
629
    TriggerStudioModeTransition,
630
    #[serde(rename_all = "camelCase", rename = "SetTBarPosition")]
631
    SetTbarPosition {
632
        /// New position.
633
        position: f32,
634
        /// Whether to release the T-Bar. Only set `false` if you know that you will be sending
635
        /// another position update.
636
        #[serde(skip_serializing_if = "Option::is_none")]
637
        release: Option<bool>,
638
    },
639
    // --------------------------------
640
    // UI
641
    // --------------------------------
642
    GetStudioModeEnabled,
643
    #[serde(rename_all = "camelCase")]
644
    SetStudioModeEnabled {
645
        /// Enable or disable the studio mode.
646
        studio_mode_enabled: bool,
647
    },
648
    #[serde(rename_all = "camelCase")]
649
    OpenInputPropertiesDialog {
650
        /// Name of the input to open the dialog of.
651
        input_name: &'a str,
652
    },
653
    #[serde(rename_all = "camelCase")]
654
    OpenInputFiltersDialog {
655
        /// Name of the input to open the dialog of.
656
        input_name: &'a str,
657
    },
658
    #[serde(rename_all = "camelCase")]
659
    OpenInputInteractDialog {
660
        /// Name of the input to open the dialog of.
661
        input_name: &'a str,
662
    },
663
    GetMonitorList,
664
}
665
666
/// Request information for [`get_persistent_data`](crate::client::Config::get_persistent_data) and
667
/// [`set_persistent_data`](crate::client::Config::set_persistent_data) as part of
668
/// [`SetPersistentData`].
669
2
#[derive(
Clone0
, Copy, Serialize)]
Unexecuted instantiation: <obws::requests::Realm as core::clone::Clone>::clone
Unexecuted instantiation: <obws::requests::Realm as core::clone::Clone>::clone
<obws::requests::Realm as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
669
2
#[derive(Clone, Copy, Serialize)]
Unexecuted instantiation: <obws::requests::Realm as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::Realm as serde::ser::Serialize>::serialize::<_>
670
pub enum Realm {
671
    /// Data located in the global settings.
672
    #[serde(rename = "OBS_WEBSOCKET_DATA_REALM_GLOBAL")]
673
    Global,
674
    /// Data bound to the current profile.
675
    #[serde(rename = "OBS_WEBSOCKET_DATA_REALM_PROFILE")]
676
    Profile,
677
}
678
679
/// Request information for [`set_persistent_data`](crate::client::Config::set_persistent_data).
680
1
#[derive(Serialize)]
<obws::requests::SetPersistentData as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
680
1
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::SetPersistentData as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::SetPersistentData as serde::ser::Serialize>::serialize::<_>
681
#[serde(rename_all = "camelCase")]
682
pub struct SetPersistentData<'a> {
683
    /// The data realm to select.
684
    pub realm: Realm,
685
    /// The name of the slot to retrieve data from.
686
    pub slot_name: &'a str,
687
    /// The value to apply to the slot.
688
    pub slot_value: &'a serde_json::Value,
689
}
690
691
/// Request information for [`set_profile_parameter`](crate::client::Config::set_profile_parameter).
692
#[skip_serializing_none]
693
2
#[derive(
Default0
, Serialize)]
Unexecuted instantiation: <obws::requests::SetProfileParameter as core::default::Default>::default
Unexecuted instantiation: <obws::requests::SetProfileParameter as core::default::Default>::default
<obws::requests::SetProfileParameter as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
693
2
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::SetProfileParameter as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::SetProfileParameter as serde::ser::Serialize>::serialize::<_>
694
#[serde(rename_all = "camelCase")]
695
pub struct SetProfileParameter<'a> {
696
    /// Category of the parameter to set.
697
    pub parameter_category: &'a str,
698
    /// Name of the parameter to set.
699
    pub parameter_name: &'a str,
700
    /// Value of the parameter to set. Use [`None`] to delete.
701
    pub parameter_value: Option<&'a str>,
702
}
703
704
/// Request information for [`set_video_settings`](crate::client::Config::set_video_settings).
705
#[skip_serializing_none]
706
1
#[derive(
Default0
, Serialize)]
Unexecuted instantiation: <obws::requests::SetVideoSettings as core::default::Default>::default
Unexecuted instantiation: <obws::requests::SetVideoSettings as core::default::Default>::default
<obws::requests::SetVideoSettings as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
706
1
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::SetVideoSettings as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::SetVideoSettings as serde::ser::Serialize>::serialize::<_>
707
#[serde(rename_all = "camelCase")]
708
pub struct SetVideoSettings {
709
    /// Numerator of the fractional FPS value.
710
    pub fps_numerator: Option<u32>,
711
    /// Denominator of the fractional FPS value.
712
    pub fps_denominator: Option<u32>,
713
    /// Width of the base (canvas) resolution in pixels.
714
    pub base_width: Option<u32>,
715
    /// Height of the base (canvas) resolution in pixels.
716
    pub base_height: Option<u32>,
717
    /// Width of the output resolution in pixels.
718
    pub output_width: Option<u32>,
719
    /// Height of the output resolution in pixels.
720
    pub output_height: Option<u32>,
721
}
722
723
impl From<crate::responses::VideoSettings> for SetVideoSettings {
724
1
    fn from(v: crate::responses::VideoSettings) -> Self {
725
1
        Self {
726
1
            fps_numerator: Some(v.fps_numerator),
727
1
            fps_denominator: Some(v.fps_denominator),
728
1
            base_width: Some(v.base_width),
729
1
            base_height: Some(v.base_height),
730
1
            output_width: Some(v.output_width),
731
1
            output_height: Some(v.output_height),
732
1
        }
733
1
    }
<obws::requests::SetVideoSettings as core::convert::From<obws::responses::VideoSettings>>::from
Line
Count
Source
724
1
    fn from(v: crate::responses::VideoSettings) -> Self {
725
1
        Self {
726
1
            fps_numerator: Some(v.fps_numerator),
727
1
            fps_denominator: Some(v.fps_denominator),
728
1
            base_width: Some(v.base_width),
729
1
            base_height: Some(v.base_height),
730
1
            output_width: Some(v.output_width),
731
1
            output_height: Some(v.output_height),
732
1
        }
733
1
    }
Unexecuted instantiation: <obws::requests::SetVideoSettings as core::convert::From<obws::responses::VideoSettings>>::from
734
}
735
736
/// Request information for [`create_source_filter`](crate::client::Filters::create_source_filter).
737
pub struct CreateSourceFilter<'a, T> {
738
    /// Name of the source to add the filter to.
739
    pub source_name: &'a str,
740
    /// Name of the new filter to be created.
741
    pub filter_name: &'a str,
742
    /// The kind of filter to be created.
743
    pub filter_kind: &'a str,
744
    /// Settings object to initialize the filter with.
745
    pub filter_settings: Option<T>,
746
}
747
748
/// Request information for [`create_source_filter`](crate::client::Filters::create_source_filter).
749
#[skip_serializing_none]
750
1
#[derive(
Default0
, Serialize)]
Unexecuted instantiation: <obws::requests::CreateSourceFilterInternal as core::default::Default>::default
Unexecuted instantiation: <obws::requests::CreateSourceFilterInternal as core::default::Default>::default
<obws::requests::CreateSourceFilterInternal as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
750
1
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::CreateSourceFilterInternal as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::CreateSourceFilterInternal as serde::ser::Serialize>::serialize::<_>
751
#[serde(rename_all = "camelCase")]
752
pub(crate) struct CreateSourceFilterInternal<'a> {
753
    /// Name of the source to add the filter to.
754
    pub source_name: &'a str,
755
    /// Name of the new filter to be created.
756
    pub filter_name: &'a str,
757
    /// The kind of filter to be created.
758
    pub filter_kind: &'a str,
759
    /// Settings object to initialize the filter with.
760
    pub filter_settings: Option<serde_json::Value>,
761
}
762
763
/// Request information for
764
/// [`set_source_filter_name`](crate::client::Filters::set_source_filter_name).
765
2
#[derive(
Default0
, Serialize)]
Unexecuted instantiation: <obws::requests::SetSourceFilterName as core::default::Default>::default
Unexecuted instantiation: <obws::requests::SetSourceFilterName as core::default::Default>::default
<obws::requests::SetSourceFilterName as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
765
2
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::SetSourceFilterName as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::SetSourceFilterName as serde::ser::Serialize>::serialize::<_>
766
#[serde(rename_all = "camelCase")]
767
pub struct SetSourceFilterName<'a> {
768
    /// Name of the source the filter is on.
769
    pub source_name: &'a str,
770
    /// Current name of the filter.
771
    pub filter_name: &'a str,
772
    /// New name for the filter.
773
    pub new_filter_name: &'a str,
774
}
775
776
/// Request information for
777
/// [`set_source_filter_index`](crate::client::Filters::set_source_filter_index).
778
1
#[derive(
Default0
, Serialize)]
Unexecuted instantiation: <obws::requests::SetSourceFilterIndex as core::default::Default>::default
Unexecuted instantiation: <obws::requests::SetSourceFilterIndex as core::default::Default>::default
<obws::requests::SetSourceFilterIndex as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
778
1
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::SetSourceFilterIndex as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::SetSourceFilterIndex as serde::ser::Serialize>::serialize::<_>
779
#[serde(rename_all = "camelCase")]
780
pub struct SetSourceFilterIndex<'a> {
781
    /// Name of the source the filter is on.
782
    pub source_name: &'a str,
783
    /// Name of the filter.
784
    pub filter_name: &'a str,
785
    /// New index position of the filter.
786
    pub filter_index: u32,
787
}
788
789
/// Request information for
790
/// [`set_source_filter_settings`](crate::client::Filters::set_source_filter_settings).
791
#[skip_serializing_none]
792
0
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::SetSourceFilterSettings<_> as core::default::Default>::default
Unexecuted instantiation: <obws::requests::SetSourceFilterSettings<_> as core::default::Default>::default
Unexecuted instantiation: <obws::requests::SetSourceFilterSettings<_> as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::SetSourceFilterSettings<_> as serde::ser::Serialize>::serialize::<_>
793
#[serde(rename_all = "camelCase")]
794
pub struct SetSourceFilterSettings<'a, T> {
795
    /// Name of the source the filter is on.
796
    pub source_name: &'a str,
797
    /// Name of the filter to set the settings of.
798
    pub filter_name: &'a str,
799
    /// Object of settings to apply.
800
    pub filter_settings: T,
801
    /// Whether to overlay over the current settings or replace them.
802
    pub overlay: Option<bool>,
803
}
804
805
/// Request information for
806
/// [`set_source_filter_settings`](crate::client::Filters::set_source_filter_settings).
807
1
#[derive(
Default0
, Serialize)]
Unexecuted instantiation: <obws::requests::SetSourceFilterSettingsInternal as core::default::Default>::default
Unexecuted instantiation: <obws::requests::SetSourceFilterSettingsInternal as core::default::Default>::default
<obws::requests::SetSourceFilterSettingsInternal as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
807
1
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::SetSourceFilterSettingsInternal as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::SetSourceFilterSettingsInternal as serde::ser::Serialize>::serialize::<_>
808
#[serde(rename_all = "camelCase")]
809
pub(crate) struct SetSourceFilterSettingsInternal<'a> {
810
    /// Name of the source the filter is on.
811
    pub source_name: &'a str,
812
    /// Name of the filter to set the settings of.
813
    pub filter_name: &'a str,
814
    /// Object of settings to apply.
815
    pub filter_settings: serde_json::Value,
816
    /// Whether to overlay over the current settings or replace them.
817
    pub overlay: Option<bool>,
818
}
819
820
/// Request information for
821
/// [`set_source_filter_enabled`](crate::client::Filters::set_source_filter_enabled).
822
2
#[derive(
Default0
, Serialize)]
Unexecuted instantiation: <obws::requests::SetSourceFilterEnabled as core::default::Default>::default
Unexecuted instantiation: <obws::requests::SetSourceFilterEnabled as core::default::Default>::default
<obws::requests::SetSourceFilterEnabled as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
822
2
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::SetSourceFilterEnabled as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::SetSourceFilterEnabled as serde::ser::Serialize>::serialize::<_>
823
#[serde(rename_all = "camelCase")]
824
pub struct SetSourceFilterEnabled<'a> {
825
    /// Name of the source the filter is on.
826
    pub source_name: &'a str,
827
    /// Name of the filter.
828
    pub filter_name: &'a str,
829
    /// New enable state of the filter.
830
    pub filter_enabled: bool,
831
}
832
833
/// Request information for [`call_vendor_request`](crate::client::General::call_vendor_request).
834
pub struct CallVendorRequest<'a, T> {
835
    /// Name of the vendor to use.
836
    pub vendor_name: &'a str,
837
    /// The request type to call.
838
    pub request_type: &'a str,
839
    /// Object containing appropriate request data.
840
    pub request_data: &'a T,
841
}
842
843
/// Request information for [`call_vendor_request`](crate::client::General::call_vendor_request).
844
0
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::CallVendorRequestInternal as core::default::Default>::default
Unexecuted instantiation: <obws::requests::CallVendorRequestInternal as core::default::Default>::default
Unexecuted instantiation: <obws::requests::CallVendorRequestInternal as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Unexecuted instantiation: <obws::requests::CallVendorRequestInternal as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::CallVendorRequestInternal as serde::ser::Serialize>::serialize::<_>
845
#[serde(rename_all = "camelCase")]
846
pub(crate) struct CallVendorRequestInternal<'a> {
847
    /// Name of the vendor to use.
848
    pub vendor_name: &'a str,
849
    /// The request type to call.
850
    pub request_type: &'a str,
851
    /// Object containing appropriate request data.
852
    pub request_data: serde_json::Value,
853
}
854
855
/// Request information for
856
/// [`trigger_hotkey_by_key_sequence`](crate::client::General::trigger_hotkey_by_key_sequence).
857
1
#[derive(Default, Serialize)]
<obws::requests::KeyModifiers as core::default::Default>::default
Line
Count
Source
857
1
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::KeyModifiers as core::default::Default>::default
Unexecuted instantiation: <obws::requests::KeyModifiers as core::default::Default>::default
<obws::requests::KeyModifiers as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
857
1
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::KeyModifiers as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::KeyModifiers as serde::ser::Serialize>::serialize::<_>
858
pub struct KeyModifiers {
859
    /// Press Shift.
860
    pub shift: bool,
861
    /// Press CTRL.
862
    pub control: bool,
863
    /// Press ALT.
864
    pub alt: bool,
865
    /// Press CMD (Mac).
866
    pub command: bool,
867
}
868
869
/// Request information for [`set_input_settings`](crate::client::Inputs::set_input_settings).
870
pub struct SetInputSettings<'a, T> {
871
    /// Name of the input to set the settings of.
872
    pub input_name: &'a str,
873
    /// Object of settings to apply.
874
    pub input_settings: &'a T,
875
    /// Apply settings on top of existing ones or reset the input to its defaults, then apply
876
    /// settings.
877
    pub overlay: Option<bool>,
878
}
879
880
/// Request information for [`set_input_settings`](crate::client::Inputs::set_input_settings).
881
#[skip_serializing_none]
882
1
#[derive(
Default0
, Serialize)]
Unexecuted instantiation: <obws::requests::SetInputSettingsInternal as core::default::Default>::default
Unexecuted instantiation: <obws::requests::SetInputSettingsInternal as core::default::Default>::default
<obws::requests::SetInputSettingsInternal as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
882
1
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::SetInputSettingsInternal as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::SetInputSettingsInternal as serde::ser::Serialize>::serialize::<_>
883
#[serde(rename_all = "camelCase")]
884
pub(crate) struct SetInputSettingsInternal<'a> {
885
    /// Name of the input to set the settings of.
886
    pub input_name: &'a str,
887
    /// Object of settings to apply.
888
    pub input_settings: serde_json::Value,
889
    /// Apply settings on top of existing ones or reset the input to its defaults, then apply
890
    /// settings.
891
    pub overlay: Option<bool>,
892
}
893
894
/// Request information for [`set_input_volume`](crate::client::Inputs::set_input_volume).
895
1
#[derive(Serialize)]
<obws::requests::Volume as serde::ser::Serialize>::serialize::<serde::__private::ser::FlatMapSerializer<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>>
Line
Count
Source
895
1
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::Volume as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::Volume as serde::ser::Serialize>::serialize::<_>
896
pub enum Volume {
897
    /// Volume setting in mul.
898
    #[serde(rename = "inputVolumeMul")]
899
    Mul(f32),
900
    /// Volume setting in dB.
901
    #[serde(rename = "inputVolumeDb")]
902
    Db(f32),
903
}
904
905
/// Request information for [`create_input`](crate::client::Inputs::create_input).
906
pub struct CreateInput<'a, T> {
907
    /// Name of the scene to add the input to as a scene item.
908
    pub scene_name: &'a str,
909
    /// Name of the new input to created.
910
    pub input_name: &'a str,
911
    /// The kind of input to be created.
912
    pub input_kind: &'a str,
913
    /// Settings object to initialize the input with.
914
    pub input_settings: Option<T>,
915
    /// Whether to set the created scene item to enabled or disabled.
916
    pub scene_item_enabled: Option<bool>,
917
}
918
919
/// Request information for [`create_input`](crate::client::Inputs::create_input).
920
#[skip_serializing_none]
921
0
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::CreateInputInternal as core::default::Default>::default
Unexecuted instantiation: <obws::requests::CreateInputInternal as core::default::Default>::default
Unexecuted instantiation: <obws::requests::CreateInputInternal as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Unexecuted instantiation: <obws::requests::CreateInputInternal as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::CreateInputInternal as serde::ser::Serialize>::serialize::<_>
922
#[serde(rename_all = "camelCase")]
923
pub(crate) struct CreateInputInternal<'a> {
924
    pub scene_name: &'a str,
925
    pub input_name: &'a str,
926
    pub input_kind: &'a str,
927
    pub input_settings: Option<serde_json::Value>,
928
    pub scene_item_enabled: Option<bool>,
929
}
930
931
/// Request information for [`get_scene_item_id`](crate::client::SceneItems::get_scene_item_id).
932
#[skip_serializing_none]
933
1
#[derive(
Default0
, Serialize)]
Unexecuted instantiation: <obws::requests::GetSceneItemId as core::default::Default>::default
Unexecuted instantiation: <obws::requests::GetSceneItemId as core::default::Default>::default
<obws::requests::GetSceneItemId as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
933
1
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::GetSceneItemId as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::GetSceneItemId as serde::ser::Serialize>::serialize::<_>
934
#[serde(rename_all = "camelCase")]
935
pub struct GetSceneItemId<'a> {
936
    /// Name of the scene or group to search in.
937
    pub scene_name: &'a str,
938
    /// Name of the source to find.
939
    pub source_name: &'a str,
940
    /// Number of matches to skip during search.
941
    ///
942
    /// `>= 0` means first forward. `-1` means last (top) item.
943
    pub search_offset: Option<i32>,
944
}
945
946
/// Request information for [`create_scene_item`](crate::client::SceneItems::create_scene_item).
947
#[skip_serializing_none]
948
1
#[derive(
Default0
, Serialize)]
Unexecuted instantiation: <obws::requests::CreateSceneItem as core::default::Default>::default
Unexecuted instantiation: <obws::requests::CreateSceneItem as core::default::Default>::default
<obws::requests::CreateSceneItem as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
948
1
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::CreateSceneItem as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::CreateSceneItem as serde::ser::Serialize>::serialize::<_>
949
#[serde(rename_all = "camelCase")]
950
pub struct CreateSceneItem<'a> {
951
    /// Name of the scene to create the new item in.
952
    pub scene_name: &'a str,
953
    /// Name of the source to add to the scene.
954
    pub source_name: &'a str,
955
    /// Enable state to apply to the scene item on creation.
956
    pub scene_item_enabled: Option<bool>,
957
}
958
959
/// Request information for
960
/// [`duplicate_scene_item`](crate::client::SceneItems::duplicate_scene_item).
961
#[skip_serializing_none]
962
1
#[derive(
Default0
, Serialize)]
Unexecuted instantiation: <obws::requests::DuplicateSceneItem as core::default::Default>::default
Unexecuted instantiation: <obws::requests::DuplicateSceneItem as core::default::Default>::default
<obws::requests::DuplicateSceneItem as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
962
1
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::DuplicateSceneItem as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::DuplicateSceneItem as serde::ser::Serialize>::serialize::<_>
963
#[serde(rename_all = "camelCase")]
964
pub struct DuplicateSceneItem<'a> {
965
    /// Name of the scene the item is in.
966
    pub scene_name: &'a str,
967
    /// Numeric ID of the scene item.
968
    pub scene_item_id: i64,
969
    /// Name of the scene to create the duplicated item in.
970
    pub destination_scene_name: Option<&'a str>,
971
}
972
973
/// Request information for
974
/// [`set_scene_item_transform`](crate::client::SceneItems::set_scene_item_transform).
975
2
#[derive(
Default0
, Serialize)]
Unexecuted instantiation: <obws::requests::SetSceneItemTransform as core::default::Default>::default
Unexecuted instantiation: <obws::requests::SetSceneItemTransform as core::default::Default>::default
<obws::requests::SetSceneItemTransform as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
975
2
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::SetSceneItemTransform as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::SetSceneItemTransform as serde::ser::Serialize>::serialize::<_>
976
#[serde(rename_all = "camelCase")]
977
pub struct SetSceneItemTransform<'a> {
978
    /// Name of the scene the item is in.
979
    pub scene_name: &'a str,
980
    /// Numeric ID of the scene item.
981
    pub scene_item_id: i64,
982
    /// Object containing scene item transform info to update.
983
    pub scene_item_transform: SceneItemTransform,
984
}
985
986
/// Request information for
987
/// [`set_scene_item_transform`](crate::client::SceneItems::set_scene_item_transform) as part of
988
/// [`SetSceneItemTransform`].
989
#[skip_serializing_none]
990
2
#[derive(Default, Serialize)]
<obws::requests::SceneItemTransform as core::default::Default>::default
Line
Count
Source
990
2
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::SceneItemTransform as core::default::Default>::default
Unexecuted instantiation: <obws::requests::SceneItemTransform as core::default::Default>::default
<obws::requests::SceneItemTransform as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
990
2
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::SceneItemTransform as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::SceneItemTransform as serde::ser::Serialize>::serialize::<_>
991
#[serde(rename_all = "camelCase")]
992
pub struct SceneItemTransform {
993
    /// The x position of the source from the left.
994
    pub position_x: Option<f32>,
995
    /// The y position of the source from the top.
996
    pub position_y: Option<f32>,
997
    /// The clockwise rotation of the scene item in degrees around the point of alignment.
998
    pub rotation: Option<f32>,
999
    /// The x-scale factor of the source.
1000
    pub scale_x: Option<f32>,
1001
    /// The y-scale factor of the source.
1002
    pub scale_y: Option<f32>,
1003
    /// The point on the source that the item is manipulated from.
1004
    pub alignment: Option<Alignment>,
1005
    /// Type of bounding box.
1006
    pub bounds_type: Option<BoundsType>,
1007
    /// Alignment of the bounding box.
1008
    pub bounds_alignment: Option<Alignment>,
1009
    /// Width of the bounding box.
1010
    pub bounds_width: Option<f32>,
1011
    /// Height of the bounding box.
1012
    pub bounds_height: Option<f32>,
1013
    /// The number of pixels cropped off the left of the source before scaling.
1014
    pub crop_left: Option<u32>,
1015
    /// The number of pixels cropped off the right of the source before scaling.
1016
    pub crop_right: Option<u32>,
1017
    /// The number of pixels cropped off the top of the source before scaling.
1018
    pub crop_top: Option<u32>,
1019
    /// The number of pixels cropped off the bottom of the source before scaling.
1020
    pub crop_bottom: Option<u32>,
1021
}
1022
1023
impl From<crate::responses::SceneItemTransform> for SceneItemTransform {
1024
0
    fn from(t: crate::responses::SceneItemTransform) -> Self {
1025
0
        Self {
1026
0
            position_x: Some(t.position_x),
1027
0
            position_y: Some(t.position_y),
1028
0
            rotation: Some(t.rotation),
1029
0
            scale_x: Some(t.scale_x),
1030
0
            scale_y: Some(t.scale_y),
1031
0
            alignment: Some(t.alignment),
1032
0
            bounds_type: Some(t.bounds_type),
1033
0
            bounds_alignment: Some(t.bounds_alignment),
1034
0
            bounds_width: Some(t.bounds_width),
1035
0
            bounds_height: Some(t.bounds_height),
1036
0
            crop_left: Some(t.crop_left),
1037
0
            crop_right: Some(t.crop_right),
1038
0
            crop_top: Some(t.crop_top),
1039
0
            crop_bottom: Some(t.crop_bottom),
1040
0
        }
1041
0
    }
Unexecuted instantiation: <obws::requests::SceneItemTransform as core::convert::From<obws::responses::SceneItemTransform>>::from
Unexecuted instantiation: <obws::requests::SceneItemTransform as core::convert::From<obws::responses::SceneItemTransform>>::from
1042
}
1043
1044
/// Request information for
1045
/// [`set_scene_item_enabled`](crate::client::SceneItems::set_scene_item_enabled).
1046
2
#[derive(
Default0
, Serialize)]
Unexecuted instantiation: <obws::requests::SetSceneItemEnabled as core::default::Default>::default
Unexecuted instantiation: <obws::requests::SetSceneItemEnabled as core::default::Default>::default
<obws::requests::SetSceneItemEnabled as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
1046
2
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::SetSceneItemEnabled as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::SetSceneItemEnabled as serde::ser::Serialize>::serialize::<_>
1047
#[serde(rename_all = "camelCase")]
1048
pub struct SetSceneItemEnabled<'a> {
1049
    /// Name of the scene the item is in.
1050
    pub scene_name: &'a str,
1051
    /// Numeric ID of the scene item.
1052
    pub scene_item_id: i64,
1053
    /// New enable state of the scene item.
1054
    pub scene_item_enabled: bool,
1055
}
1056
1057
/// Request information for
1058
/// [`set_scene_item_locked`](crate::client::SceneItems::set_scene_item_locked).
1059
2
#[derive(
Default0
, Serialize)]
Unexecuted instantiation: <obws::requests::SetSceneItemLocked as core::default::Default>::default
Unexecuted instantiation: <obws::requests::SetSceneItemLocked as core::default::Default>::default
<obws::requests::SetSceneItemLocked as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
1059
2
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::SetSceneItemLocked as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::SetSceneItemLocked as serde::ser::Serialize>::serialize::<_>
1060
#[serde(rename_all = "camelCase")]
1061
pub struct SetSceneItemLocked<'a> {
1062
    /// Name of the scene the item is in.
1063
    pub scene_name: &'a str,
1064
    /// Numeric ID of the scene item.
1065
    pub scene_item_id: i64,
1066
    /// New lock state of the scene item.
1067
    pub scene_item_locked: bool,
1068
}
1069
1070
/// Request information for
1071
/// [`set_scene_item_index`](crate::client::SceneItems::set_scene_item_index).
1072
2
#[derive(
Default0
, Serialize)]
Unexecuted instantiation: <obws::requests::SetSceneItemIndex as core::default::Default>::default
Unexecuted instantiation: <obws::requests::SetSceneItemIndex as core::default::Default>::default
<obws::requests::SetSceneItemIndex as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
1072
2
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::SetSceneItemIndex as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::SetSceneItemIndex as serde::ser::Serialize>::serialize::<_>
1073
#[serde(rename_all = "camelCase")]
1074
pub struct SetSceneItemIndex<'a> {
1075
    /// Name of the scene the item is in.
1076
    pub scene_name: &'a str,
1077
    /// Numeric ID of the scene item.
1078
    pub scene_item_id: i64,
1079
    /// New index position of the scene item.
1080
    pub scene_item_index: u32,
1081
}
1082
1083
/// Request information for
1084
/// [`set_scene_item_private_settings`](crate::client::SceneItems::set_scene_item_private_settings).
1085
pub struct SetSceneItemPrivateSettings<'a, T> {
1086
    /// Name of the scene the item is in.
1087
    pub scene_name: &'a str,
1088
    /// Numeric ID of the scene item.
1089
    pub scene_item_id: i64,
1090
    /// Object of settings to apply.
1091
    pub scene_item_settings: &'a T,
1092
}
1093
1094
/// Request information for
1095
/// [`set_scene_item_private_settings`](crate::client::SceneItems::set_scene_item_private_settings).
1096
#[skip_serializing_none]
1097
0
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::SetSceneItemPrivateSettingsInternal as core::default::Default>::default
Unexecuted instantiation: <obws::requests::SetSceneItemPrivateSettingsInternal as core::default::Default>::default
Unexecuted instantiation: <obws::requests::SetSceneItemPrivateSettingsInternal as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Unexecuted instantiation: <obws::requests::SetSceneItemPrivateSettingsInternal as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::SetSceneItemPrivateSettingsInternal as serde::ser::Serialize>::serialize::<_>
1098
#[serde(rename_all = "camelCase")]
1099
pub(crate) struct SetSceneItemPrivateSettingsInternal<'a> {
1100
    /// Name of the scene the item is in.
1101
    pub scene_name: &'a str,
1102
    /// Numeric ID of the scene item.
1103
    pub scene_item_id: i64,
1104
    /// Object of settings to apply.
1105
    pub scene_item_settings: serde_json::Value,
1106
}
1107
1108
/// Request information for
1109
/// [`set_scene_scene_transition_override`](crate::client::Scenes::set_scene_scene_transition_override).
1110
#[skip_serializing_none]
1111
2
#[derive(
Default0
, Serialize)]
Unexecuted instantiation: <obws::requests::SetSceneSceneTransitionOverride as core::default::Default>::default
Unexecuted instantiation: <obws::requests::SetSceneSceneTransitionOverride as core::default::Default>::default
<obws::requests::SetSceneSceneTransitionOverride as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
1111
2
#[derive(Default, Serialize)]
<<obws::requests::SetSceneSceneTransitionOverride as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
1111
2
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::SetSceneSceneTransitionOverride as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::SetSceneSceneTransitionOverride as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::SetSceneSceneTransitionOverride as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::SetSceneSceneTransitionOverride as serde::ser::Serialize>::serialize::<_>
1112
#[serde(rename_all = "camelCase")]
1113
pub struct SetSceneSceneTransitionOverride<'a> {
1114
    /// Name of the scene.
1115
    pub scene_name: &'a str,
1116
    /// Name of the scene transition to use as override.
1117
    pub transition_name: Option<&'a str>,
1118
    /// Duration to use for any overridden transition.
1119
    #[serde(serialize_with = "ser::duration_millis_opt")]
1120
    pub transition_duration: Option<Duration>,
1121
}
1122
1123
/// Request information for
1124
/// [`get_source_screenshot`](crate::client::Sources::get_source_screenshot).
1125
#[skip_serializing_none]
1126
1
#[derive(
Default0
, Serialize)]
Unexecuted instantiation: <obws::requests::GetSourceScreenshot as core::default::Default>::default
Unexecuted instantiation: <obws::requests::GetSourceScreenshot as core::default::Default>::default
<obws::requests::GetSourceScreenshot as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
1126
1
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::GetSourceScreenshot as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::GetSourceScreenshot as serde::ser::Serialize>::serialize::<_>
1127
#[serde(rename_all = "camelCase")]
1128
pub struct GetSourceScreenshot<'a> {
1129
    /// Name of the source to take a screenshot of.
1130
    pub source_name: &'a str,
1131
    /// Image compression format to use. Use [`get_version`] to get compatible image formats.
1132
    ///
1133
    /// [`get_version`]: crate::client::General::get_version
1134
    pub image_format: &'a str,
1135
    /// Width to scale the screenshot to.
1136
    pub image_width: Option<u32>,
1137
    /// Height to scale the screenshot to.
1138
    pub image_height: Option<u32>,
1139
    /// Compression quality to use. 0 for high compression, 100 for uncompressed. -1 to use
1140
    /// "default".
1141
    pub image_compression_quality: Option<i32>,
1142
}
1143
1144
/// Request information for
1145
/// [`save_source_screenshot`](crate::client::Sources::save_source_screenshot).
1146
#[skip_serializing_none]
1147
1
#[derive(Serialize)]
<obws::requests::SaveSourceScreenshot as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
1147
1
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::SaveSourceScreenshot as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::SaveSourceScreenshot as serde::ser::Serialize>::serialize::<_>
1148
#[serde(rename_all = "camelCase")]
1149
pub struct SaveSourceScreenshot<'a> {
1150
    /// Name of the source to take a screenshot of.
1151
    pub source_name: &'a str,
1152
    /// Image compression format to use. Use [`get_version`] to get compatible image formats.
1153
    ///
1154
    /// [`get_version`]: crate::client::General::get_version
1155
    pub image_format: &'a str,
1156
    /// Width to scale the screenshot to.
1157
    pub image_width: Option<u32>,
1158
    /// Height to scale the screenshot to.
1159
    pub image_height: Option<u32>,
1160
    /// Compression quality to use. 0 for high compression, 100 for uncompressed. -1 to use
1161
    /// "default".
1162
    pub image_compression_quality: Option<i32>,
1163
    /// Path to save the screenshot file to. For example `C:\Users\user\Desktop\screenshot.png`.
1164
    pub image_file_path: &'a Path,
1165
}
\ No newline at end of file +

Coverage Report

Created: 2022-07-04 16:17

src/requests/mod.rs
Line
Count
Source (jump to first uncovered line)
1
//! All requests that can be send to the API.
2
3
use bitflags::bitflags;
4
use serde::{ser::SerializeStruct, Serialize};
5
use serde_repr::Serialize_repr;
6
use serde_with::skip_serializing_none;
7
8
pub mod config;
9
pub mod custom;
10
pub mod filters;
11
pub mod general;
12
pub mod hotkeys;
13
pub mod inputs;
14
pub(crate) mod media_inputs;
15
pub(crate) mod outputs;
16
pub mod profiles;
17
pub(crate) mod recording;
18
pub(crate) mod replay_buffer;
19
pub(crate) mod scene_collections;
20
pub mod scene_items;
21
pub mod scenes;
22
pub mod sources;
23
pub(crate) mod streaming;
24
pub(crate) mod transitions;
25
pub mod ui;
26
pub(crate) mod virtual_cam;
27
28
pub(crate) enum ClientRequest<'a> {
29
    /// Response to [`crate::responses::ServerMessage::Hello`] message, should contain
30
    /// authentication string if authentication is required, along with Pub-sub subscriptions and
31
    /// other session parameters.
32
    Identify(Identify),
33
    /// Sent at any time after initial identification to update the provided session parameters.
34
    Reidentify(Reidentify),
35
    /// Client is making a request to obs-websocket. For example get current scene, create source.
36
    Request(Request<'a>),
37
    /// Client is making a batch of requests for obs-websocket. Requests are processed serially
38
    /// (in order) by the server.
39
    #[allow(dead_code)]
40
    RequestBatch(RequestBatch<'a>),
41
}
42
43
impl<'a> Serialize for ClientRequest<'a> {
44
364
    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
45
364
    where
46
364
        S: serde::Serializer,
47
364
    {
48
364
        #[derive(Serialize_repr)]
<<obws::requests::ClientRequest as serde::ser::Serialize>::serialize::OpCode as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
48
364
        #[derive(Serialize_repr)]
Unexecuted instantiation: <<obws::requests::ClientRequest as serde::ser::Serialize>::serialize::OpCode as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::ClientRequest as serde::ser::Serialize>::serialize::OpCode as serde::ser::Serialize>::serialize::<_>
49
364
        #[repr(u8)]
50
364
        enum OpCode {
51
364
            /// The message sent by a newly connected client to obs-websocket in response to a
52
364
            /// `Hello`.
53
364
            Identify = 1,
54
364
            /// The message sent by an already-identified client to update identification
55
364
            /// parameters.
56
364
            Reidentify = 3,
57
364
            /// The message sent by a client to obs-websocket to perform a request.
58
364
            Request = 6,
59
364
            /// The message sent by a client to obs-websocket to perform a batch of requests.
60
364
            RequestBatch = 8,
61
364
        }
62
364
63
364
        fn write_state<S>(serializer: S, op: OpCode, d: &impl Serialize) -> Result<S::Ok, S::Error>
64
364
        where
65
364
            S: serde::Serializer,
66
364
        {
67
364
            let mut state = serializer.serialize_struct("ClientRequest", 2)
?0
;
68
364
            state.serialize_field("op", &op)
?0
;
69
364
            state.serialize_field("d", d)
?0
;
70
364
            state.end()
71
364
        }
<obws::requests::ClientRequest as serde::ser::Serialize>::serialize::write_state::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>, obws::requests::Identify>
Line
Count
Source
63
18
        fn write_state<S>(serializer: S, op: OpCode, d: &impl Serialize) -> Result<S::Ok, S::Error>
64
18
        where
65
18
            S: serde::Serializer,
66
18
        {
67
18
            let mut state = serializer.serialize_struct("ClientRequest", 2)
?0
;
68
18
            state.serialize_field("op", &op)
?0
;
69
18
            state.serialize_field("d", d)
?0
;
70
18
            state.end()
71
18
        }
Unexecuted instantiation: <obws::requests::ClientRequest as serde::ser::Serialize>::serialize::write_state::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>, obws::requests::Reidentify>
<obws::requests::ClientRequest as serde::ser::Serialize>::serialize::write_state::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>, obws::requests::Request>
Line
Count
Source
63
346
        fn write_state<S>(serializer: S, op: OpCode, d: &impl Serialize) -> Result<S::Ok, S::Error>
64
346
        where
65
346
            S: serde::Serializer,
66
346
        {
67
346
            let mut state = serializer.serialize_struct("ClientRequest", 2)
?0
;
68
346
            state.serialize_field("op", &op)
?0
;
69
346
            state.serialize_field("d", d)
?0
;
70
346
            state.end()
71
346
        }
Unexecuted instantiation: <obws::requests::ClientRequest as serde::ser::Serialize>::serialize::write_state::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>, obws::requests::RequestBatch>
Unexecuted instantiation: <obws::requests::ClientRequest as serde::ser::Serialize>::serialize::write_state::<_, _>
Unexecuted instantiation: <obws::requests::ClientRequest as serde::ser::Serialize>::serialize::write_state::<_, _>
72
364
73
364
        match self {
74
18
            Self::Identify(value) => write_state(serializer, OpCode::Identify, value),
75
0
            Self::Reidentify(value) => write_state(serializer, OpCode::Reidentify, value),
76
346
            Self::Request(value) => write_state(serializer, OpCode::Request, value),
77
0
            Self::RequestBatch(value) => write_state(serializer, OpCode::RequestBatch, value),
78
        }
79
364
    }
<obws::requests::ClientRequest as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
44
364
    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
45
364
    where
46
364
        S: serde::Serializer,
47
364
    {
48
364
        #[derive(Serialize_repr)]
49
364
        #[repr(u8)]
50
364
        enum OpCode {
51
364
            /// The message sent by a newly connected client to obs-websocket in response to a
52
364
            /// `Hello`.
53
364
            Identify = 1,
54
364
            /// The message sent by an already-identified client to update identification
55
364
            /// parameters.
56
364
            Reidentify = 3,
57
364
            /// The message sent by a client to obs-websocket to perform a request.
58
364
            Request = 6,
59
364
            /// The message sent by a client to obs-websocket to perform a batch of requests.
60
364
            RequestBatch = 8,
61
364
        }
62
364
63
364
        fn write_state<S>(serializer: S, op: OpCode, d: &impl Serialize) -> Result<S::Ok, S::Error>
64
364
        where
65
364
            S: serde::Serializer,
66
364
        {
67
364
            let mut state = serializer.serialize_struct("ClientRequest", 2)?;
68
364
            state.serialize_field("op", &op)?;
69
364
            state.serialize_field("d", d)?;
70
364
            state.end()
71
364
        }
72
364
73
364
        match self {
74
18
            Self::Identify(value) => write_state(serializer, OpCode::Identify, value),
75
0
            Self::Reidentify(value) => write_state(serializer, OpCode::Reidentify, value),
76
346
            Self::Request(value) => write_state(serializer, OpCode::Request, value),
77
0
            Self::RequestBatch(value) => write_state(serializer, OpCode::RequestBatch, value),
78
        }
79
364
    }
Unexecuted instantiation: <obws::requests::ClientRequest as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::ClientRequest as serde::ser::Serialize>::serialize::<_>
80
}
81
82
/// Response to [`crate::responses::ServerMessage::Hello`] message, should contain
83
/// authentication string if authentication is required, along with Pub-sub subscriptions and other
84
/// session parameters.
85
#[skip_serializing_none]
86
18
#[derive(Serialize)]
<obws::requests::Identify as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
86
18
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::Identify as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::Identify as serde::ser::Serialize>::serialize::<_>
87
pub(crate) struct Identify {
88
    /// Version number that the client would like the obs-websocket server to use.
89
    #[serde(rename = "rpcVersion")]
90
    pub rpc_version: u32,
91
    #[serde(rename = "authentication")]
92
    pub authentication: Option<String>,
93
    /// Bit mask of event subscription items to subscribe to events and event categories at will. By
94
    /// default, all event categories are subscribed, except for events marked as high volume. High
95
    /// volume events must be explicitly subscribed to.
96
    #[serde(rename = "eventSubscriptions")]
97
    pub event_subscriptions: Option<EventSubscription>,
98
}
99
100
/// Sent at any time after initial identification to update the provided session parameters.
101
#[skip_serializing_none]
102
0
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::Reidentify as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Unexecuted instantiation: <obws::requests::Reidentify as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::Reidentify as serde::ser::Serialize>::serialize::<_>
103
pub(crate) struct Reidentify {
104
    #[serde(rename = "eventSubscriptions")]
105
    pub event_subscriptions: Option<EventSubscription>,
106
}
107
108
/// Client is making a request to obs-websocket. For example get current scene, create source.
109
346
#[derive(Serialize)]
<obws::requests::Request as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
109
346
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::Request as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::Request as serde::ser::Serialize>::serialize::<_>
110
pub(crate) struct Request<'a> {
111
    #[serde(rename = "requestId")]
112
    pub request_id: &'a str,
113
    #[serde(flatten)]
114
    pub ty: RequestType<'a>,
115
}
116
117
/// Client is making a batch of requests for obs-websocket. Requests are processed serially
118
/// (in order) by the server.
119
#[skip_serializing_none]
120
0
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::RequestBatch as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Unexecuted instantiation: <obws::requests::RequestBatch as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::RequestBatch as serde::ser::Serialize>::serialize::<_>
121
pub(crate) struct RequestBatch<'a> {
122
    #[serde(rename = "requestId")]
123
    pub request_id: &'a str,
124
    /// When true, the processing of requests will be halted on first failure. Returns only the
125
    /// processed requests in
126
    /// [`crate::responses::ServerMessage::RequestBatchResponse`].
127
    #[serde(rename = "haltOnFailure")]
128
    pub halt_on_failure: Option<bool>,
129
    #[serde(rename = "requests")]
130
    pub requests: &'a [RequestType<'a>],
131
    #[serde(rename = "executionType")]
132
    pub execution_type: Option<ExecutionType>,
133
}
134
135
bitflags! {
136
    /// Bit flags for possible event subscriptions, that can be enabled when connecting to the OBS
137
    /// instance.
138
0
    #[derive(Serialize)]
Unexecuted instantiation: <obws::requests::EventSubscription as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Unexecuted instantiation: <obws::requests::EventSubscription as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::EventSubscription as serde::ser::Serialize>::serialize::<_>
139
    #[serde(transparent)]
140
    pub struct EventSubscription: u32 {
141
        /// Subscription value used to disable all events.
142
        const NONE = 0;
143
        /// Subscription value to receive events in the `General` category.
144
        const GENERAL = 1 << 0;
145
        /// Subscription value to receive events in the `Config` category.
146
        const CONFIG = 1 << 1;
147
        /// Subscription value to receive events in the `Scenes` category.
148
        const SCENES = 1 << 2;
149
        /// Subscription value to receive events in the `Inputs` category.
150
        const INPUTS = 1 << 3;
151
        /// Subscription value to receive events in the `Transitions` category.
152
        const TRANSITIONS = 1 << 4;
153
        /// Subscription value to receive events in the `Filters` category.
154
        const FILTERS = 1 << 5;
155
        /// Subscription value to receive events in the `Outputs` category.
156
        const OUTPUTS = 1 << 6;
157
        /// Subscription value to receive events in the `SceneItems` category.
158
        const SCENE_ITEMS = 1 << 7;
159
        /// Subscription value to receive events in the `MediaInputs` category.
160
        const MEDIA_INPUTS = 1 << 8;
161
        /// Subscription value to receive the [`VendorEvent`] event.
162
        ///
163
        /// [`VendorEvent`]: crate::events::Event::VendorEvent
164
        const VENDORS = 1 << 9;
165
        /// Subscription value to receive events in the `Ui` category.
166
        const UI = 1 << 10;
167
168
        /// Helper to receive all non-high-volume events.
169
        const ALL = Self::GENERAL.bits
170
            | Self::CONFIG.bits
171
            | Self::SCENES.bits
172
            | Self::INPUTS.bits
173
            | Self::TRANSITIONS.bits
174
            | Self::FILTERS.bits
175
            | Self::OUTPUTS.bits
176
            | Self::SCENE_ITEMS.bits
177
            | Self::MEDIA_INPUTS.bits
178
            | Self::VENDORS.bits
179
            | Self::UI.bits;
180
181
        /// Subscription value to receive the [`InputVolumeMeters`] high-volume event.
182
        ///
183
        /// [`InputVolumeMeters`]: crate::events::Event::InputVolumeMeters
184
        const INPUT_VOLUME_METERS = 1 << 16;
185
        /// Subscription value to receive the [`InputActiveStateChanged`] high-volume event.
186
        ///
187
        /// [`InputActiveStateChanged`]: crate::events::Event::InputActiveStateChanged
188
        const INPUT_ACTIVE_STATE_CHANGED = 1 << 17;
189
        /// Subscription value to receive the [`InputShowStateChanged`] high-volume event.
190
        ///
191
        /// [`InputShowStateChanged`]: crate::events::Event::InputShowStateChanged
192
        const INPUT_SHOW_STATE_CHANGED = 1 << 18;
193
        /// Subscription value to receive the [`SceneItemTransformChanged`] high-volume event.
194
        ///
195
        /// [`SceneItemTransformChanged`]: crate::events::Event::SceneItemTransformChanged
196
        const SCENE_ITEM_TRANSFORM_CHANGED = 1 << 19;
197
198
    }
199
}
200
201
#[allow(dead_code)]
202
0
#[derive(Serialize_repr)]
Unexecuted instantiation: <obws::requests::ExecutionType as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Unexecuted instantiation: <obws::requests::ExecutionType as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::ExecutionType as serde::ser::Serialize>::serialize::<_>
203
#[repr(i8)]
204
pub(crate) enum ExecutionType {
205
    /// Not a request batch.
206
    None = -1,
207
    /// A request batch which processes all requests serially, as fast as possible.
208
    SerialRealtime = 0,
209
    /// A request batch type which processes all requests serially, in sync with the graphics
210
    /// thread. Designed to provide high accuracy for animations.
211
    SerialFrame = 1,
212
    /// A request batch type which processes all requests using all available threads in the thread
213
    /// pool.
214
    Parallel = 2,
215
}
216
217
pub(crate) enum RequestType<'a> {
218
    Config(self::config::Request<'a>),
219
    Filters(self::filters::Request<'a>),
220
    General(self::general::Request<'a>),
221
    Hotkeys(self::hotkeys::Request<'a>),
222
    Inputs(self::inputs::Request<'a>),
223
    MediaInputs(self::media_inputs::Request<'a>),
224
    Outputs(self::outputs::Request<'a>),
225
    Profiles(self::profiles::Request<'a>),
226
    Recording(self::recording::Request),
227
    ReplayBuffer(self::replay_buffer::Request),
228
    SceneCollections(self::scene_collections::Request<'a>),
229
    SceneItems(self::scene_items::Request<'a>),
230
    Scenes(self::scenes::Request<'a>),
231
    Sources(self::sources::Request<'a>),
232
    Streaming(self::streaming::Request<'a>),
233
    Transitions(self::transitions::Request<'a>),
234
    Ui(self::ui::Request<'a>),
235
    VirtualCam(self::virtual_cam::Request),
236
}
237
238
impl<'a> Serialize for RequestType<'a> {
239
346
    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
240
346
    where
241
346
        S: serde::Serializer,
242
346
    {
243
346
        match self {
244
7
            Self::Config(req) => req.serialize(serializer),
245
29
            Self::Filters(req) => req.serialize(serializer),
246
21
            Self::General(req) => req.serialize(serializer),
247
3
            Self::Hotkeys(req) => req.serialize(serializer),
248
38
            Self::Inputs(req) => req.serialize(serializer),
249
4
            Self::MediaInputs(req) => req.serialize(serializer),
250
8
            Self::Outputs(req) => req.serialize(serializer),
251
27
            Self::Profiles(req) => req.serialize(serializer),
252
27
            Self::Recording(req) => req.serialize(serializer),
253
25
            Self::ReplayBuffer(req) => req.serialize(serializer),
254
4
            Self::SceneCollections(req) => req.serialize(serializer),
255
20
            Self::SceneItems(req) => req.serialize(serializer),
256
69
            Self::Scenes(req) => req.serialize(serializer),
257
3
            Self::Sources(req) => req.serialize(serializer),
258
1
            Self::Streaming(req) => req.serialize(serializer),
259
9
            Self::Transitions(req) => req.serialize(serializer),
260
28
            Self::Ui(req) => req.serialize(serializer),
261
23
            Self::VirtualCam(req) => req.serialize(serializer),
262
        }
263
346
    }
<obws::requests::RequestType as serde::ser::Serialize>::serialize::<serde::__private::ser::FlatMapSerializer<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>>
Line
Count
Source
239
346
    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
240
346
    where
241
346
        S: serde::Serializer,
242
346
    {
243
346
        match self {
244
7
            Self::Config(req) => req.serialize(serializer),
245
29
            Self::Filters(req) => req.serialize(serializer),
246
21
            Self::General(req) => req.serialize(serializer),
247
3
            Self::Hotkeys(req) => req.serialize(serializer),
248
38
            Self::Inputs(req) => req.serialize(serializer),
249
4
            Self::MediaInputs(req) => req.serialize(serializer),
250
8
            Self::Outputs(req) => req.serialize(serializer),
251
27
            Self::Profiles(req) => req.serialize(serializer),
252
27
            Self::Recording(req) => req.serialize(serializer),
253
25
            Self::ReplayBuffer(req) => req.serialize(serializer),
254
4
            Self::SceneCollections(req) => req.serialize(serializer),
255
20
            Self::SceneItems(req) => req.serialize(serializer),
256
69
            Self::Scenes(req) => req.serialize(serializer),
257
3
            Self::Sources(req) => req.serialize(serializer),
258
1
            Self::Streaming(req) => req.serialize(serializer),
259
9
            Self::Transitions(req) => req.serialize(serializer),
260
28
            Self::Ui(req) => req.serialize(serializer),
261
23
            Self::VirtualCam(req) => req.serialize(serializer),
262
        }
263
346
    }
Unexecuted instantiation: <obws::requests::RequestType as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Unexecuted instantiation: <obws::requests::RequestType as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::RequestType as serde::ser::Serialize>::serialize::<_>
264
}
\ No newline at end of file diff --git a/coverage/src/requests/outputs.rs.html b/coverage/src/requests/outputs.rs.html new file mode 100644 index 0000000..3d43f3f --- /dev/null +++ b/coverage/src/requests/outputs.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/requests/outputs.rs
Line
Count
Source
1
//! Requests related to outputs.
2
3
use serde::Serialize;
4
5
15
#[derive(
S8
eri
aliz7
e)]
<<obws::requests::outputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
5
1
#[derive(Serialize)]
<<obws::requests::outputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
5
2
#[derive(Serialize)]
<<obws::requests::outputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
5
1
#[derive(Serialize)]
<<obws::requests::outputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
5
1
#[derive(Serialize)]
<<obws::requests::outputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
5
1
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::outputs::Request as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
<obws::requests::outputs::Request as serde::ser::Serialize>::serialize::<serde::__private::ser::FlatMapSerializer<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>>
Line
Count
Source
5
8
#[derive(Serialize)]
<<obws::requests::outputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
5
1
#[derive(Serialize)]
Unexecuted instantiation: <<obws::requests::outputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::outputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::outputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::outputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::outputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::outputs::Request as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::outputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::outputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::outputs::Request as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::outputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::outputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::outputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::outputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::outputs::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
6
#[serde(tag = "requestType", content = "requestData")]
7
pub(crate) enum Request<'a> {
8
    #[serde(rename = "GetOutputList")]
9
    List,
10
    #[serde(rename = "GetOutputStatus")]
11
    Status {
12
        /// Output name.
13
        #[serde(rename = "outputName")]
14
        name: &'a str,
15
    },
16
    #[serde(rename = "ToggleOutput")]
17
    Toggle {
18
        /// Output name.
19
        #[serde(rename = "outputName")]
20
        name: &'a str,
21
    },
22
    #[serde(rename = "StartOutput")]
23
    Start {
24
        /// Output name.
25
        #[serde(rename = "outputName")]
26
        name: &'a str,
27
    },
28
    #[serde(rename = "StopOutput")]
29
    Stop {
30
        /// Output name.
31
        #[serde(rename = "outputName")]
32
        name: &'a str,
33
    },
34
    #[serde(rename = "GetOutputSettings")]
35
    Settings {
36
        /// Output name.
37
        #[serde(rename = "outputName")]
38
        name: &'a str,
39
    },
40
    #[serde(rename = "SetOutputSettings")]
41
    SetSettings {
42
        /// Output name.
43
        #[serde(rename = "outputName")]
44
        name: &'a str,
45
        /// Output settings.
46
        #[serde(rename = "outputSettings")]
47
        settings: serde_json::Value,
48
    },
49
}
50
51
impl<'a> From<Request<'a>> for super::RequestType<'a> {
52
8
    fn from(value: Request<'a>) -> Self {
53
8
        super::RequestType::Outputs(value)
54
8
    }
<obws::requests::RequestType as core::convert::From<obws::requests::outputs::Request>>::from
Line
Count
Source
52
8
    fn from(value: Request<'a>) -> Self {
53
8
        super::RequestType::Outputs(value)
54
8
    }
Unexecuted instantiation: <obws::requests::RequestType as core::convert::From<obws::requests::outputs::Request>>::from
55
}
\ No newline at end of file diff --git a/coverage/src/requests/profiles.rs.html b/coverage/src/requests/profiles.rs.html new file mode 100644 index 0000000..152454b --- /dev/null +++ b/coverage/src/requests/profiles.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/requests/profiles.rs
Line
Count
Source (jump to first uncovered line)
1
//! Requests related to profiles.
2
3
use serde::Serialize;
4
use serde_with::skip_serializing_none;
5
6
32
#[derive(
S27
eri
aliz5
e)]
<<obws::requests::profiles::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
6
1
#[derive(Serialize)]
<<obws::requests::profiles::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
6
1
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::profiles::Request as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
<<obws::requests::profiles::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
6
2
#[derive(Serialize)]
<<obws::requests::profiles::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
6
1
#[derive(Serialize)]
<obws::requests::profiles::Request as serde::ser::Serialize>::serialize::<serde::__private::ser::FlatMapSerializer<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>>
Line
Count
Source
6
27
#[derive(Serialize)]
Unexecuted instantiation: <<obws::requests::profiles::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::profiles::Request as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::profiles::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::profiles::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::profiles::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::profiles::Request as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::profiles::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::profiles::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::profiles::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::profiles::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
7
#[serde(tag = "requestType", content = "requestData")]
8
pub(crate) enum Request<'a> {
9
    #[serde(rename = "GetProfileList")]
10
    List,
11
    #[serde(rename = "SetCurrentProfile")]
12
    SetCurrent {
13
        /// Name of the profile to switch to.
14
        #[serde(rename = "profileName")]
15
        name: &'a str,
16
    },
17
    #[serde(rename = "CreateProfile")]
18
    Create {
19
        /// Name for the new profile.
20
        #[serde(rename = "profileName")]
21
        name: &'a str,
22
    },
23
    #[serde(rename = "RemoveProfile")]
24
    Remove {
25
        /// Name of the profile to remove.
26
        #[serde(rename = "profileName")]
27
        name: &'a str,
28
    },
29
    #[serde(rename = "GetProfileParameter")]
30
    Parameter {
31
        /// Category of the parameter to get.
32
        #[serde(rename = "parameterCategory")]
33
        category: &'a str,
34
        /// Name of the parameter to get.
35
        #[serde(rename = "parameterName")]
36
        name: &'a str,
37
    },
38
    #[serde(rename = "SetProfileParameter")]
39
    SetParameter(SetParameter<'a>),
40
}
41
42
impl<'a> From<Request<'a>> for super::RequestType<'a> {
43
27
    fn from(value: Request<'a>) -> Self {
44
27
        super::RequestType::Profiles(value)
45
27
    }
<obws::requests::RequestType as core::convert::From<obws::requests::profiles::Request>>::from
Line
Count
Source
43
27
    fn from(value: Request<'a>) -> Self {
44
27
        super::RequestType::Profiles(value)
45
27
    }
Unexecuted instantiation: <obws::requests::RequestType as core::convert::From<obws::requests::profiles::Request>>::from
46
}
47
48
/// Request information for [`crate::client::Profiles::set_parameter`].
49
#[skip_serializing_none]
50
2
#[derive(
Default0
, Serialize)]
Unexecuted instantiation: <obws::requests::profiles::SetParameter as core::default::Default>::default
Unexecuted instantiation: <obws::requests::profiles::SetParameter as core::default::Default>::default
<obws::requests::profiles::SetParameter as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
50
2
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::profiles::SetParameter as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::profiles::SetParameter as serde::ser::Serialize>::serialize::<_>
51
pub struct SetParameter<'a> {
52
    /// Category of the parameter to set.
53
    #[serde(rename = "parameterCategory")]
54
    pub category: &'a str,
55
    /// Name of the parameter to set.
56
    #[serde(rename = "parameterName")]
57
    pub name: &'a str,
58
    /// Value of the parameter to set. Use [`None`] to delete.
59
    #[serde(rename = "parameterValue")]
60
    pub value: Option<&'a str>,
61
}
\ No newline at end of file diff --git a/coverage/src/requests/recording.rs.html b/coverage/src/requests/recording.rs.html new file mode 100644 index 0000000..592045b --- /dev/null +++ b/coverage/src/requests/recording.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/requests/recording.rs
Line
Count
Source
1
//! Requests related to recording.
2
3
use serde::Serialize;
4
5
27
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::recording::Request as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
<obws::requests::recording::Request as serde::ser::Serialize>::serialize::<serde::__private::ser::FlatMapSerializer<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>>
Line
Count
Source
5
27
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::recording::Request as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::recording::Request as serde::ser::Serialize>::serialize::<_>
6
#[serde(tag = "requestType", content = "requestData")]
7
pub(crate) enum Request {
8
    #[serde(rename = "GetRecordStatus")]
9
    Status,
10
    #[serde(rename = "ToggleRecord")]
11
    Toggle,
12
    #[serde(rename = "StartRecord")]
13
    Start,
14
    #[serde(rename = "StopRecord")]
15
    Stop,
16
    #[serde(rename = "ToggleRecordPause")]
17
    TogglePause,
18
    #[serde(rename = "PauseRecord")]
19
    Pause,
20
    #[serde(rename = "ResumeRecord")]
21
    Resume,
22
}
23
24
impl<'a> From<Request> for super::RequestType<'a> {
25
27
    fn from(value: Request) -> Self {
26
27
        super::RequestType::Recording(value)
27
27
    }
<obws::requests::RequestType as core::convert::From<obws::requests::recording::Request>>::from
Line
Count
Source
25
27
    fn from(value: Request) -> Self {
26
27
        super::RequestType::Recording(value)
27
27
    }
Unexecuted instantiation: <obws::requests::RequestType as core::convert::From<obws::requests::recording::Request>>::from
28
}
\ No newline at end of file diff --git a/coverage/src/requests/replay_buffer.rs.html b/coverage/src/requests/replay_buffer.rs.html new file mode 100644 index 0000000..9bb09ac --- /dev/null +++ b/coverage/src/requests/replay_buffer.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/requests/replay_buffer.rs
Line
Count
Source
1
//! Requests related to the replay buffer.
2
3
use serde::Serialize;
4
5
25
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::replay_buffer::Request as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
<obws::requests::replay_buffer::Request as serde::ser::Serialize>::serialize::<serde::__private::ser::FlatMapSerializer<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>>
Line
Count
Source
5
25
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::replay_buffer::Request as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::replay_buffer::Request as serde::ser::Serialize>::serialize::<_>
6
#[serde(tag = "requestType", content = "requestData")]
7
pub(crate) enum Request {
8
    #[serde(rename = "GetReplayBufferStatus")]
9
    Status,
10
    #[serde(rename = "ToggleReplayBuffer")]
11
    Toggle,
12
    #[serde(rename = "StartReplayBuffer")]
13
    Start,
14
    #[serde(rename = "StopReplayBuffer")]
15
    Stop,
16
    #[serde(rename = "SaveReplayBuffer")]
17
    Save,
18
    #[serde(rename = "GetLastReplayBufferReplay")]
19
    LastReplay,
20
}
21
22
impl<'a> From<Request> for super::RequestType<'a> {
23
25
    fn from(value: Request) -> Self {
24
25
        super::RequestType::ReplayBuffer(value)
25
25
    }
<obws::requests::RequestType as core::convert::From<obws::requests::replay_buffer::Request>>::from
Line
Count
Source
23
25
    fn from(value: Request) -> Self {
24
25
        super::RequestType::ReplayBuffer(value)
25
25
    }
Unexecuted instantiation: <obws::requests::RequestType as core::convert::From<obws::requests::replay_buffer::Request>>::from
26
}
\ No newline at end of file diff --git a/coverage/src/requests/scene_collections.rs.html b/coverage/src/requests/scene_collections.rs.html new file mode 100644 index 0000000..51a8b29 --- /dev/null +++ b/coverage/src/requests/scene_collections.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/requests/scene_collections.rs
Line
Count
Source
1
//! Requests related to scene collections.
2
3
use serde::Serialize;
4
5
6
#[derive(
S4
eri
aliz2
e)]
Unexecuted instantiation: <<obws::requests::scene_collections::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
<<obws::requests::scene_collections::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
5
2
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::scene_collections::Request as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
<obws::requests::scene_collections::Request as serde::ser::Serialize>::serialize::<serde::__private::ser::FlatMapSerializer<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>>
Line
Count
Source
5
4
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::scene_collections::Request as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::scene_collections::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::scene_collections::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::scene_collections::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::scene_collections::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::scene_collections::Request as serde::ser::Serialize>::serialize::<_>
6
#[serde(tag = "requestType", content = "requestData")]
7
pub(crate) enum Request<'a> {
8
    #[serde(rename = "GetSceneCollectionList")]
9
    List,
10
    #[serde(rename = "SetCurrentSceneCollection")]
11
    SetCurrent {
12
        /// Name of the scene collection to switch to.
13
        #[serde(rename = "sceneCollectionName")]
14
        name: &'a str,
15
    },
16
    #[serde(rename = "CreateSceneCollection")]
17
    Create {
18
        /// Name for the new scene collection.
19
        #[serde(rename = "sceneCollectionName")]
20
        name: &'a str,
21
    },
22
}
23
24
impl<'a> From<Request<'a>> for super::RequestType<'a> {
25
4
    fn from(value: Request<'a>) -> Self {
26
4
        super::RequestType::SceneCollections(value)
27
4
    }
<obws::requests::RequestType as core::convert::From<obws::requests::scene_collections::Request>>::from
Line
Count
Source
25
4
    fn from(value: Request<'a>) -> Self {
26
4
        super::RequestType::SceneCollections(value)
27
4
    }
Unexecuted instantiation: <obws::requests::RequestType as core::convert::From<obws::requests::scene_collections::Request>>::from
28
}
\ No newline at end of file diff --git a/coverage/src/requests/scene_items.rs.html b/coverage/src/requests/scene_items.rs.html new file mode 100644 index 0000000..e72fa0c --- /dev/null +++ b/coverage/src/requests/scene_items.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/requests/scene_items.rs
Line
Count
Source (jump to first uncovered line)
1
//! Requests related to scene items.
2
3
use serde::Serialize;
4
use serde_with::skip_serializing_none;
5
6
use crate::common::{Alignment, BoundsType};
7
8
29
#[derive(
S20
eri
aliz9
e)]
<<obws::requests::scene_items::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
8
1
#[derive(Serialize)]
<<obws::requests::scene_items::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
8
1
#[derive(Serialize)]
<<obws::requests::scene_items::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
8
1
#[derive(Serialize)]
<<obws::requests::scene_items::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
8
1
#[derive(Serialize)]
<<obws::requests::scene_items::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
8
1
#[derive(Serialize)]
<obws::requests::scene_items::Request as serde::ser::Serialize>::serialize::<serde::__private::ser::FlatMapSerializer<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>>
Line
Count
Source
8
20
#[derive(Serialize)]
<<obws::requests::scene_items::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
8
1
#[derive(Serialize)]
<<obws::requests::scene_items::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
8
1
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::scene_items::Request as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
<<obws::requests::scene_items::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
8
2
#[derive(Serialize)]
Unexecuted instantiation: <<obws::requests::scene_items::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::scene_items::Request as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::scene_items::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::scene_items::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::scene_items::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::scene_items::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::scene_items::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::scene_items::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::scene_items::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::scene_items::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::scene_items::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::scene_items::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::scene_items::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::scene_items::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::scene_items::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::scene_items::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::scene_items::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::scene_items::Request as serde::ser::Serialize>::serialize::<_>
9
#[serde(tag = "requestType", content = "requestData")]
10
pub(crate) enum Request<'a> {
11
    #[serde(rename = "GetSceneItemList")]
12
    List {
13
        /// Name of the scene to get the items of.
14
        #[serde(rename = "sceneName")]
15
        scene: &'a str,
16
    },
17
    #[serde(rename = "GetGroupSceneItemList")]
18
    ListGroup {
19
        /// Name of the group to get the items of.
20
        #[serde(rename = "sceneName")]
21
        scene: &'a str,
22
    },
23
    #[serde(rename = "GetSceneItemId")]
24
    Id(Id<'a>),
25
    #[serde(rename = "CreateSceneItem")]
26
    Create(CreateSceneItem<'a>),
27
    #[serde(rename = "RemoveSceneItem")]
28
    Remove {
29
        /// Name of the scene the item is in.
30
        #[serde(rename = "sceneName")]
31
        scene: &'a str,
32
        /// Numeric ID of the scene item.
33
        #[serde(rename = "sceneItemId")]
34
        item_id: i64,
35
    },
36
    #[serde(rename = "DuplicateSceneItem")]
37
    Duplicate(Duplicate<'a>),
38
    #[serde(rename = "GetSceneItemTransform")]
39
    Transform {
40
        /// Name of the scene the item is in.
41
        #[serde(rename = "sceneName")]
42
        scene: &'a str,
43
        /// Numeric ID of the scene item.
44
        #[serde(rename = "sceneItemId")]
45
        item_id: i64,
46
    },
47
    #[serde(rename = "SetSceneItemTransform")]
48
    SetTransform(SetTransform<'a>),
49
    #[serde(rename = "GetSceneItemEnabled")]
50
    Enabled {
51
        /// Name of the scene the item is in.
52
        #[serde(rename = "sceneName")]
53
        scene: &'a str,
54
        /// Numeric ID of the scene item.
55
        #[serde(rename = "sceneItemId")]
56
        item_id: i64,
57
    },
58
    #[serde(rename = "SetSceneItemEnabled")]
59
    SetEnabled(SetEnabled<'a>),
60
    #[serde(rename = "GetSceneItemLocked")]
61
    Locked {
62
        /// Name of the scene the item is in.
63
        #[serde(rename = "sceneName")]
64
        scene: &'a str,
65
        /// Numeric ID of the scene item.
66
        #[serde(rename = "sceneItemId")]
67
        item_id: i64,
68
    },
69
    #[serde(rename = "SetSceneItemLocked")]
70
    SetLocked(SetLocked<'a>),
71
    #[serde(rename = "GetSceneItemIndex")]
72
    Index {
73
        /// Name of the scene the item is in.
74
        #[serde(rename = "sceneName")]
75
        scene: &'a str,
76
        /// Numeric ID of the scene item.
77
        #[serde(rename = "sceneItemId")]
78
        item_id: i64,
79
    },
80
    #[serde(rename = "SetSceneItemIndex")]
81
    SetIndex(SetIndex<'a>),
82
    #[serde(rename = "GetSceneItemPrivateSettings")]
83
    PrivateSettings {
84
        /// Name of the scene the item is in.
85
        #[serde(rename = "sceneName")]
86
        scene: &'a str,
87
        /// Numeric ID of the scene item.
88
        #[serde(rename = "sceneItemId")]
89
        item_id: i64,
90
    },
91
    #[serde(rename = "SetSceneItemPrivateSettings")]
92
    SetPrivateSettings(SetPrivateSettingsInternal<'a>),
93
}
94
95
impl<'a> From<Request<'a>> for super::RequestType<'a> {
96
20
    fn from(value: Request<'a>) -> Self {
97
20
        super::RequestType::SceneItems(value)
98
20
    }
<obws::requests::RequestType as core::convert::From<obws::requests::scene_items::Request>>::from
Line
Count
Source
96
20
    fn from(value: Request<'a>) -> Self {
97
20
        super::RequestType::SceneItems(value)
98
20
    }
Unexecuted instantiation: <obws::requests::RequestType as core::convert::From<obws::requests::scene_items::Request>>::from
99
}
100
101
/// Request information for [`crate::client::SceneItems::id`].
102
#[skip_serializing_none]
103
1
#[derive(
Default0
, Serialize)]
Unexecuted instantiation: <obws::requests::scene_items::Id as core::default::Default>::default
Unexecuted instantiation: <obws::requests::scene_items::Id as core::default::Default>::default
<obws::requests::scene_items::Id as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
103
1
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::scene_items::Id as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::scene_items::Id as serde::ser::Serialize>::serialize::<_>
104
pub struct Id<'a> {
105
    /// Name of the scene or group to search in.
106
    #[serde(rename = "sceneName")]
107
    pub scene: &'a str,
108
    /// Name of the source to find.
109
    #[serde(rename = "sourceName")]
110
    pub source: &'a str,
111
    /// Number of matches to skip during search.
112
    ///
113
    /// `>= 0` means first forward. `-1` means last (top) item.
114
    #[serde(rename = "searchOffset")]
115
    pub search_offset: Option<i32>,
116
}
117
118
/// Request information for [`crate::client::SceneItems::create`].
119
#[skip_serializing_none]
120
1
#[derive(
Default0
, Serialize)]
Unexecuted instantiation: <obws::requests::scene_items::CreateSceneItem as core::default::Default>::default
Unexecuted instantiation: <obws::requests::scene_items::CreateSceneItem as core::default::Default>::default
<obws::requests::scene_items::CreateSceneItem as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
120
1
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::scene_items::CreateSceneItem as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::scene_items::CreateSceneItem as serde::ser::Serialize>::serialize::<_>
121
pub struct CreateSceneItem<'a> {
122
    /// Name of the scene to create the new item in.
123
    #[serde(rename = "sceneName")]
124
    pub scene: &'a str,
125
    /// Name of the source to add to the scene.
126
    #[serde(rename = "sourceName")]
127
    pub source: &'a str,
128
    /// Enable state to apply to the scene item on creation.
129
    #[serde(rename = "sceneItemEnabled")]
130
    pub enabled: Option<bool>,
131
}
132
133
/// Request information for [`crate::client::SceneItems::duplicate`].
134
#[skip_serializing_none]
135
1
#[derive(
Default0
, Serialize)]
Unexecuted instantiation: <obws::requests::scene_items::Duplicate as core::default::Default>::default
Unexecuted instantiation: <obws::requests::scene_items::Duplicate as core::default::Default>::default
<obws::requests::scene_items::Duplicate as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
135
1
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::scene_items::Duplicate as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::scene_items::Duplicate as serde::ser::Serialize>::serialize::<_>
136
pub struct Duplicate<'a> {
137
    /// Name of the scene the item is in.
138
    #[serde(rename = "sceneName")]
139
    pub scene: &'a str,
140
    /// Numeric ID of the scene item.
141
    #[serde(rename = "sceneItemId")]
142
    pub item_id: i64,
143
    /// Name of the scene to create the duplicated item in.
144
    #[serde(rename = "destinationSceneName")]
145
    pub destination: Option<&'a str>,
146
}
147
148
/// Request information for [`crate::client::SceneItems::set_transform`].
149
2
#[derive(
Default0
, Serialize)]
Unexecuted instantiation: <obws::requests::scene_items::SetTransform as core::default::Default>::default
Unexecuted instantiation: <obws::requests::scene_items::SetTransform as core::default::Default>::default
<obws::requests::scene_items::SetTransform as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
149
2
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::scene_items::SetTransform as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::scene_items::SetTransform as serde::ser::Serialize>::serialize::<_>
150
pub struct SetTransform<'a> {
151
    /// Name of the scene the item is in.
152
    #[serde(rename = "sceneName")]
153
    pub scene: &'a str,
154
    /// Numeric ID of the scene item.
155
    #[serde(rename = "sceneItemId")]
156
    pub item_id: i64,
157
    /// Object containing scene item transform info to update.
158
    #[serde(rename = "sceneItemTransform")]
159
    pub transform: SceneItemTransform,
160
}
161
162
/// Request information for [`crate::client::SceneItems::set_transform`] as part of
163
/// [`SetTransform`].
164
#[skip_serializing_none]
165
12
#[derive(
Default2
,
S2
erialize)]
<obws::requests::scene_items::SceneItemTransform as core::default::Default>::default
Line
Count
Source
165
2
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::scene_items::SceneItemTransform as core::default::Default>::default
Unexecuted instantiation: <obws::requests::scene_items::SceneItemTransform as core::default::Default>::default
<obws::requests::scene_items::SceneItemTransform as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
165
12
#[derive(Default, 
S2
erialize)]
Unexecuted instantiation: <obws::requests::scene_items::SceneItemTransform as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::scene_items::SceneItemTransform as serde::ser::Serialize>::serialize::<_>
166
pub struct SceneItemTransform {
167
    /// Position (or offset) on the screen.
168
    #[serde(rename = "position", flatten)]
169
    pub position: Option<Position>,
170
    /// The clockwise rotation of the scene item in degrees around the point of alignment.
171
    #[serde(rename = "rotation")]
172
    pub rotation: Option<f32>,
173
    /// Scaling of the item.
174
    #[serde(rename = "scale", flatten)]
175
    pub scale: Option<Scale>,
176
    /// The point on the source that the item is manipulated from.
177
    #[serde(rename = "alignment")]
178
    pub alignment: Option<Alignment>,
179
    /// Bound restrictions on the item.
180
    #[serde(rename = "bounds", flatten)]
181
    pub bounds: Option<Bounds>,
182
    /// Cropping values on up to 4 sides.
183
    #[serde(rename = "crop", flatten)]
184
    pub crop: Option<Crop>,
185
}
186
187
impl From<crate::responses::scene_items::SceneItemTransform> for SceneItemTransform {
188
0
    fn from(t: crate::responses::scene_items::SceneItemTransform) -> Self {
189
0
        Self {
190
0
            position: Some(Position {
191
0
                x: Some(t.position_x),
192
0
                y: Some(t.position_y),
193
0
            }),
194
0
            rotation: Some(t.rotation),
195
0
            scale: Some(Scale {
196
0
                x: Some(t.scale_x),
197
0
                y: Some(t.scale_y),
198
0
            }),
199
0
            alignment: Some(t.alignment),
200
0
            bounds: Some(Bounds {
201
0
                r#type: Some(t.bounds_type),
202
0
                alignment: Some(t.bounds_alignment),
203
0
                width: Some(t.bounds_width),
204
0
                height: Some(t.bounds_height),
205
0
            }),
206
0
            crop: Some(Crop {
207
0
                left: Some(t.crop_left),
208
0
                right: Some(t.crop_right),
209
0
                top: Some(t.crop_top),
210
0
                bottom: Some(t.crop_bottom),
211
0
            }),
212
0
        }
213
0
    }
Unexecuted instantiation: <obws::requests::scene_items::SceneItemTransform as core::convert::From<obws::responses::scene_items::SceneItemTransform>>::from
Unexecuted instantiation: <obws::requests::scene_items::SceneItemTransform as core::convert::From<obws::responses::scene_items::SceneItemTransform>>::from
214
}
215
216
/// Request information for [`crate::client::SceneItems::set_transform`] as part of
217
/// [`SceneItemTransform`].
218
#[skip_serializing_none]
219
0
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::scene_items::Position as core::default::Default>::default
Unexecuted instantiation: <obws::requests::scene_items::Position as core::default::Default>::default
Unexecuted instantiation: <obws::requests::scene_items::Position as serde::ser::Serialize>::serialize::<serde::__private::ser::FlatMapSerializer<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>>
Unexecuted instantiation: <obws::requests::scene_items::Position as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::scene_items::Position as serde::ser::Serialize>::serialize::<_>
220
pub struct Position {
221
    /// The x position of the source from the left.
222
    #[serde(rename = "positionX")]
223
    pub x: Option<f32>,
224
    /// The y position of the source from the top.
225
    #[serde(rename = "positionY")]
226
    pub y: Option<f32>,
227
}
228
229
/// Request information for [`crate::client::SceneItems::set_transform`] as part of
230
/// [`SceneItemTransform`].
231
#[skip_serializing_none]
232
0
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::scene_items::Scale as core::default::Default>::default
Unexecuted instantiation: <obws::requests::scene_items::Scale as core::default::Default>::default
Unexecuted instantiation: <obws::requests::scene_items::Scale as serde::ser::Serialize>::serialize::<serde::__private::ser::FlatMapSerializer<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>>
Unexecuted instantiation: <obws::requests::scene_items::Scale as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::scene_items::Scale as serde::ser::Serialize>::serialize::<_>
233
pub struct Scale {
234
    /// The x-scale factor of the source.
235
    #[serde(rename = "scaleX")]
236
    pub x: Option<f32>,
237
    /// The y-scale factor of the source.
238
    #[serde(rename = "scaleY")]
239
    pub y: Option<f32>,
240
}
241
242
/// Request information for [`crate::client::SceneItems::set_transform`] as part of
243
/// [`SceneItemTransform`].
244
#[skip_serializing_none]
245
2
#[derive(Default, Serialize)]
<obws::requests::scene_items::Bounds as core::default::Default>::default
Line
Count
Source
245
2
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::scene_items::Bounds as core::default::Default>::default
Unexecuted instantiation: <obws::requests::scene_items::Bounds as core::default::Default>::default
<obws::requests::scene_items::Bounds as serde::ser::Serialize>::serialize::<serde::__private::ser::FlatMapSerializer<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>>
Line
Count
Source
245
2
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::scene_items::Bounds as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::scene_items::Bounds as serde::ser::Serialize>::serialize::<_>
246
pub struct Bounds {
247
    /// Type of bounding box.
248
    #[serde(rename = "boundsType")]
249
    pub r#type: Option<BoundsType>,
250
    /// Alignment of the bounding box.
251
    #[serde(rename = "boundsAlignment")]
252
    pub alignment: Option<Alignment>,
253
    /// Width of the bounding box.
254
    #[serde(rename = "boundsWidth")]
255
    pub width: Option<f32>,
256
    /// Height of the bounding box.
257
    #[serde(rename = "boundsHeight")]
258
    pub height: Option<f32>,
259
}
260
261
/// Request information for [`crate::client::SceneItems::set_transform`] as part of
262
/// [`SceneItemTransform`].
263
#[skip_serializing_none]
264
0
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::scene_items::Crop as core::default::Default>::default
Unexecuted instantiation: <obws::requests::scene_items::Crop as core::default::Default>::default
Unexecuted instantiation: <obws::requests::scene_items::Crop as serde::ser::Serialize>::serialize::<serde::__private::ser::FlatMapSerializer<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>>
Unexecuted instantiation: <obws::requests::scene_items::Crop as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::scene_items::Crop as serde::ser::Serialize>::serialize::<_>
265
pub struct Crop {
266
    /// The number of pixels cropped off the left of the source before scaling.
267
    #[serde(rename = "cropLeft")]
268
    pub left: Option<u32>,
269
    /// The number of pixels cropped off the right of the source before scaling.
270
    #[serde(rename = "cropRight")]
271
    pub right: Option<u32>,
272
    /// The number of pixels cropped off the top of the source before scaling.
273
    #[serde(rename = "cropTop")]
274
    pub top: Option<u32>,
275
    /// The number of pixels cropped off the bottom of the source before scaling.
276
    #[serde(rename = "cropBottom")]
277
    pub bottom: Option<u32>,
278
}
279
280
/// Request information for [`crate::client::SceneItems::set_enabled`].
281
2
#[derive(
Default0
, Serialize)]
Unexecuted instantiation: <obws::requests::scene_items::SetEnabled as core::default::Default>::default
Unexecuted instantiation: <obws::requests::scene_items::SetEnabled as core::default::Default>::default
<obws::requests::scene_items::SetEnabled as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
281
2
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::scene_items::SetEnabled as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::scene_items::SetEnabled as serde::ser::Serialize>::serialize::<_>
282
pub struct SetEnabled<'a> {
283
    /// Name of the scene the item is in.
284
    #[serde(rename = "sceneName")]
285
    pub scene: &'a str,
286
    /// Numeric ID of the scene item.
287
    #[serde(rename = "sceneItemId")]
288
    pub item_id: i64,
289
    /// New enable state of the scene item.
290
    #[serde(rename = "sceneItemEnabled")]
291
    pub enabled: bool,
292
}
293
294
/// Request information for [`crate::client::SceneItems::set_locked`].
295
2
#[derive(
Default0
, Serialize)]
Unexecuted instantiation: <obws::requests::scene_items::SetLocked as core::default::Default>::default
Unexecuted instantiation: <obws::requests::scene_items::SetLocked as core::default::Default>::default
<obws::requests::scene_items::SetLocked as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
295
2
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::scene_items::SetLocked as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::scene_items::SetLocked as serde::ser::Serialize>::serialize::<_>
296
pub struct SetLocked<'a> {
297
    /// Name of the scene the item is in.
298
    #[serde(rename = "sceneName")]
299
    pub scene: &'a str,
300
    /// Numeric ID of the scene item.
301
    #[serde(rename = "sceneItemId")]
302
    pub item_id: i64,
303
    /// New lock state of the scene item.
304
    #[serde(rename = "sceneItemLocked")]
305
    pub locked: bool,
306
}
307
308
/// Request information for [`crate::client::SceneItems::set_index`].
309
2
#[derive(
Default0
, Serialize)]
Unexecuted instantiation: <obws::requests::scene_items::SetIndex as core::default::Default>::default
Unexecuted instantiation: <obws::requests::scene_items::SetIndex as core::default::Default>::default
<obws::requests::scene_items::SetIndex as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
309
2
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::scene_items::SetIndex as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::scene_items::SetIndex as serde::ser::Serialize>::serialize::<_>
310
pub struct SetIndex<'a> {
311
    /// Name of the scene the item is in.
312
    #[serde(rename = "sceneName")]
313
    pub scene: &'a str,
314
    /// Numeric ID of the scene item.
315
    #[serde(rename = "sceneItemId")]
316
    pub item_id: i64,
317
    /// New index position of the scene item.
318
    #[serde(rename = "sceneItemIndex")]
319
    pub index: u32,
320
}
321
322
/// Request information for [`crate::client::SceneItems::set_private_settings`].
323
pub struct SetPrivateSettings<'a, T> {
324
    /// Name of the scene the item is in.
325
    pub scene: &'a str,
326
    /// Numeric ID of the scene item.
327
    pub item_id: i64,
328
    /// Object of settings to apply.
329
    pub settings: &'a T,
330
}
331
332
/// Request information for
333
/// [`crate::client::SceneItems::set_scene_item_private_settings`].
334
#[skip_serializing_none]
335
0
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::scene_items::SetPrivateSettingsInternal as core::default::Default>::default
Unexecuted instantiation: <obws::requests::scene_items::SetPrivateSettingsInternal as core::default::Default>::default
Unexecuted instantiation: <obws::requests::scene_items::SetPrivateSettingsInternal as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Unexecuted instantiation: <obws::requests::scene_items::SetPrivateSettingsInternal as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::scene_items::SetPrivateSettingsInternal as serde::ser::Serialize>::serialize::<_>
336
pub(crate) struct SetPrivateSettingsInternal<'a> {
337
    /// Name of the scene the item is in.
338
    #[serde(rename = "sceneName")]
339
    pub scene: &'a str,
340
    /// Numeric ID of the scene item.
341
    #[serde(rename = "sceneItemId")]
342
    pub item_id: i64,
343
    /// Object of settings to apply.
344
    #[serde(rename = "sceneItemSettings")]
345
    pub settings: serde_json::Value,
346
}
\ No newline at end of file diff --git a/coverage/src/requests/scenes.rs.html b/coverage/src/requests/scenes.rs.html new file mode 100644 index 0000000..48eb795 --- /dev/null +++ b/coverage/src/requests/scenes.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/requests/scenes.rs
Line
Count
Source (jump to first uncovered line)
1
//! Requests related to scenes.
2
3
use serde::Serialize;
4
use serde_with::skip_serializing_none;
5
use time::Duration;
6
7
96
#[derive(
S69
eri
aliz27
e)]
<<obws::requests::scenes::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
7
2
#[derive(Serialize)]
<<obws::requests::scenes::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
7
1
#[derive(Serialize)]
<<obws::requests::scenes::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
7
1
#[derive(Serialize)]
<obws::requests::scenes::Request as serde::ser::Serialize>::serialize::<serde::__private::ser::FlatMapSerializer<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>>
Line
Count
Source
7
69
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::scenes::Request as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
<<obws::requests::scenes::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
7
1
#[derive(Serialize)]
<<obws::requests::scenes::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
7
2
#[derive(Serialize)]
<<obws::requests::scenes::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
7
20
#[derive(Serialize)]
Unexecuted instantiation: <<obws::requests::scenes::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::scenes::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::scenes::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::scenes::Request as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::scenes::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::scenes::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::scenes::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::scenes::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::scenes::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::scenes::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::scenes::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::scenes::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::scenes::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::scenes::Request as serde::ser::Serialize>::serialize::<_>
8
#[serde(tag = "requestType", content = "requestData")]
9
pub(crate) enum Request<'a> {
10
    #[serde(rename = "GetSceneList")]
11
    List,
12
    #[serde(rename = "GetGroupList")]
13
    ListGroups,
14
    #[serde(rename = "GetCurrentProgramScene")]
15
    CurrentProgramScene,
16
    #[serde(rename = "SetCurrentProgramScene")]
17
    SetCurrentProgramScene {
18
        /// Scene to set as the current program scene.
19
        #[serde(rename = "sceneName")]
20
        scene: &'a str,
21
    },
22
    #[serde(rename = "GetCurrentPreviewScene")]
23
    CurrentPreviewScene,
24
    #[serde(rename = "SetCurrentPreviewScene")]
25
    SetCurrentPreviewScene {
26
        /// Scene to set as the current preview scene.
27
        #[serde(rename = "sceneName")]
28
        scene: &'a str,
29
    },
30
    #[serde(rename = "SetSceneName")]
31
    SetName {
32
        /// Name of the scene to be renamed.
33
        #[serde(rename = "sceneName")]
34
        scene: &'a str,
35
        /// New name for the scene.
36
        #[serde(rename = "newSceneName")]
37
        new_name: &'a str,
38
    },
39
    #[serde(rename = "CreateScene")]
40
    Create {
41
        /// Name for the new scene.
42
        #[serde(rename = "sceneName")]
43
        name: &'a str,
44
    },
45
    #[serde(rename = "RemoveScene")]
46
    Remove {
47
        /// Name of the scene to remove.
48
        #[serde(rename = "sceneName")]
49
        scene: &'a str,
50
    },
51
    #[serde(rename = "GetSceneSceneTransitionOverride")]
52
    TransitionOverride {
53
        /// Name of the scene.
54
        #[serde(rename = "sceneName")]
55
        scene: &'a str,
56
    },
57
    #[serde(rename = "SetSceneSceneTransitionOverride")]
58
    SetTransitionOverride(SetTransitionOverride<'a>),
59
}
60
61
impl<'a> From<Request<'a>> for super::RequestType<'a> {
62
69
    fn from(value: Request<'a>) -> Self {
63
69
        super::RequestType::Scenes(value)
64
69
    }
<obws::requests::RequestType as core::convert::From<obws::requests::scenes::Request>>::from
Line
Count
Source
62
69
    fn from(value: Request<'a>) -> Self {
63
69
        super::RequestType::Scenes(value)
64
69
    }
Unexecuted instantiation: <obws::requests::RequestType as core::convert::From<obws::requests::scenes::Request>>::from
65
}
66
67
/// Request information for [`crate::client::Scenes::set_transition_override`].
68
#[skip_serializing_none]
69
2
#[derive(
Default0
, Serialize)]
Unexecuted instantiation: <obws::requests::scenes::SetTransitionOverride as core::default::Default>::default
Unexecuted instantiation: <obws::requests::scenes::SetTransitionOverride as core::default::Default>::default
<obws::requests::scenes::SetTransitionOverride as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
69
2
#[derive(Default, Serialize)]
<<obws::requests::scenes::SetTransitionOverride as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
69
2
#[derive(Default, Serialize)]
Unexecuted instantiation: <<obws::requests::scenes::SetTransitionOverride as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::scenes::SetTransitionOverride as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::scenes::SetTransitionOverride as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::scenes::SetTransitionOverride as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
70
pub struct SetTransitionOverride<'a> {
71
    /// Name of the scene.
72
    #[serde(rename = "sceneName")]
73
    pub scene: &'a str,
74
    /// Name of the scene transition to use as override.
75
    #[serde(rename = "transitionName")]
76
    pub transition: Option<&'a str>,
77
    /// Duration to use for any overridden transition.
78
    #[serde(
79
        rename = "transitionDuration",
80
        with = "crate::serde::duration_millis::option"
81
    )]
82
    pub duration: Option<Duration>,
83
}
\ No newline at end of file diff --git a/coverage/src/requests/ser.rs.html b/coverage/src/requests/ser.rs.html deleted file mode 100644 index 5276e5b..0000000 --- a/coverage/src/requests/ser.rs.html +++ /dev/null @@ -1 +0,0 @@ -

Coverage Report

Created: 2022-05-25 22:28

src/requests/ser.rs
Line
Count
Source (jump to first uncovered line)
1
use serde::Serializer;
2
use time::Duration;
3
4
5
pub fn duration_millis<S>(value: &Duration, serializer: S) -> Result<S::Ok, S::Error>
5
5
where
6
5
    S: Serializer,
7
5
{
8
5
    serializer.serialize_i128(value.whole_milliseconds())
9
5
}
obws::requests::ser::duration_millis::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
4
5
pub fn duration_millis<S>(value: &Duration, serializer: S) -> Result<S::Ok, S::Error>
5
5
where
6
5
    S: Serializer,
7
5
{
8
5
    serializer.serialize_i128(value.whole_milliseconds())
9
5
}
Unexecuted instantiation: obws::requests::ser::duration_millis::<_>
Unexecuted instantiation: obws::requests::ser::duration_millis::<_>
10
11
2
pub fn duration_millis_opt<S>(value: &Option<Duration>, serializer: S) -> Result<S::Ok, S::Error>
12
2
where
13
2
    S: Serializer,
14
2
{
15
2
    match value {
16
2
        Some(v) => serializer.serialize_some(&v.whole_milliseconds()),
17
0
        None => serializer.serialize_none(),
18
    }
19
2
}
obws::requests::ser::duration_millis_opt::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
11
2
pub fn duration_millis_opt<S>(value: &Option<Duration>, serializer: S) -> Result<S::Ok, S::Error>
12
2
where
13
2
    S: Serializer,
14
2
{
15
2
    match value {
16
2
        Some(v) => serializer.serialize_some(&v.whole_milliseconds()),
17
0
        None => serializer.serialize_none(),
18
    }
19
2
}
Unexecuted instantiation: obws::requests::ser::duration_millis_opt::<_>
Unexecuted instantiation: obws::requests::ser::duration_millis_opt::<_>
\ No newline at end of file diff --git a/coverage/src/requests/sources.rs.html b/coverage/src/requests/sources.rs.html new file mode 100644 index 0000000..ef1cbca --- /dev/null +++ b/coverage/src/requests/sources.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/requests/sources.rs
Line
Count
Source (jump to first uncovered line)
1
//! Requests related to sources.
2
3
use std::path::Path;
4
5
use serde::Serialize;
6
use serde_with::skip_serializing_none;
7
8
4
#[derive(
S3
eri
aliz1
e)]
Unexecuted instantiation: <obws::requests::sources::Request as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
<obws::requests::sources::Request as serde::ser::Serialize>::serialize::<serde::__private::ser::FlatMapSerializer<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>>
Line
Count
Source
8
3
#[derive(Serialize)]
<<obws::requests::sources::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
8
1
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::sources::Request as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::sources::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::sources::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::sources::Request as serde::ser::Serialize>::serialize::<_>
9
#[serde(tag = "requestType", content = "requestData")]
10
pub(crate) enum Request<'a> {
11
    #[serde(rename = "GetSourceActive")]
12
    Active {
13
        /// Name of the source to get the active state of.
14
        #[serde(rename = "sourceName")]
15
        name: &'a str,
16
    },
17
    #[serde(rename = "GetSourceScreenshot")]
18
    TakeScreenshot(TakeScreenshot<'a>),
19
    #[serde(rename = "SaveSourceScreenshot")]
20
    SaveScreenshot(SaveScreenshot<'a>),
21
}
22
23
impl<'a> From<Request<'a>> for super::RequestType<'a> {
24
3
    fn from(value: Request<'a>) -> Self {
25
3
        super::RequestType::Sources(value)
26
3
    }
<obws::requests::RequestType as core::convert::From<obws::requests::sources::Request>>::from
Line
Count
Source
24
3
    fn from(value: Request<'a>) -> Self {
25
3
        super::RequestType::Sources(value)
26
3
    }
Unexecuted instantiation: <obws::requests::RequestType as core::convert::From<obws::requests::sources::Request>>::from
27
}
28
29
/// Request information for [`crate::client::Sources::take_screenshot`].
30
#[skip_serializing_none]
31
1
#[derive(
Default0
, Serialize)]
Unexecuted instantiation: <obws::requests::sources::TakeScreenshot as core::default::Default>::default
Unexecuted instantiation: <obws::requests::sources::TakeScreenshot as core::default::Default>::default
<obws::requests::sources::TakeScreenshot as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
31
1
#[derive(Default, Serialize)]
Unexecuted instantiation: <obws::requests::sources::TakeScreenshot as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::sources::TakeScreenshot as serde::ser::Serialize>::serialize::<_>
32
pub struct TakeScreenshot<'a> {
33
    /// Name of the source to take a screenshot of.
34
    #[serde(rename = "sourceName")]
35
    pub source: &'a str,
36
    /// Image compression format to use. Use [`crate::client::General::version`] to get compatible
37
    /// image formats.
38
    #[serde(rename = "imageFormat")]
39
    pub format: &'a str,
40
    /// Width to scale the screenshot to.
41
    #[serde(rename = "imageWidth")]
42
    pub width: Option<u32>,
43
    /// Height to scale the screenshot to.
44
    #[serde(rename = "imageHeight")]
45
    pub height: Option<u32>,
46
    /// Compression quality to use. 0 for high compression, 100 for uncompressed. -1 to use
47
    /// "default".
48
    #[serde(rename = "imageCompressionQuality")]
49
    pub compression_quality: Option<i32>,
50
}
51
52
/// Request information for [`crate::client::Sources::save_screenshot`].
53
#[skip_serializing_none]
54
1
#[derive(Serialize)]
<obws::requests::sources::SaveScreenshot as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
54
1
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::sources::SaveScreenshot as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::sources::SaveScreenshot as serde::ser::Serialize>::serialize::<_>
55
pub struct SaveScreenshot<'a> {
56
    /// Name of the source to take a screenshot of.
57
    #[serde(rename = "sourceName")]
58
    pub source: &'a str,
59
    /// Image compression format to use. Use [`crate::client::General::version`] to get compatible
60
    /// image formats.
61
    #[serde(rename = "imageFormat")]
62
    pub format: &'a str,
63
    /// Width to scale the screenshot to.
64
    #[serde(rename = "imageWidth")]
65
    pub width: Option<u32>,
66
    /// Height to scale the screenshot to.
67
    #[serde(rename = "imageHeight")]
68
    pub height: Option<u32>,
69
    /// Compression quality to use. 0 for high compression, 100 for uncompressed. -1 to use
70
    /// "default".
71
    #[serde(rename = "imageCompressionQuality")]
72
    pub compression_quality: Option<i32>,
73
    /// Path to save the screenshot file to. For example `C:\Users\user\Desktop\screenshot.png`.
74
    #[serde(rename = "imageFilePath")]
75
    pub file_path: &'a Path,
76
}
\ No newline at end of file diff --git a/coverage/src/requests/streaming.rs.html b/coverage/src/requests/streaming.rs.html new file mode 100644 index 0000000..933f0a4 --- /dev/null +++ b/coverage/src/requests/streaming.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/requests/streaming.rs
Line
Count
Source (jump to first uncovered line)
1
//! Requests related to streaming.
2
3
use serde::Serialize;
4
5
1
#[derive(Seri
aliz0
e)]
Unexecuted instantiation: <<obws::requests::streaming::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Unexecuted instantiation: <obws::requests::streaming::Request as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
<obws::requests::streaming::Request as serde::ser::Serialize>::serialize::<serde::__private::ser::FlatMapSerializer<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>>
Line
Count
Source
5
1
#[derive(Serialize)]
Unexecuted instantiation: <<obws::requests::streaming::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::streaming::Request as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::streaming::Request as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::streaming::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
6
#[serde(tag = "requestType", content = "requestData")]
7
pub(crate) enum Request<'a> {
8
    #[serde(rename = "GetStreamStatus")]
9
    GetStreamStatus,
10
    #[serde(rename = "ToggleStream")]
11
    ToggleStream,
12
    #[serde(rename = "StartStream")]
13
    StartStream,
14
    #[serde(rename = "StopStream")]
15
    StopStream,
16
    #[serde(rename = "SendStreamCaption")]
17
    SendStreamCaption {
18
        /// Caption text.
19
        #[serde(rename = "captionText")]
20
        caption_text: &'a str,
21
    },
22
}
23
24
impl<'a> From<Request<'a>> for super::RequestType<'a> {
25
1
    fn from(value: Request<'a>) -> Self {
26
1
        super::RequestType::Streaming(value)
27
1
    }
<obws::requests::RequestType as core::convert::From<obws::requests::streaming::Request>>::from
Line
Count
Source
25
1
    fn from(value: Request<'a>) -> Self {
26
1
        super::RequestType::Streaming(value)
27
1
    }
Unexecuted instantiation: <obws::requests::RequestType as core::convert::From<obws::requests::streaming::Request>>::from
28
}
\ No newline at end of file diff --git a/coverage/src/requests/transitions.rs.html b/coverage/src/requests/transitions.rs.html new file mode 100644 index 0000000..9121e1f --- /dev/null +++ b/coverage/src/requests/transitions.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/requests/transitions.rs
Line
Count
Source
1
//! Requests related to transitions.
2
3
use serde::Serialize;
4
use time::Duration;
5
6
13
#[derive(
S11
eri
aliz2
e)]
<<obws::requests::transitions::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
6
1
#[derive(Serialize)]
<<<obws::requests::transitions::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
6
1
#[derive(Serialize)]
<<obws::requests::transitions::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
6
1
#[derive(Serialize)]
<<obws::requests::transitions::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
6
1
#[derive(Serialize)]
<<obws::requests::transitions::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
6
1
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::transitions::Request as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
<obws::requests::transitions::Request as serde::ser::Serialize>::serialize::<serde::__private::ser::FlatMapSerializer<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>>
Line
Count
Source
6
9
#[derive(Serialize)]
Unexecuted instantiation: <<<obws::requests::transitions::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::transitions::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::transitions::Request as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::transitions::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::transitions::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::transitions::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::transitions::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::transitions::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<<obws::requests::transitions::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::transitions::Request as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::transitions::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::transitions::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
7
#[serde(tag = "requestType", content = "requestData")]
8
pub(crate) enum Request<'a> {
9
    #[serde(rename = "GetTransitionKindList")]
10
    GetTransitionKindList,
11
    #[serde(rename = "GetSceneTransitionList")]
12
    GetSceneTransitionList,
13
    #[serde(rename = "GetCurrentSceneTransition")]
14
    GetCurrentSceneTransition,
15
    #[serde(rename = "SetCurrentSceneTransition")]
16
    SetCurrentSceneTransition {
17
        /// Name of the transition to make active.
18
        #[serde(rename = "transitionName")]
19
        name: &'a str,
20
    },
21
    #[serde(rename = "SetCurrentSceneTransitionDuration")]
22
    SetCurrentSceneTransitionDuration {
23
        /// Duration in milliseconds.
24
        #[serde(rename = "transitionDuration", with = "crate::serde::duration_millis")]
25
        duration: Duration,
26
    },
27
    #[serde(rename = "SetCurrentSceneTransitionSettings")]
28
    SetCurrentSceneTransitionSettings {
29
        /// Settings object to apply to the transition.
30
        #[serde(rename = "transitionSettings")]
31
        settings: serde_json::Value,
32
        /// Whether to overlay over the current settings or replace them.
33
        #[serde(rename = "overlay", skip_serializing_if = "Option::is_none")]
34
        overlay: Option<bool>,
35
    },
36
    #[serde(rename = "GetCurrentSceneTransitionCursor")]
37
    GetCurrentSceneTransitionCursor,
38
    #[serde(rename = "TriggerStudioModeTransition")]
39
    TriggerStudioModeTransition,
40
    #[serde(rename = "SetTBarPosition")]
41
    SetTbarPosition {
42
        /// New position.
43
        #[serde(rename = "position")]
44
        position: f32,
45
        /// Whether to release the T-Bar. Only set `false` if you know that you will be sending
46
        /// another position update.
47
        #[serde(rename = "release", skip_serializing_if = "Option::is_none")]
48
        release: Option<bool>,
49
    },
50
}
51
52
impl<'a> From<Request<'a>> for super::RequestType<'a> {
53
9
    fn from(value: Request<'a>) -> Self {
54
9
        super::RequestType::Transitions(value)
55
9
    }
<obws::requests::RequestType as core::convert::From<obws::requests::transitions::Request>>::from
Line
Count
Source
53
9
    fn from(value: Request<'a>) -> Self {
54
9
        super::RequestType::Transitions(value)
55
9
    }
Unexecuted instantiation: <obws::requests::RequestType as core::convert::From<obws::requests::transitions::Request>>::from
56
}
\ No newline at end of file diff --git a/coverage/src/requests/ui.rs.html b/coverage/src/requests/ui.rs.html new file mode 100644 index 0000000..4877ee8 --- /dev/null +++ b/coverage/src/requests/ui.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/requests/ui.rs
Line
Count
Source (jump to first uncovered line)
1
//! Requests related to the user interface.
2
3
use bitflags::bitflags;
4
use serde::Serialize;
5
6
34
#[derive(
S28
eri
aliz6
e)]
Unexecuted instantiation: <<obws::requests::ui::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
<<obws::requests::ui::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
6
6
#[derive(Serialize)]
Unexecuted instantiation: <<obws::requests::ui::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
<obws::requests::ui::Request as serde::ser::Serialize>::serialize::<serde::__private::ser::FlatMapSerializer<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>>
Line
Count
Source
6
28
#[derive(Serialize)]
Unexecuted instantiation: <<obws::requests::ui::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Unexecuted instantiation: <obws::requests::ui::Request as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Unexecuted instantiation: <<obws::requests::ui::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::ui::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::ui::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::ui::Request as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::ui::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::ui::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::ui::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::ui::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <<obws::requests::ui::Request as serde::ser::Serialize>::serialize::__AdjacentlyTagged as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::ui::Request as serde::ser::Serialize>::serialize::<_>
7
#[serde(tag = "requestType", content = "requestData")]
8
pub(crate) enum Request<'a> {
9
    #[serde(rename = "GetStudioModeEnabled")]
10
    GetStudioModeEnabled,
11
    #[serde(rename = "SetStudioModeEnabled")]
12
    SetStudioModeEnabled {
13
        /// Enable or disable the studio mode.
14
        #[serde(rename = "studioModeEnabled")]
15
        enabled: bool,
16
    },
17
    #[serde(rename = "OpenInputPropertiesDialog")]
18
    OpenInputPropertiesDialog {
19
        /// Name of the input to open the dialog of.
20
        #[serde(rename = "inputName")]
21
        input: &'a str,
22
    },
23
    #[serde(rename = "OpenInputFiltersDialog")]
24
    OpenInputFiltersDialog {
25
        /// Name of the input to open the dialog of.
26
        #[serde(rename = "inputName")]
27
        input: &'a str,
28
    },
29
    #[serde(rename = "OpenInputInteractDialog")]
30
    OpenInputInteractDialog {
31
        /// Name of the input to open the dialog of.
32
        #[serde(rename = "inputName")]
33
        input: &'a str,
34
    },
35
    #[serde(rename = "GetMonitorList")]
36
    GetMonitorList,
37
    #[serde(rename = "OpenVideoMixProjector")]
38
    OpenVideoMixProjector(OpenVideoMixProjectorInternal),
39
    #[serde(rename = "OpenSourceProjector")]
40
    OpenSourceProjector(OpenSourceProjectorInternal<'a>),
41
}
42
43
impl<'a> From<Request<'a>> for super::RequestType<'a> {
44
28
    fn from(value: Request<'a>) -> Self {
45
28
        super::RequestType::Ui(value)
46
28
    }
<obws::requests::RequestType as core::convert::From<obws::requests::ui::Request>>::from
Line
Count
Source
44
28
    fn from(value: Request<'a>) -> Self {
45
28
        super::RequestType::Ui(value)
46
28
    }
Unexecuted instantiation: <obws::requests::RequestType as core::convert::From<obws::requests::ui::Request>>::from
47
}
48
49
/// Request information for [`crate::client::Ui::open_video_mix_projector`].
50
pub struct OpenVideoMixProjector {
51
    /// Type of mix to open.
52
    pub r#type: VideoMixType,
53
    /// Optional location for the new projector window.
54
    pub location: Option<Location>,
55
}
56
57
/// Request information for [`crate::client::Ui::open_video_mix_projector`].
58
1
#[derive(Serialize)]
<obws::requests::ui::OpenVideoMixProjectorInternal as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
58
1
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::ui::OpenVideoMixProjectorInternal as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::ui::OpenVideoMixProjectorInternal as serde::ser::Serialize>::serialize::<_>
59
pub(crate) struct OpenVideoMixProjectorInternal {
60
    /// Type of mix to open.
61
    #[serde(rename = "videoMixType")]
62
    pub r#type: VideoMixType,
63
    /// Optional location for the new projector window.
64
    #[serde(flatten)]
65
    pub location: Option<LocationInternal>,
66
}
67
68
/// Request information for [`crate::client::Ui::open_source_projector`].
69
pub struct OpenSourceProjector<'a> {
70
    /// Name of the source to open a projector for.
71
    pub source: &'a str,
72
    /// Optional location for the new projector window.
73
    pub location: Option<Location>,
74
}
75
76
/// Request information for [`crate::client::Ui::open_source_projector`].
77
1
#[derive(Serialize)]
<obws::requests::ui::OpenSourceProjectorInternal as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
77
1
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::ui::OpenSourceProjectorInternal as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::ui::OpenSourceProjectorInternal as serde::ser::Serialize>::serialize::<_>
78
pub(crate) struct OpenSourceProjectorInternal<'a> {
79
    /// Name of the source to open a projector for.
80
    #[serde(rename = "sourceName")]
81
    pub source: &'a str,
82
    /// Optional location for the new projector window.
83
    #[serde(flatten)]
84
    pub location: Option<LocationInternal>,
85
}
86
87
/// Request information for [`crate::client::Ui::open_video_mix_projector`] as part of
88
/// [`OpenVideoMixProjector`] and [`crate::client::Ui::open_source_projector`] as part of
89
/// [`OpenSourceProjector`], describing the open location of the projector.
90
pub enum Location {
91
    /// Monitor index, passing `-1` opens the projector in windowed mode.
92
    MonitorIndex(i32),
93
    /// Size/Position data for a windowed projector, in `Qt Base64` encoded format.
94
    ProjectorGeometry(QtGeometry),
95
}
96
97
/// Request information for [`crate::client::Ui::open_video_mix_projector`] as part of
98
/// [`OpenVideoMixProjector`] and [`crate::client::Ui::open_source_projector`] as part of
99
/// [`OpenSourceProjector`], describing the open location of the projector.
100
2
#[derive(Serialize)]
<obws::requests::ui::LocationInternal as serde::ser::Serialize>::serialize::<serde::__private::ser::FlatMapSerializer<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>>
Line
Count
Source
100
2
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::ui::LocationInternal as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::ui::LocationInternal as serde::ser::Serialize>::serialize::<_>
101
pub enum LocationInternal {
102
    /// Monitor index, passing `-1` opens the projector in windowed mode.
103
    #[serde(rename = "monitorIndex")]
104
    MonitorIndex(i32),
105
    /// Size/Position data for a windowed projector, in `Qt Base64` encoded format.
106
    #[serde(rename = "projectorGeometry")]
107
    ProjectorGeometry(String),
108
}
109
110
impl From<Location> for LocationInternal {
111
2
    fn from(value: Location) -> Self {
112
2
        match value {
113
1
            Location::MonitorIndex(index) => Self::MonitorIndex(index),
114
1
            Location::ProjectorGeometry(geometry) => Self::ProjectorGeometry(geometry.serialize()),
115
        }
116
2
    }
<obws::requests::ui::LocationInternal as core::convert::From<obws::requests::ui::Location>>::from
Line
Count
Source
111
2
    fn from(value: Location) -> Self {
112
2
        match value {
113
1
            Location::MonitorIndex(index) => Self::MonitorIndex(index),
114
1
            Location::ProjectorGeometry(geometry) => Self::ProjectorGeometry(geometry.serialize()),
115
        }
116
2
    }
Unexecuted instantiation: <obws::requests::ui::LocationInternal as core::convert::From<obws::requests::ui::Location>>::from
117
}
118
119
/// Request information for [`crate::client::Ui::open_video_mix_projector`] as part of
120
/// [`OpenVideoMixProjector`], defining the type of video mix to open.
121
1
#[derive(Serialize)]
<obws::requests::ui::VideoMixType as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
121
1
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::ui::VideoMixType as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::ui::VideoMixType as serde::ser::Serialize>::serialize::<_>
122
pub enum VideoMixType {
123
    /// Show the preview scene.
124
    #[serde(rename = "OBS_WEBSOCKET_VIDEO_MIX_TYPE_PREVIEW")]
125
    Preview,
126
    /// Show the program scene.
127
    #[serde(rename = "OBS_WEBSOCKET_VIDEO_MIX_TYPE_PROGRAM")]
128
    Program,
129
    /// Show a multi-view.
130
    #[serde(rename = "OBS_WEBSOCKET_VIDEO_MIX_TYPE_MULTIVIEW")]
131
    Multiview,
132
}
133
134
/// Request information for [`open_projector`](crate::client::General::open_projector) as part of
135
/// [`Projector`].
136
0
#[derive(Debug)]
Unexecuted instantiation: <obws::requests::ui::QtGeometry as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::requests::ui::QtGeometry as core::fmt::Debug>::fmt
137
pub struct QtGeometry {
138
    /// The screen number to display a widget or [`Self::DEFAULT_SCREEN`] to let OBS pick the
139
    /// default.
140
    pub screen_number: i32,
141
    /// Additional window state like maximized or full-screen.
142
    pub window_state: QtWindowState,
143
    /// The width of the screen. Seems to have no specific effect but is used for some internal
144
    /// calculations in Qt.
145
    pub screen_width: i32,
146
    /// The target position and size for a widget to display at.
147
    pub rect: QtRect,
148
}
149
150
impl QtGeometry {
151
    /// Value indicating to use the default screen.
152
    pub const DEFAULT_SCREEN: i32 = -1;
153
154
    /// Create a new geometry instance without only size information set.
155
0
    pub fn new(rect: QtRect) -> Self {
156
0
        Self {
157
0
            rect,
158
0
            ..Self::default()
159
0
        }
160
0
    }
Unexecuted instantiation: <obws::requests::ui::QtGeometry>::new
Unexecuted instantiation: <obws::requests::ui::QtGeometry>::new
161
162
    /// Serialize this instance into a `base64` encoded byte array.
163
    ///
164
    /// The exact format can be found in the
165
    /// [Qt source code](https://code.woboq.org/qt5/qtbase/src/widgets/kernel/qwidget.cpp.html#_ZNK7QWidget12saveGeometryEv).
166
    ///
167
    /// | Length | Content                                                  |
168
    /// |--------|----------------------------------------------------------|
169
    /// | 4      | Magic number                                             |
170
    /// | 2      | Major format version                                     |
171
    /// | 2      | Minor format version                                     |
172
    /// | 16     | Frame rectangle (left, top, right, bottom) 4 bytes each  |
173
    /// | 16     | Normal rectangle (left, top, right, bottom) 4 bytes each |
174
    /// | 4      | Screen number                                            |
175
    /// | 1      | Window maximized (1 or 0)                                |
176
    /// | 1      | Window full-screen (1 or 0)                              |
177
    /// | 4      | Screen width                                             |
178
    /// | 16     | Main rectangle (left, top, right, bottom) 4 bytes each   |
179
1
    pub(crate) fn serialize(&self) -> String {
180
1
        /// Indicator for serialized Qt geometry data.
181
1
        const MAGIC_NUMBER: u32 = 0x1D9D0CB;
182
1
        /// Major version of this format.
183
1
        const MAJOR_VERSION: u16 = 3;
184
1
        /// Minor version of this format.
185
1
        const MINOR_VERSION: u16 = 0;
186
1
        /// Output data length BEFORE `base64` encoding. This allows to reduce allocations in the
187
1
        /// byte buffer and must be updated whenever the format changes.
188
1
        const DATA_LENGTH: usize = 66;
189
1
190
3
        fn serialize_rect(data: &mut Vec<u8>, rect: &QtRect) {
191
3
            data.extend(&rect.left.to_be_bytes());
192
3
            data.extend(&rect.top.to_be_bytes());
193
3
            data.extend(&rect.right.to_be_bytes());
194
3
            data.extend(&rect.bottom.to_be_bytes());
195
3
        }
<obws::requests::ui::QtGeometry>::serialize::serialize_rect
Line
Count
Source
190
3
        fn serialize_rect(data: &mut Vec<u8>, rect: &QtRect) {
191
3
            data.extend(&rect.left.to_be_bytes());
192
3
            data.extend(&rect.top.to_be_bytes());
193
3
            data.extend(&rect.right.to_be_bytes());
194
3
            data.extend(&rect.bottom.to_be_bytes());
195
3
        }
Unexecuted instantiation: <obws::requests::ui::QtGeometry>::serialize::serialize_rect
196
1
197
1
        let mut data = Vec::<u8>::with_capacity(DATA_LENGTH);
198
1
199
1
        data.extend(&MAGIC_NUMBER.to_be_bytes());
200
1
        data.extend(&MAJOR_VERSION.to_be_bytes());
201
1
        data.extend(&MINOR_VERSION.to_be_bytes());
202
1
203
1
        serialize_rect(&mut data, &self.rect); // frame geometry
204
1
        serialize_rect(&mut data, &self.rect); // normal geometry
205
1
206
1
        data.extend(&self.screen_number.to_be_bytes());
207
1
        data.extend(&self.window_state.to_be_bytes());
208
1
        data.extend(&self.screen_width.to_be_bytes());
209
1
210
1
        serialize_rect(&mut data, &self.rect);
211
1
212
1
        base64::encode(data)
213
1
    }
<obws::requests::ui::QtGeometry>::serialize
Line
Count
Source
179
1
    pub(crate) fn serialize(&self) -> String {
180
1
        /// Indicator for serialized Qt geometry data.
181
1
        const MAGIC_NUMBER: u32 = 0x1D9D0CB;
182
1
        /// Major version of this format.
183
1
        const MAJOR_VERSION: u16 = 3;
184
1
        /// Minor version of this format.
185
1
        const MINOR_VERSION: u16 = 0;
186
1
        /// Output data length BEFORE `base64` encoding. This allows to reduce allocations in the
187
1
        /// byte buffer and must be updated whenever the format changes.
188
1
        const DATA_LENGTH: usize = 66;
189
1
190
1
        fn serialize_rect(data: &mut Vec<u8>, rect: &QtRect) {
191
1
            data.extend(&rect.left.to_be_bytes());
192
1
            data.extend(&rect.top.to_be_bytes());
193
1
            data.extend(&rect.right.to_be_bytes());
194
1
            data.extend(&rect.bottom.to_be_bytes());
195
1
        }
196
1
197
1
        let mut data = Vec::<u8>::with_capacity(DATA_LENGTH);
198
1
199
1
        data.extend(&MAGIC_NUMBER.to_be_bytes());
200
1
        data.extend(&MAJOR_VERSION.to_be_bytes());
201
1
        data.extend(&MINOR_VERSION.to_be_bytes());
202
1
203
1
        serialize_rect(&mut data, &self.rect); // frame geometry
204
1
        serialize_rect(&mut data, &self.rect); // normal geometry
205
1
206
1
        data.extend(&self.screen_number.to_be_bytes());
207
1
        data.extend(&self.window_state.to_be_bytes());
208
1
        data.extend(&self.screen_width.to_be_bytes());
209
1
210
1
        serialize_rect(&mut data, &self.rect);
211
1
212
1
        base64::encode(data)
213
1
    }
Unexecuted instantiation: <obws::requests::ui::QtGeometry>::serialize
214
}
215
216
impl Default for QtGeometry {
217
1
    fn default() -> Self {
218
1
        Self {
219
1
            screen_number: Self::DEFAULT_SCREEN,
220
1
            window_state: QtWindowState::default(),
221
1
            screen_width: 0,
222
1
            rect: QtRect::default(),
223
1
        }
224
1
    }
<obws::requests::ui::QtGeometry as core::default::Default>::default
Line
Count
Source
217
1
    fn default() -> Self {
218
1
        Self {
219
1
            screen_number: Self::DEFAULT_SCREEN,
220
1
            window_state: QtWindowState::default(),
221
1
            screen_width: 0,
222
1
            rect: QtRect::default(),
223
1
        }
224
1
    }
Unexecuted instantiation: <obws::requests::ui::QtGeometry as core::default::Default>::default
225
}
226
227
bitflags! {
228
    /// Request information for [`open_projector`](crate::client::General::open_projector) as part of
229
    /// [`Projector`].
230
1
    #[derive(Default)]
<obws::requests::ui::QtWindowState as core::default::Default>::default
Line
Count
Source
230
1
    #[derive(Default)]
Unexecuted instantiation: <obws::requests::ui::QtWindowState as core::default::Default>::default
231
    pub struct QtWindowState: u32 {
232
        /// Window with maximum size, taking up as much space as possible but still showing
233
        /// the window frame.
234
        const MAXIMIZED = 2;
235
        /// Show the window in full-screen mode, taking up the whole display.
236
        const FULLSCREEN = 4;
237
    }
238
}
239
240
impl QtWindowState {
241
    /// Convert the state into a byte array for usage in [`QtGeometry::serialize`] .
242
1
    fn to_be_bytes(self) -> [u8; 2] {
243
1
        [
244
1
            if self.contains(Self::MAXIMIZED) { 
10
} else { 0 },
245
1
            if self.contains(Self::FULLSCREEN) {
246
0
                1
247
            } else {
248
1
                0
249
            },
250
        ]
251
1
    }
<obws::requests::ui::QtWindowState>::to_be_bytes
Line
Count
Source
242
1
    fn to_be_bytes(self) -> [u8; 2] {
243
1
        [
244
1
            if self.contains(Self::MAXIMIZED) { 
10
} else { 0 },
245
1
            if self.contains(Self::FULLSCREEN) {
246
0
                1
247
            } else {
248
1
                0
249
            },
250
        ]
251
1
    }
Unexecuted instantiation: <obws::requests::ui::QtWindowState>::to_be_bytes
252
}
253
254
/// Request information for [`open_projector`](crate::client::General::open_projector) as part of
255
/// [`Projector`].
256
///
257
/// This describes a position on the screen starting from the top left corner with 0.
258
///
259
/// ```txt
260
/// Screen
261
/// ┌────────────────────── X
262
/// │
263
/// │          top
264
/// │       ┌────────┐
265
/// │  left │  Rect  │ right
266
/// │       └────────┘
267
/// │         bottom
268
/// │
269
/// Y
270
///
271
1
#[derive(
Clone0
, Copy,
Debug0
, Default)]
Unexecuted instantiation: <obws::requests::ui::QtRect as core::clone::Clone>::clone
Unexecuted instantiation: <obws::requests::ui::QtRect as core::clone::Clone>::clone
Unexecuted instantiation: <obws::requests::ui::QtRect as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::requests::ui::QtRect as core::fmt::Debug>::fmt
<obws::requests::ui::QtRect as core::default::Default>::default
Line
Count
Source
271
1
#[derive(Clone, Copy, Debug, Default)]
Unexecuted instantiation: <obws::requests::ui::QtRect as core::default::Default>::default
272
pub struct QtRect {
273
    /// Left or X/horizontal position of the rectangle.
274
    pub left: i32,
275
    /// Top or Y/vertical position of the rectangle.
276
    pub top: i32,
277
    /// The right side of a rectangle counted from the left. For example with `left = 100` and
278
    /// `right = 300` the width would be `200`.
279
    pub right: i32,
280
    /// Bottom side of a rectangle counted from the top. For example with `top = 100` and
281
    //// `bottom = 300` the height would be `200`.
282
    pub bottom: i32,
283
}
\ No newline at end of file diff --git a/coverage/src/requests/virtual_cam.rs.html b/coverage/src/requests/virtual_cam.rs.html new file mode 100644 index 0000000..f999bac --- /dev/null +++ b/coverage/src/requests/virtual_cam.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/requests/virtual_cam.rs
Line
Count
Source
1
//! Requests related to the virtual camera.
2
3
use serde::Serialize;
4
5
23
#[derive(Serialize)]
<obws::requests::virtual_cam::Request as serde::ser::Serialize>::serialize::<serde::__private::ser::FlatMapSerializer<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>>
Line
Count
Source
5
23
#[derive(Serialize)]
Unexecuted instantiation: <obws::requests::virtual_cam::Request as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Unexecuted instantiation: <obws::requests::virtual_cam::Request as serde::ser::Serialize>::serialize::<_>
Unexecuted instantiation: <obws::requests::virtual_cam::Request as serde::ser::Serialize>::serialize::<_>
6
#[serde(tag = "requestType", content = "requestData")]
7
pub(crate) enum Request {
8
    #[serde(rename = "GetVirtualCamStatus")]
9
    Status,
10
    #[serde(rename = "ToggleVirtualCam")]
11
    Toggle,
12
    #[serde(rename = "StartVirtualCam")]
13
    Start,
14
    #[serde(rename = "StopVirtualCam")]
15
    Stop,
16
}
17
18
impl<'a> From<Request> for super::RequestType<'a> {
19
23
    fn from(value: Request) -> Self {
20
23
        super::RequestType::VirtualCam(value)
21
23
    }
<obws::requests::RequestType as core::convert::From<obws::requests::virtual_cam::Request>>::from
Line
Count
Source
19
23
    fn from(value: Request) -> Self {
20
23
        super::RequestType::VirtualCam(value)
21
23
    }
Unexecuted instantiation: <obws::requests::RequestType as core::convert::From<obws::requests::virtual_cam::Request>>::from
22
}
\ No newline at end of file diff --git a/coverage/src/responses/config.rs.html b/coverage/src/responses/config.rs.html new file mode 100644 index 0000000..7e91fec --- /dev/null +++ b/coverage/src/responses/config.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/responses/config.rs
Line
Count
Source (jump to first uncovered line)
1
//! Responses related to the OBS configuration.
2
3
use serde::Deserialize;
4
5
/// Response value for [`crate::client::Config::video_settings`].
6
13
#[derive(
Debug0
,
D6
ese
rializ7
e)]
Unexecuted instantiation: <obws::responses::config::VideoSettings as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::config::VideoSettings as core::fmt::Debug>::fmt
<<obws::responses::config::VideoSettings as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
6
7
#[derive(Debug, Deserialize)]
<obws::responses::config::VideoSettings as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
6
1
#[derive(Debug, Deserialize)]
<<obws::responses::config::VideoSettings as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
6
6
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::config::VideoSettings as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::config::VideoSettings as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
6
6
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::config::VideoSettings as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::config::VideoSettings as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::config::VideoSettings as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::config::VideoSettings as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::config::VideoSettings as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::responses::config::VideoSettings as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::config::VideoSettings as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::config::VideoSettings as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::config::VideoSettings as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::config::VideoSettings as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::config::VideoSettings as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::config::VideoSettings as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::config::VideoSettings as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::config::VideoSettings as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <obws::responses::config::VideoSettings as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::config::VideoSettings as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::config::VideoSettings as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::config::VideoSettings as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
7
pub struct VideoSettings {
8
    /// Numerator of the fractional FPS value.
9
    #[serde(rename = "fpsNumerator")]
10
    pub fps_numerator: u32,
11
    /// Denominator of the fractional FPS value.
12
    #[serde(rename = "fpsDenominator")]
13
    pub fps_denominator: u32,
14
    /// Width of the base (canvas) resolution in pixels.
15
    #[serde(rename = "baseWidth")]
16
    pub base_width: u32,
17
    /// Height of the base (canvas) resolution in pixels.
18
    #[serde(rename = "baseHeight")]
19
    pub base_height: u32,
20
    /// Width of the output resolution in pixels.
21
    #[serde(rename = "outputWidth")]
22
    pub output_width: u32,
23
    /// Height of the output resolution in pixels.
24
    #[serde(rename = "outputHeight")]
25
    pub output_height: u32,
26
}
27
28
/// Response value for [`crate::client::Config::stream_service_settings`].
29
5
#[derive(
Debug0
,
D2
ese
rializ0
e)]
Unexecuted instantiation: <obws::responses::config::StreamServiceSettings<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::config::StreamServiceSettings<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::responses::config::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<serde_json::value::Value> as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<obws::responses::config::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<serde_json::value::Value> as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <<obws::responses::config::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<serde_json::value::Value> as serde::de::Visitor>::expecting
<<obws::responses::config::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
29
2
#[derive(Debug, Deserialize)]
<<obws::responses::config::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
29
2
#[derive(Debug, Deserialize)]
<obws::responses::config::StreamServiceSettings<serde_json::value::Value> as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
29
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <obws::responses::config::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::config::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::config::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::config::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::config::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::config::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::config::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::config::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::config::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::config::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::config::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::config::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::config::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::config::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::config::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::config::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::config::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::config::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
30
pub struct StreamServiceSettings<T> {
31
    /// Stream service type, like `rtmp_custom` or `rtmp_common`.
32
    #[serde(rename = "streamServiceType")]
33
    pub r#type: String,
34
    /// Stream service settings.
35
    #[serde(rename = "streamServiceSettings")]
36
    pub settings: T,
37
}
38
39
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::config::RecordDirectory as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::config::RecordDirectory as core::fmt::Debug>::fmt
<obws::responses::config::RecordDirectory as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
39
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::config::RecordDirectory as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::config::RecordDirectory as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
39
1
#[derive(Debug, Deserialize)]
<<obws::responses::config::RecordDirectory as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
39
2
#[derive(Debug, 
D1
eserialize)]
<<obws::responses::config::RecordDirectory as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
39
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::config::RecordDirectory as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::config::RecordDirectory as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::config::RecordDirectory as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::config::RecordDirectory as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::config::RecordDirectory as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::config::RecordDirectory as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::config::RecordDirectory as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::config::RecordDirectory as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::config::RecordDirectory as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::config::RecordDirectory as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::config::RecordDirectory as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::config::RecordDirectory as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::config::RecordDirectory as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::config::RecordDirectory as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::config::RecordDirectory as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::config::RecordDirectory as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::config::RecordDirectory as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::config::RecordDirectory as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
40
pub(crate) struct RecordDirectory {
41
    /// Output directory.
42
    #[serde(rename = "recordDirectory")]
43
    pub record_directory: String,
44
}
\ No newline at end of file diff --git a/coverage/src/responses/filters.rs.html b/coverage/src/responses/filters.rs.html new file mode 100644 index 0000000..d94131a --- /dev/null +++ b/coverage/src/responses/filters.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/responses/filters.rs
Line
Count
Source (jump to first uncovered line)
1
//! Responses related to filters.
2
3
use serde::Deserialize;
4
5
/// Response value for [`crate::client::Filters::get_source_filter_list`].
6
57
#[derive(
Debug0
,
D38
eserialize)]
Unexecuted instantiation: <obws::responses::filters::Filters as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::filters::Filters as core::fmt::Debug>::fmt
<<obws::responses::filters::Filters as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
6
19
#[derive(Debug, Deserialize)]
<<obws::responses::filters::Filters as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
6
19
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::filters::Filters as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<obws::responses::filters::Filters as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
6
19
#[derive(Debug, Deserialize)]
<<obws::responses::filters::Filters as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
6
38
#[derive(Debug, 
D19
eserialize)]
Unexecuted instantiation: <<obws::responses::filters::Filters as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::filters::Filters as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::filters::Filters as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::filters::Filters as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::filters::Filters as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::filters::Filters as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::filters::Filters as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::filters::Filters as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::filters::Filters as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::filters::Filters as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::filters::Filters as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::filters::Filters as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::filters::Filters as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::filters::Filters as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::filters::Filters as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <obws::responses::filters::Filters as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::filters::Filters as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::filters::Filters as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
7
pub(crate) struct Filters {
8
    /// Array of filters.
9
    #[serde(rename = "filters")]
10
    pub filters: Vec<SourceFilter>,
11
}
12
13
/// Response value for [`crate::client::Filters::list`] and [`crate::client::Filters::get`].
14
218
#[derive(
Clone0
,
Debug0
,
D99
ese
rializ119
e)]
Unexecuted instantiation: <obws::responses::filters::SourceFilter as core::clone::Clone>::clone
Unexecuted instantiation: <obws::responses::filters::SourceFilter as core::clone::Clone>::clone
Unexecuted instantiation: <obws::responses::filters::SourceFilter as core::clone::Clone>::clone
Unexecuted instantiation: <obws::responses::filters::SourceFilter as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::filters::SourceFilter as core::fmt::Debug>::fmt
<<obws::responses::filters::SourceFilter as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
14
99
#[derive(Clone, Debug, Deserialize)]
<<obws::responses::filters::SourceFilter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
99
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::filters::SourceFilter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<obws::responses::filters::SourceFilter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error>>
Unexecuted instantiation: <<obws::responses::filters::SourceFilter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<obws::responses::filters::SourceFilter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <<obws::responses::filters::SourceFilter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<obws::responses::filters::SourceFilter as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<obws::responses::filters::SourceFilter as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
<obws::responses::filters::SourceFilter as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
14
20
#[derive(Clone, Debug, Deserialize)]
<<obws::responses::filters::SourceFilter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
14
119
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <obws::responses::filters::SourceFilter as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<obws::responses::filters::SourceFilter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::filters::SourceFilter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::filters::SourceFilter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::filters::SourceFilter as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::filters::SourceFilter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::filters::SourceFilter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <obws::responses::filters::SourceFilter as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::filters::SourceFilter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::filters::SourceFilter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::filters::SourceFilter as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::filters::SourceFilter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::filters::SourceFilter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::filters::SourceFilter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::filters::SourceFilter as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::filters::SourceFilter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::filters::SourceFilter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::filters::SourceFilter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::filters::SourceFilter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
15
pub struct SourceFilter {
16
    /// Whether the filter is enabled.
17
    #[serde(rename = "filterEnabled")]
18
    pub enabled: bool,
19
    /// Index of the filter in the list, beginning at 0.
20
    #[serde(rename = "filterIndex")]
21
    pub index: u32,
22
    /// The kind of filter.
23
    #[serde(rename = "filterKind")]
24
    pub kind: String,
25
    /// name of the filter.
26
    #[serde(rename = "filterName", default)]
27
    pub name: String,
28
    /// Settings object associated with the filter.
29
    #[serde(rename = "filterSettings")]
30
    pub settings: serde_json::Value,
31
}
32
33
/// Response value for
34
/// [`crate::client::Filters::get_source_filter_default_settings`].
35
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::filters::DefaultFilterSettings<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::filters::DefaultFilterSettings<_> as core::fmt::Debug>::fmt
<<obws::responses::filters::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
35
1
#[derive(Debug, Deserialize)]
<<obws::responses::filters::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<serde_json::value::Value> as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
35
2
#[derive(Debug, 
D1
eserialize)]
Unexecuted instantiation: <<obws::responses::filters::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<serde_json::value::Value> as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<obws::responses::filters::DefaultFilterSettings<serde_json::value::Value> as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
35
1
#[derive(Debug, Deserialize)]
<<obws::responses::filters::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
35
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::filters::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<serde_json::value::Value> as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::filters::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::filters::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::filters::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::filters::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::filters::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::filters::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::filters::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::filters::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::filters::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::filters::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::filters::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::filters::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::filters::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::filters::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::filters::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::filters::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::filters::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::filters::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::<_>
36
pub(crate) struct DefaultFilterSettings<T> {
37
    /// Object of default settings for the filter kind.
38
    #[serde(rename = "defaultFilterSettings")]
39
    pub default_filter_settings: T,
40
}
\ No newline at end of file diff --git a/coverage/src/responses/general.rs.html b/coverage/src/responses/general.rs.html new file mode 100644 index 0000000..ffacc84 --- /dev/null +++ b/coverage/src/responses/general.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/responses/general.rs
Line
Count
Source (jump to first uncovered line)
1
//! General responses, not fitting into any category.
2
3
use serde::Deserialize;
4
5
/// Response value for [`crate::client::General::version`].
6
285
#[derive(
Debug0
,
D133
ese
rializ19
e)]
Unexecuted instantiation: <obws::responses::general::Version as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::general::Version as core::fmt::Debug>::fmt
<<obws::responses::general::Version as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
6
133
#[derive(Debug, Deserialize)]
<obws::responses::general::Version as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
6
19
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::general::Version as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::general::Version as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
6
133
#[derive(Debug, Deserialize)]
<<obws::responses::general::Version as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
6
152
#[derive(Debug, 
Dese19
rializ19
e)]
Unexecuted instantiation: <<obws::responses::general::Version as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::general::Version as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::general::Version as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::general::Version as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::general::Version as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::responses::general::Version as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::general::Version as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::general::Version as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::general::Version as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::general::Version as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::general::Version as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::general::Version as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::general::Version as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::general::Version as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::general::Version as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::general::Version as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::general::Version as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::general::Version as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
7
pub struct Version {
8
    /// Current OBS Studio version.
9
    #[serde(rename = "obsVersion")]
10
    pub obs_version: semver::Version,
11
    /// Current obs-websocket version.
12
    #[serde(rename = "obsWebSocketVersion")]
13
    pub obs_web_socket_version: semver::Version,
14
    /// Current latest obs-websocket RPC version.
15
    #[serde(rename = "rpcVersion")]
16
    pub rpc_version: u32,
17
    /// Array of available RPC requests for the currently negotiated RPC version.
18
    #[serde(rename = "availableRequests")]
19
    pub available_requests: Vec<String>,
20
    /// Image formats available in `GetSourceScreenshot` and `SaveSourceScreenshot` requests.
21
    #[serde(rename = "supportedImageFormats")]
22
    pub supported_image_formats: Vec<String>,
23
    /// Name of the platform. Usually `windows`, `macos`, or `ubuntu` (Linux flavor). Not guaranteed
24
    /// to be any of those.
25
    #[serde(rename = "platform")]
26
    pub platform: String,
27
    /// Description of the platform, like `Windows 10 (10.0)`.
28
    #[serde(rename = "platformDescription")]
29
    pub platform_description: String,
30
}
31
32
/// Response value for [`crate::client::General::stats`].
33
23
#[derive(
Debug0
,
D11
ese
rializ0
e)]
Unexecuted instantiation: <obws::responses::general::Stats as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::general::Stats as core::fmt::Debug>::fmt
<obws::responses::general::Stats as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
33
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::general::Stats as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
<<obws::responses::general::Stats as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
33
11
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::general::Stats as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::general::Stats as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
33
11
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::general::Stats as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::general::Stats as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::general::Stats as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::general::Stats as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <obws::responses::general::Stats as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::general::Stats as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::general::Stats as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::general::Stats as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::general::Stats as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::general::Stats as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::general::Stats as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::general::Stats as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::general::Stats as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::general::Stats as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::general::Stats as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::general::Stats as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::general::Stats as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::general::Stats as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
34
pub struct Stats {
35
    /// Current CPU usage in percent.
36
    #[serde(rename = "cpuUsage")]
37
    pub cpu_usage: f64,
38
    /// Amount of memory in MB currently being used by OBS.
39
    #[serde(rename = "memoryUsage")]
40
    pub memory_usage: f64,
41
    /// Available disk space on the device being used for recording storage.
42
    #[serde(rename = "availableDiskSpace")]
43
    pub available_disk_space: f64,
44
    /// Current FPS being rendered.
45
    #[serde(rename = "activeFps")]
46
    pub active_fps: f64,
47
    /// Average time in milliseconds that OBS is taking to render a frame.
48
    #[serde(rename = "averageFrameRenderTime")]
49
    pub average_frame_render_time: f64,
50
    /// Number of frames skipped by OBS in the render thread.
51
    #[serde(rename = "renderSkippedFrames")]
52
    pub render_skipped_frames: u32,
53
    /// Total number of frames outputted by the render thread.
54
    #[serde(rename = "renderTotalFrames")]
55
    pub render_total_frames: u32,
56
    /// Number of frames skipped by OBS in the output thread.
57
    #[serde(rename = "outputSkippedFrames")]
58
    pub output_skipped_frames: u32,
59
    /// Total number of frames outputted by the output thread.
60
    #[serde(rename = "outputTotalFrames")]
61
    pub output_total_frames: u32,
62
    /// Total number of messages received by obs-websocket from the client.
63
    #[serde(rename = "webSocketSessionIncomingMessages")]
64
    pub web_socket_session_incoming_messages: u64,
65
    /// Total number of messages sent by obs-websocket to the client.
66
    #[serde(rename = "webSocketSessionOutgoingMessages")]
67
    pub web_socket_session_outgoing_messages: u64,
68
}
69
70
/// Response value for [`crate::client::General::call_vendor_request`].
71
0
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <obws::responses::general::VendorResponse<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::general::VendorResponse<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::responses::general::VendorResponse<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::general::VendorResponse<_> as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::general::VendorResponse<_> as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::general::VendorResponse<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::general::VendorResponse<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::general::VendorResponse<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::general::VendorResponse<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::general::VendorResponse<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::general::VendorResponse<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::general::VendorResponse<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::general::VendorResponse<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::general::VendorResponse<_> as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::general::VendorResponse<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::general::VendorResponse<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::general::VendorResponse<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::general::VendorResponse<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::general::VendorResponse<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <obws::responses::general::VendorResponse<_> as serde::de::Deserialize>::deserialize::<_>
72
pub struct VendorResponse<T> {
73
    /// Name of the vendor.
74
    #[serde(rename = "vendorName")]
75
    pub vendor_name: String,
76
    /// Type of request.
77
    #[serde(rename = "requestType")]
78
    pub request_type: String,
79
    /// Object containing appropriate response data.
80
    #[serde(rename = "responseData")]
81
    pub response_data: T,
82
}
\ No newline at end of file diff --git a/coverage/src/responses/hotkeys.rs.html b/coverage/src/responses/hotkeys.rs.html new file mode 100644 index 0000000..a4bcd4f --- /dev/null +++ b/coverage/src/responses/hotkeys.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/responses/hotkeys.rs
Line
Count
Source (jump to first uncovered line)
1
//! Responses related to hotkeys.
2
3
use serde::Deserialize;
4
5
/// Response value for [`crate::client::General::get_hotkey_list`].
6
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::hotkeys::Hotkeys as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::hotkeys::Hotkeys as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::responses::hotkeys::Hotkeys as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::hotkeys::Hotkeys as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
6
2
#[derive(Debug, 
D1
eserialize)]
<<obws::responses::hotkeys::Hotkeys as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
6
1
#[derive(Debug, Deserialize)]
<obws::responses::hotkeys::Hotkeys as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
6
1
#[derive(Debug, Deserialize)]
<<obws::responses::hotkeys::Hotkeys as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
6
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <obws::responses::hotkeys::Hotkeys as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::hotkeys::Hotkeys as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::hotkeys::Hotkeys as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::hotkeys::Hotkeys as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::hotkeys::Hotkeys as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::hotkeys::Hotkeys as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::hotkeys::Hotkeys as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::hotkeys::Hotkeys as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::hotkeys::Hotkeys as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::hotkeys::Hotkeys as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::hotkeys::Hotkeys as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::hotkeys::Hotkeys as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::hotkeys::Hotkeys as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::hotkeys::Hotkeys as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <obws::responses::hotkeys::Hotkeys as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::hotkeys::Hotkeys as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::hotkeys::Hotkeys as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::hotkeys::Hotkeys as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
7
pub(crate) struct Hotkeys {
8
    /// Array of hotkey names.
9
    #[serde(rename = "hotkeys")]
10
    pub hotkeys: Vec<String>,
11
}
\ No newline at end of file diff --git a/coverage/src/responses/inputs.rs.html b/coverage/src/responses/inputs.rs.html new file mode 100644 index 0000000..58a99b2 --- /dev/null +++ b/coverage/src/responses/inputs.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/responses/inputs.rs
Line
Count
Source (jump to first uncovered line)
1
//! Responses related to inputs.
2
3
use serde::Deserialize;
4
use time::Duration;
5
6
use crate::common::MonitorType;
7
8
/// Response value for [`crate::client::Inputs::get_input_list`].
9
57
#[derive(
Debug0
,
D38
eserialize)]
Unexecuted instantiation: <obws::responses::inputs::Inputs as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::inputs::Inputs as core::fmt::Debug>::fmt
<<obws::responses::inputs::Inputs as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
9
19
#[derive(Debug, Deserialize)]
<obws::responses::inputs::Inputs as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
9
19
#[derive(Debug, Deserialize)]
<<obws::responses::inputs::Inputs as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
9
19
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::inputs::Inputs as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::inputs::Inputs as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
9
38
#[derive(Debug, 
D19
eserialize)]
Unexecuted instantiation: <<obws::responses::inputs::Inputs as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <obws::responses::inputs::Inputs as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::Inputs as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::Inputs as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::inputs::Inputs as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::inputs::Inputs as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::inputs::Inputs as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::inputs::Inputs as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::Inputs as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::Inputs as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::inputs::Inputs as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::inputs::Inputs as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::inputs::Inputs as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::inputs::Inputs as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::Inputs as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::inputs::Inputs as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::Inputs as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::inputs::Inputs as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
10
pub(crate) struct Inputs {
11
    /// Array of inputs.
12
    #[serde(rename = "inputs")]
13
    pub inputs: Vec<Input>,
14
}
15
16
/// Response value for [`crate::client::Inputs::list`].
17
798
#[derive(
Debug0
,
D342
ese
rializ114
e)]
Unexecuted instantiation: <obws::responses::inputs::Input as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::inputs::Input as core::fmt::Debug>::fmt
<obws::responses::inputs::Input as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
17
114
#[derive(Debug, Deserialize)]
<<obws::responses::inputs::Input as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
17
342
#[derive(Debug, Deserialize)]
<<obws::responses::inputs::Input as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
17
456
#[derive(Debug, 
Dese114
rializ114
e)]
Unexecuted instantiation: <<obws::responses::inputs::Input as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::inputs::Input as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
17
342
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::inputs::Input as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::Input as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::inputs::Input as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::inputs::Input as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::inputs::Input as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::responses::inputs::Input as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::Input as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::inputs::Input as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::Input as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::Input as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::inputs::Input as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::Input as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::Input as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::inputs::Input as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::inputs::Input as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::Input as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::inputs::Input as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::inputs::Input as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
18
pub struct Input {
19
    /// Name of the input source.
20
    #[serde(rename = "inputName")]
21
    pub name: String,
22
    /// Version input kind.
23
    #[serde(rename = "inputKind")]
24
    pub kind: String,
25
    /// Kind of input, without the version part.
26
    #[serde(rename = "unversionedInputKind")]
27
    pub unversioned_kind: String,
28
}
29
30
/// Response value for [`crate::client::Inputs::get_input_kind_list`].
31
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::inputs::InputKinds as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::inputs::InputKinds as core::fmt::Debug>::fmt
<<obws::responses::inputs::InputKinds as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
31
1
#[derive(Debug, Deserialize)]
<<obws::responses::inputs::InputKinds as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
31
1
#[derive(Debug, Deserialize)]
<obws::responses::inputs::InputKinds as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
31
1
#[derive(Debug, Deserialize)]
<<obws::responses::inputs::InputKinds as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
31
2
#[derive(Debug, 
D1
eserialize)]
Unexecuted instantiation: <<obws::responses::inputs::InputKinds as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <<obws::responses::inputs::InputKinds as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputKinds as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputKinds as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <obws::responses::inputs::InputKinds as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputKinds as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputKinds as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputKinds as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputKinds as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::InputKinds as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::InputKinds as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::InputKinds as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputKinds as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputKinds as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::inputs::InputKinds as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputKinds as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputKinds as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputKinds as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputKinds as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
32
pub(crate) struct InputKinds {
33
    /// Array of input kinds.
34
    #[serde(rename = "inputKinds")]
35
    pub input_kinds: Vec<String>,
36
}
37
38
/// Response value for
39
/// [`crate::client::Inputs::get_input_default_settings`].
40
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::inputs::DefaultInputSettings<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::inputs::DefaultInputSettings<_> as core::fmt::Debug>::fmt
<<obws::responses::inputs::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<serde_json::value::Value> as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
40
2
#[derive(Debug, 
D1
eserialize)]
<<obws::responses::inputs::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
40
1
#[derive(Debug, Deserialize)]
<<obws::responses::inputs::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
40
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::inputs::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<serde_json::value::Value> as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<obws::responses::inputs::DefaultInputSettings<serde_json::value::Value> as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
40
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::inputs::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<serde_json::value::Value> as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::inputs::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::inputs::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::inputs::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::inputs::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::inputs::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::inputs::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::inputs::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::inputs::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::inputs::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::inputs::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::inputs::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
41
pub(crate) struct DefaultInputSettings<T> {
42
    /// Object of default settings for the input kind.
43
    #[serde(rename = "defaultInputSettings")]
44
    pub default_input_settings: T,
45
}
46
47
/// Response value for [`crate::client::Inputs::settings`].
48
5
#[derive(
Debug0
,
D2
ese
rializ0
e)]
Unexecuted instantiation: <obws::responses::inputs::InputSettings<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::inputs::InputSettings<_> as core::fmt::Debug>::fmt
<<obws::responses::inputs::InputSettings<_> as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
48
2
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::inputs::InputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<serde_json::value::Value> as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::InputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<serde_json::value::Value> as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
<obws::responses::inputs::InputSettings<serde_json::value::Value> as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
48
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::inputs::InputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<serde_json::value::Value> as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::inputs::InputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
48
2
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <obws::responses::inputs::InputSettings<_> as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputSettings<_> as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::InputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::InputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputSettings<_> as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::InputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::inputs::InputSettings<_> as serde::de::Deserialize>::deserialize::<_>
49
pub struct InputSettings<T> {
50
    /// Object of settings for the input.
51
    #[serde(rename = "inputSettings")]
52
    pub settings: T,
53
    /// The kind of the input.
54
    #[serde(rename = "inputKind")]
55
    pub kind: String,
56
}
57
58
/// Response value for [`crate::client::Inputs::get_input_mute`] and
59
/// [`crate::client::Inputs::toggle_input_mute`].
60
9
#[derive(
Debug0
,
D6
eserialize)]
Unexecuted instantiation: <obws::responses::inputs::InputMuted as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::inputs::InputMuted as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::responses::inputs::InputMuted as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::inputs::InputMuted as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
60
3
#[derive(Debug, Deserialize)]
<<obws::responses::inputs::InputMuted as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
60
6
#[derive(Debug, 
D3
eserialize)]
<<obws::responses::inputs::InputMuted as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
60
3
#[derive(Debug, Deserialize)]
<obws::responses::inputs::InputMuted as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
60
3
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::inputs::InputMuted as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputMuted as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <obws::responses::inputs::InputMuted as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputMuted as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputMuted as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputMuted as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputMuted as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputMuted as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::InputMuted as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::InputMuted as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputMuted as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputMuted as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputMuted as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputMuted as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputMuted as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::InputMuted as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::inputs::InputMuted as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputMuted as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
61
pub(crate) struct InputMuted {
62
    /// Whether the input is muted.
63
    #[serde(rename = "inputMuted")]
64
    pub muted: bool,
65
}
66
67
/// Response value for [`crate::client::Inputs::volume`].
68
5
#[derive(
Debug0
,
D3
eserialize)]
Unexecuted instantiation: <obws::responses::inputs::InputVolume as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::inputs::InputVolume as core::fmt::Debug>::fmt
<<obws::responses::inputs::InputVolume as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
68
3
#[derive(Debug, 
D1
eserialize)]
<obws::responses::inputs::InputVolume as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
68
1
#[derive(Debug, Deserialize)]
<<obws::responses::inputs::InputVolume as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
68
2
#[derive(Debug, Deserialize)]
<<obws::responses::inputs::InputVolume as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
68
2
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::inputs::InputVolume as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <<obws::responses::inputs::InputVolume as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputVolume as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputVolume as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputVolume as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputVolume as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputVolume as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <obws::responses::inputs::InputVolume as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputVolume as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::InputVolume as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::InputVolume as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::InputVolume as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputVolume as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::InputVolume as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputVolume as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputVolume as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputVolume as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::responses::inputs::InputVolume as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::InputVolume as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
69
pub struct InputVolume {
70
    /// Volume setting in mul.
71
    #[serde(rename = "inputVolumeMul")]
72
    pub mul: f32,
73
    /// Volume setting in dB.
74
    #[serde(rename = "inputVolumeDb")]
75
    pub db: f32,
76
}
77
78
/// Response value for [`crate::client::Inputs::get_audio_sync_offset`].
79
4
#[derive(
Debug0
,
D3
ese
rializ0
e)]
Unexecuted instantiation: <obws::responses::inputs::AudioSyncOffset as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::inputs::AudioSyncOffset as core::fmt::Debug>::fmt
Unexecuted instantiation: <<<obws::responses::inputs::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
<obws::responses::inputs::AudioSyncOffset as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
79
1
#[derive(Debug, Deserialize)]
<<obws::responses::inputs::AudioSyncOffset as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
79
1
#[derive(Debug, Deserialize)]
<<obws::responses::inputs::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
79
2
#[derive(Debug, 
D1
eserialize)]
<<<obws::responses::inputs::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
79
1
#[derive(Debug, Deserialize)]
<<obws::responses::inputs::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
79
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::inputs::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>::{closure#0}
Unexecuted instantiation: <<obws::responses::inputs::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <<obws::responses::inputs::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::AudioSyncOffset as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::responses::inputs::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::AudioSyncOffset as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::inputs::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::inputs::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0}
Unexecuted instantiation: <obws::responses::inputs::AudioSyncOffset as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::AudioSyncOffset as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::inputs::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<<obws::responses::inputs::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::AudioSyncOffset as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0}
Unexecuted instantiation: <<<obws::responses::inputs::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::AudioSyncOffset as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::inputs::AudioSyncOffset as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::AudioSyncOffset as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::inputs::AudioSyncOffset as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <obws::responses::inputs::AudioSyncOffset as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::inputs::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<<obws::responses::inputs::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
80
pub(crate) struct AudioSyncOffset {
81
    /// Audio sync offset in milliseconds.
82
    #[serde(
83
        rename = "inputAudioSyncOffset",
84
        with = "crate::serde::duration_millis"
85
    )]
86
    pub input_audio_sync_offset: Duration,
87
}
88
89
/// Response value for [`crate::client::Inputs::get_audio_monitor_type`].
90
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::inputs::AudioMonitorType as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::inputs::AudioMonitorType as core::fmt::Debug>::fmt
<<obws::responses::inputs::AudioMonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
90
1
#[derive(Debug, Deserialize)]
<<obws::responses::inputs::AudioMonitorType as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
90
1
#[derive(Debug, Deserialize)]
<<obws::responses::inputs::AudioMonitorType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
90
2
#[derive(Debug, 
D1
eserialize)]
<obws::responses::inputs::AudioMonitorType as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
90
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::inputs::AudioMonitorType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <<obws::responses::inputs::AudioMonitorType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::inputs::AudioMonitorType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <obws::responses::inputs::AudioMonitorType as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::AudioMonitorType as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::AudioMonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::inputs::AudioMonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::inputs::AudioMonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::inputs::AudioMonitorType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::AudioMonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::AudioMonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::inputs::AudioMonitorType as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::AudioMonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::inputs::AudioMonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::inputs::AudioMonitorType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::inputs::AudioMonitorType as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::AudioMonitorType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::inputs::AudioMonitorType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::AudioMonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
91
pub(crate) struct AudioMonitorType {
92
    /// Audio monitor type.
93
    #[serde(rename = "monitorType")]
94
    pub monitor_type: MonitorType,
95
}
96
97
/// Response value for [`crate::client::Inputs::get_properties_list_property_items`].
98
0
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <obws::responses::inputs::ListPropertyItems as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::inputs::ListPropertyItems as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::inputs::ListPropertyItems as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::ListPropertyItems as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::inputs::ListPropertyItems as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::inputs::ListPropertyItems as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::inputs::ListPropertyItems as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::inputs::ListPropertyItems as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::ListPropertyItems as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::inputs::ListPropertyItems as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::ListPropertyItems as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::ListPropertyItems as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::inputs::ListPropertyItems as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::inputs::ListPropertyItems as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::ListPropertyItems as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::inputs::ListPropertyItems as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::inputs::ListPropertyItems as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::inputs::ListPropertyItems as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::ListPropertyItems as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::inputs::ListPropertyItems as serde::de::Deserialize>::deserialize::<_>
99
pub(crate) struct ListPropertyItems {
100
    /// Array of items in the list property.
101
    #[serde(rename = "propertyItems")]
102
    pub property_items: Vec<ListPropertyItem>,
103
}
104
105
/// Response value for [`crate::client::Inputs::properties_list_property_items`].
106
0
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <obws::responses::inputs::ListPropertyItem as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::inputs::ListPropertyItem as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::inputs::ListPropertyItem as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::ListPropertyItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::inputs::ListPropertyItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::inputs::ListPropertyItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::inputs::ListPropertyItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::inputs::ListPropertyItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::inputs::ListPropertyItem as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::ListPropertyItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::ListPropertyItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::ListPropertyItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::ListPropertyItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::inputs::ListPropertyItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <obws::responses::inputs::ListPropertyItem as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::ListPropertyItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::ListPropertyItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::inputs::ListPropertyItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::inputs::ListPropertyItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::inputs::ListPropertyItem as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
107
pub struct ListPropertyItem {
108
    /// Name of the item.
109
    #[serde(rename = "itemName")]
110
    pub name: String,
111
    /// Whether this item is enabled in the UI.
112
    #[serde(rename = "itemEnabled")]
113
    pub enabled: bool,
114
    /// Content of the item, depending on what it represents.
115
    #[serde(rename = "itemValue")]
116
    pub value: serde_json::Value,
117
}
118
119
0
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <obws::responses::inputs::SceneItemId as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::inputs::SceneItemId as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::responses::inputs::SceneItemId as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::inputs::SceneItemId as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::inputs::SceneItemId as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::inputs::SceneItemId as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::inputs::SceneItemId as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::inputs::SceneItemId as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::SceneItemId as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::inputs::SceneItemId as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::SceneItemId as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::SceneItemId as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <obws::responses::inputs::SceneItemId as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::inputs::SceneItemId as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::SceneItemId as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::inputs::SceneItemId as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::inputs::SceneItemId as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::inputs::SceneItemId as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::inputs::SceneItemId as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::inputs::SceneItemId as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
120
pub(crate) struct SceneItemId {
121
    /// Numeric ID of the scene item.
122
    #[serde(rename = "sceneItemId")]
123
    pub scene_item_id: i64,
124
}
\ No newline at end of file diff --git a/coverage/src/responses/media_inputs.rs.html b/coverage/src/responses/media_inputs.rs.html new file mode 100644 index 0000000..7391e98 --- /dev/null +++ b/coverage/src/responses/media_inputs.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/responses/media_inputs.rs
Line
Count
Source (jump to first uncovered line)
1
//! Responses related to media inputs.
2
3
use serde::Deserialize;
4
use time::Duration;
5
6
/// Response value for [`crate::client::MediaInputs::status`].
7
9
#[derive(
Debug0
,
D6
eserialize)]
Unexecuted instantiation: <obws::responses::media_inputs::MediaStatus as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::media_inputs::MediaStatus as core::fmt::Debug>::fmt
<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
7
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
7
4
#[derive(Debug, 
D1
eserialize)]
<<<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
7
1
#[derive(Debug, Deserialize)]
<<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
7
3
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
<<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
7
3
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>::{closure#0}
Unexecuted instantiation: <<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>::{closure#1}
Unexecuted instantiation: <<<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
<<<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
7
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0}
Unexecuted instantiation: <<<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#1}
Unexecuted instantiation: <<<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0}
Unexecuted instantiation: <<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#1}
Unexecuted instantiation: <<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::responses::media_inputs::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
8
pub struct MediaStatus {
9
    /// State of the media input.
10
    #[serde(rename = "mediaState")]
11
    pub state: MediaState,
12
    /// Total duration of the playing media. [`None`] if not playing.
13
    #[serde(
14
        rename = "mediaDuration",
15
        with = "crate::serde::duration_millis::option"
16
    )]
17
    pub duration: Option<Duration>,
18
    /// Position of the cursor. [`None`] if not playing.
19
    #[serde(rename = "mediaCursor", with = "crate::serde::duration_millis::option")]
20
    pub cursor: Option<Duration>,
21
}
22
23
/// Response value for [`crate::client::MediaInputs::status`] as part of [`MediaStatus`].
24
2
#[derive(Copy, 
Clone0
,
D0
ebu
g0
, Deserialize)]
Unexecuted instantiation: <obws::responses::media_inputs::MediaState as core::clone::Clone>::clone
Unexecuted instantiation: <obws::responses::media_inputs::MediaState as core::clone::Clone>::clone
Unexecuted instantiation: <obws::responses::media_inputs::MediaState as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::media_inputs::MediaState as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::media_inputs::MediaState as serde::de::Deserialize>::deserialize::<serde::__private::de::missing_field::MissingFieldDeserializer<serde_json::error::Error>>
<<obws::responses::media_inputs::MediaState as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::de::value::StringDeserializer<serde_json::error::Error>>
Line
Count
Source
24
1
#[derive(Copy, Clone, Debug, Deserialize)]
<<obws::responses::media_inputs::MediaState as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<serde_json::value::de::EnumDeserializer>
Line
Count
Source
24
1
#[derive(Copy, Clone, Debug, Deserialize)]
<<obws::responses::media_inputs::MediaState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
24
1
#[derive(Copy, Clone, Debug, Deserialize)]
<obws::responses::media_inputs::MediaState as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
24
1
#[derive(Copy, Clone, Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::media_inputs::MediaState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <obws::responses::media_inputs::MediaState as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::media_inputs::MediaState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::media_inputs::MediaState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::media_inputs::MediaState as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_>
Unexecuted instantiation: <<obws::responses::media_inputs::MediaState as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::media_inputs::MediaState as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::media_inputs::MediaState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::media_inputs::MediaState as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_>
Unexecuted instantiation: <<obws::responses::media_inputs::MediaState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::media_inputs::MediaState as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::media_inputs::MediaState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::media_inputs::MediaState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::media_inputs::MediaState as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::media_inputs::MediaState as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::media_inputs::MediaState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
25
pub enum MediaState {
26
    /// No state.
27
    #[serde(rename = "OBS_MEDIA_STATE_NONE")]
28
    None,
29
    /// Media is playing.
30
    #[serde(rename = "OBS_MEDIA_STATE_PLAYING")]
31
    Playing,
32
    /// Opening file for replay.
33
    #[serde(rename = "OBS_MEDIA_STATE_OPENING")]
34
    Opening,
35
    /// Buffering data for replay.
36
    #[serde(rename = "OBS_MEDIA_STATE_BUFFERING")]
37
    Buffering,
38
    /// Media is paused.
39
    #[serde(rename = "OBS_MEDIA_STATE_PAUSED")]
40
    Paused,
41
    /// Media stopped.
42
    #[serde(rename = "OBS_MEDIA_STATE_STOPPED")]
43
    Stopped,
44
    /// All media in the play-list played.
45
    #[serde(rename = "OBS_MEDIA_STATE_ENDED")]
46
    Ended,
47
    /// Error occurred while trying to play the media.
48
    #[serde(rename = "OBS_MEDIA_STATE_ERROR")]
49
    Error,
50
    /// Unknown state.
51
    #[serde(other)]
52
    Unknown,
53
}
\ No newline at end of file diff --git a/coverage/src/responses/mod.rs.html b/coverage/src/responses/mod.rs.html index 7fee3c1..12a5621 100644 --- a/coverage/src/responses/mod.rs.html +++ b/coverage/src/responses/mod.rs.html @@ -1 +1 @@ -

Coverage Report

Created: 2022-05-25 22:28

src/responses/mod.rs
Line
Count
Source (jump to first uncovered line)
1
//! All responses that can be received from the API.
2
3
pub use semver::Version as SemVerVersion;
4
use serde::{de, Deserialize, Deserializer};
5
use serde_repr::Deserialize_repr;
6
use time::Duration;
7
8
use crate::common::{Alignment, BoundsType, MonitorType};
9
10
0
#[derive(Debug)]
Unexecuted instantiation: <obws::responses::ServerMessage as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::ServerMessage as core::fmt::Debug>::fmt
11
pub(crate) enum ServerMessage {
12
    /// First message sent from the server immediately on client connection. Contains authentication
13
    /// information if authentication is required. Also contains RPC version for version
14
    /// negotiation.
15
    Hello(Hello),
16
    /// The identify request was received and validated, and the connection is now ready for normal
17
    /// operation.
18
    Identified(Identified),
19
    /// An event coming from OBS has occurred. For example scene switched, source muted.
20
    #[cfg(feature = "events")]
21
    Event(crate::events::Event),
22
    #[cfg(not(feature = "events"))]
23
    Event,
24
    /// `obs-websocket` is responding to a request coming from a client.
25
    RequestResponse(RequestResponse),
26
    /// `obs-websocket` is responding to a request batch coming from the client.
27
    RequestBatchResponse(RequestBatchResponse),
28
}
29
30
impl<'de> Deserialize<'de> for ServerMessage {
31
538
    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
32
538
    where
33
538
        D: Deserializer<'de>,
34
538
    {
35
2.69k
        #[derive(
D1.07k
ese
rializ0
e)]
Unexecuted instantiation: <<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<serde_json::de::SeqAccess<serde_json::read::StrRead>>
<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer<serde_json::read::StrRead>>
Line
Count
Source
35
538
        #[derive(Deserialize)]
<<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::de::MapKey<serde_json::read::StrRead>>
Line
Count
Source
35
1.07k
        #[derive(Deserialize)]
<<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
35
1.07k
        #[derive(Deserialize)]
Unexecuted instantiation: <<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<serde_json::de::MapAccess<serde_json::read::StrRead>>
Unexecuted instantiation: <<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
36
        struct RawServerMessage {
37
            #[serde(rename = "op")]
38
            op_code: OpCode,
39
            #[serde(rename = "d")]
40
            data: serde_json::Value,
41
        }
42
43
538
        #[derive(
Deserialize_0
repr)]
Unexecuted instantiation: <<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::OpCode as serde::de::Deserialize>::deserialize::<serde::__private::de::missing_field::MissingFieldDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::OpCode as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer<serde_json::read::StrRead>>
Unexecuted instantiation: <<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::OpCode as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::OpCode as serde::de::Deserialize>::deserialize::<_>
44
        #[repr(u8)]
45
        enum OpCode {
46
            /// The initial message sent by obs-websocket to newly connected clients.
47
            Hello = 0,
48
            /// The response sent by obs-websocket to a client after it has successfully identified
49
            /// with obs-websocket.
50
            Identified = 2,
51
            /// The message sent by obs-websocket containing an event payload.
52
            Event = 5,
53
            /// The message sent by obs-websocket in response to a particular request from a client.
54
            RequestResponse = 7,
55
            /// The message sent by obs-websocket in response to a particular batch of requests from
56
            /// a client.
57
            RequestBatchResponse = 9,
58
        }
59
60
538
        let raw = RawServerMessage::deserialize(deserializer)
?0
;
61
62
538
        Ok(match raw.op_code {
63
            OpCode::Hello => {
64
13
                ServerMessage::Hello(serde_json::from_value(raw.data).map_err(de::Error::custom)
?0
)
65
            }
66
            OpCode::Identified => ServerMessage::Identified(
67
13
                serde_json::from_value(raw.data).map_err(de::Error::custom)
?0
,
68
            ),
69
            OpCode::Event => {
70
                #[cfg(feature = "events")]
71
                {
72
                    ServerMessage::Event(
73
235
                        serde_json::from_value(raw.data).map_err(de::Error::custom)
?0
,
74
                    )
75
                }
76
                #[cfg(not(feature = "events"))]
77
                {
78
                    ServerMessage::Event
79
                }
80
            }
81
            OpCode::RequestResponse => ServerMessage::RequestResponse(
82
277
                serde_json::from_value(raw.data).map_err(de::Error::custom)
?0
,
83
            ),
84
            OpCode::RequestBatchResponse => ServerMessage::RequestBatchResponse(
85
0
                serde_json::from_value(raw.data).map_err(de::Error::custom)?,
86
            ),
87
        })
88
538
    }
<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer<serde_json::read::StrRead>>
Line
Count
Source
31
538
    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
32
538
    where
33
538
        D: Deserializer<'de>,
34
538
    {
35
        #[derive(Deserialize)]
36
        struct RawServerMessage {
37
            #[serde(rename = "op")]
38
            op_code: OpCode,
39
            #[serde(rename = "d")]
40
            data: serde_json::Value,
41
        }
42
43
        #[derive(Deserialize_repr)]
44
        #[repr(u8)]
45
        enum OpCode {
46
            /// The initial message sent by obs-websocket to newly connected clients.
47
            Hello = 0,
48
            /// The response sent by obs-websocket to a client after it has successfully identified
49
            /// with obs-websocket.
50
            Identified = 2,
51
            /// The message sent by obs-websocket containing an event payload.
52
            Event = 5,
53
            /// The message sent by obs-websocket in response to a particular request from a client.
54
            RequestResponse = 7,
55
            /// The message sent by obs-websocket in response to a particular batch of requests from
56
            /// a client.
57
            RequestBatchResponse = 9,
58
        }
59
60
538
        let raw = RawServerMessage::deserialize(deserializer)
?0
;
61
62
538
        Ok(match raw.op_code {
63
            OpCode::Hello => {
64
13
                ServerMessage::Hello(serde_json::from_value(raw.data).map_err(de::Error::custom)
?0
)
65
            }
66
            OpCode::Identified => ServerMessage::Identified(
67
13
                serde_json::from_value(raw.data).map_err(de::Error::custom)
?0
,
68
            ),
69
            OpCode::Event => {
70
                #[cfg(feature = "events")]
71
                {
72
                    ServerMessage::Event(
73
235
                        serde_json::from_value(raw.data).map_err(de::Error::custom)
?0
,
74
                    )
75
                }
76
                #[cfg(not(feature = "events"))]
77
                {
78
                    ServerMessage::Event
79
                }
80
            }
81
            OpCode::RequestResponse => ServerMessage::RequestResponse(
82
277
                serde_json::from_value(raw.data).map_err(de::Error::custom)
?0
,
83
            ),
84
            OpCode::RequestBatchResponse => ServerMessage::RequestBatchResponse(
85
0
                serde_json::from_value(raw.data).map_err(de::Error::custom)?,
86
            ),
87
        })
88
538
    }
Unexecuted instantiation: <obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::<_>
89
}
90
91
/// First message sent from the server immediately on client connection. Contains authentication
92
/// information if authentication is required. Also contains RPC version for version negotiation.
93
91
#[derive(
Debug0
,
D39
ese
rializ13
e)]
Unexecuted instantiation: <obws::responses::Hello as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::Hello as core::fmt::Debug>::fmt
<obws::responses::Hello as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
93
13
#[derive(Debug, Deserialize)]
<<obws::responses::Hello as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
93
39
#[derive(Debug, Deserialize)]
<<obws::responses::Hello as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
93
52
#[derive(Debug, 
Dese13
rializ13
e)]
Unexecuted instantiation: <<obws::responses::Hello as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::Hello as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
93
39
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::Hello as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Hello as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Hello as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::Hello as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::Hello as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::Hello as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Hello as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::Hello as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::Hello as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::Hello as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Hello as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::responses::Hello as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Hello as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::Hello as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::Hello as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Hello as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::Hello as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Hello as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
94
#[serde(rename_all = "camelCase")]
95
pub(crate) struct Hello {
96
    #[allow(dead_code)]
97
    pub obs_web_socket_version: SemVerVersion,
98
    /// version number which gets incremented on each **breaking change** to the obs-websocket
99
    /// protocol. Its usage in this context is to provide the current RPC version that the server
100
    /// would like to use.
101
    pub rpc_version: u32,
102
    pub authentication: Option<Authentication>,
103
}
104
105
/// The identify request was received and validated, and the connection is now ready for normal
106
/// operation.
107
39
#[derive(
Debug0
,
D26
eserialize)]
Unexecuted instantiation: <obws::responses::Identified as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::Identified as core::fmt::Debug>::fmt
<obws::responses::Identified as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
107
13
#[derive(Debug, Deserialize)]
<<obws::responses::Identified as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
107
13
#[derive(Debug, Deserialize)]
<<obws::responses::Identified as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
107
13
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::Identified as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::Identified as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
107
26
#[derive(Debug, 
D13
eserialize)]
Unexecuted instantiation: <<obws::responses::Identified as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::responses::Identified as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Identified as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::Identified as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Identified as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::Identified as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::Identified as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Identified as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Identified as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::Identified as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Identified as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::Identified as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::Identified as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::Identified as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Identified as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Identified as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::Identified as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <obws::responses::Identified as serde::de::Deserialize>::deserialize::<_>
108
#[serde(rename_all = "camelCase")]
109
pub(crate) struct Identified {
110
    /// The RPC (remote procedure call) version to be used.
111
    pub negotiated_rpc_version: u32,
112
}
113
114
/// `obs-websocket` is responding to a request coming from a client.
115
2.31k
#[derive(
Debug0
,
D1.01k
ese
rializ188
e)]
Unexecuted instantiation: <obws::responses::RequestResponse as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::RequestResponse as core::fmt::Debug>::fmt
<<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
115
1.01k
#[derive(Debug, Deserialize)]
<<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
115
1.29k
#[derive(Debug, 
Dese188
rializ188
e)]
<<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
115
1.01k
#[derive(Debug, Deserialize)]
<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
115
277
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
116
#[serde(rename_all = "camelCase")]
117
pub(crate) struct RequestResponse {
118
    #[allow(dead_code)]
119
    pub request_type: String,
120
    pub request_id: String,
121
    pub request_status: Status,
122
    #[serde(default)]
123
    pub response_data: serde_json::Value,
124
}
125
126
0
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <obws::responses::RequestBatchResponse as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::RequestBatchResponse as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
127
#[serde(rename_all = "camelCase")]
128
pub(crate) struct RequestBatchResponse {
129
    #[allow(dead_code)]
130
    pub request_id: String,
131
    #[allow(dead_code)]
132
    pub results: Vec<serde_json::Value>,
133
}
134
135
65
#[derive(
Debug0
,
D26
ese
rializ0
e)]
Unexecuted instantiation: <obws::responses::Authentication as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::Authentication as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
135
26
#[derive(Debug, Deserialize)]
<<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
135
26
#[derive(Debug, Deserialize)]
<obws::responses::Authentication as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
135
13
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::responses::Authentication as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <obws::responses::Authentication as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
136
pub(crate) struct Authentication {
137
    pub challenge: String,
138
    pub salt: String,
139
}
140
141
1.38k
#[derive(
Debug0
,
D554
ese
rializ277
e)]
Unexecuted instantiation: <obws::responses::Status as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::Status as core::fmt::Debug>::fmt
<<obws::responses::Status as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
141
554
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::Status as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<obws::responses::Status as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
141
277
#[derive(Debug, Deserialize)]
<<obws::responses::Status as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
141
831
#[derive(Debug, 
Dese277
rializ277
e)]
Unexecuted instantiation: <obws::responses::Status as serde::de::Deserialize>::deserialize::<serde::__private::de::missing_field::MissingFieldDeserializer<serde_json::error::Error>>
<<obws::responses::Status as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
141
554
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::Status as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::Status as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Status as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::Status as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::Status as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Status as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <obws::responses::Status as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Status as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Status as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::Status as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Status as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Status as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::Status as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Status as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::responses::Status as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Status as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::Status as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::Status as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
142
pub(crate) struct Status {
143
    /// Is true if the request resulted in [`StatusCode::Success`]. False if otherwise.
144
    pub result: bool,
145
    pub code: StatusCode,
146
    /// May be provided by the server on errors to offer further details on why a request failed.
147
    pub comment: Option<String>,
148
}
149
150
/// The status code gives information about the result of a request. It gives further insight into
151
/// what went wrong, if a request failed.
152
277
#[derive(
D0
ebu
g0
,
Deserialize_0
repr)]
Unexecuted instantiation: <obws::responses::StatusCode as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::StatusCode as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::StatusCode as serde::de::Deserialize>::deserialize::<serde::__private::de::missing_field::MissingFieldDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <obws::responses::StatusCode as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Unexecuted instantiation: <obws::responses::StatusCode as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::StatusCode as serde::de::Deserialize>::deserialize::<_>
153
#[repr(u16)]
154
pub enum StatusCode {
155
    /// Unknown status, should never be used.
156
    Unknown = 0,
157
158
    /// For internal use to signify a successful field check.
159
    NoError = 10,
160
161
    /// The request has succeeded.
162
    Success = 100,
163
164
    /// The `requestType` field is missing from the request data.
165
    MissingRequestType = 203,
166
    /// The request type is invalid or does not exist.
167
    UnknownRequestType = 204,
168
    /// Generic error code.
169
    ///
170
    /// **Note:** A comment is required to be provided by obs-websocket.
171
    GenericError = 205,
172
    /// The request batch execution type is not supported.
173
    UnsupportedRequestBatchExecutionType = 206,
174
175
    /// A required request field is missing.
176
    MissingRequestField = 300,
177
    /// The request does not have a valid `requestData` object.
178
    MissingRequestData = 301,
179
180
    /// Generic invalid request field message.
181
    ///
182
    /// **Note:** A comment is required to be provided by obs-websocket.
183
    InvalidRequestField = 400,
184
    /// A request field has the wrong data type.
185
    InvalidRequestFieldType = 401,
186
    /// A request field (number) is outside the allowed range.
187
    RequestFieldOutOfRange = 402,
188
    /// A request field (string or array) is empty and cannot be.
189
    RequestFieldEmpty = 403,
190
    /// There are too many request fields (For example a request takes two optional fields, where
191
    /// only one is allowed at a time).
192
    TooManyRequestFields = 404,
193
194
    /// An output is running and cannot be in order to perform the request.
195
    OutputRunning = 500,
196
    /// An output is not running and should be.
197
    OutputNotRunning = 501,
198
    /// An output is paused and should not be.
199
    OutputPaused = 502,
200
    /// An output is not paused and should be.
201
    OutputNotPaused = 503,
202
    /// An output is disabled and should not be.
203
    OutputDisabled = 504,
204
    /// Studio mode is active and cannot be.
205
    StudioModeActive = 505,
206
    /// Studio mode is not active and should be.
207
    StudioModeNotActive = 506,
208
209
    /// The resource was not found.
210
    ///
211
    /// **Note:** Resources are any kind of object in obs-websocket, like inputs, profiles, outputs,
212
    /// etc.
213
    ResourceNotFound = 600,
214
    /// The resource already exists.
215
    ResourceAlreadyExists = 601,
216
    /// The type of resource found is invalid.
217
    InvalidResourceType = 602,
218
    /// There are not enough instances of the resource in order to perform the request.
219
    NotEnoughResources = 603,
220
    /// The state of the resource is invalid. For example, if the resource is blocked from being
221
    /// accessed.
222
    InvalidResourceState = 604,
223
    /// The specified input (obs_source_t-OBS_SOURCE_TYPE_INPUT) had the wrong kind.
224
    InvalidInputKind = 605,
225
    /// The resource does not support being configured.
226
    ///
227
    /// This is particularly relevant to transitions, where they do not always have changeable
228
    /// settings.
229
    ResourceNotConfigurable = 606,
230
    /// The specified filter had the wrong kind.
231
    InvalidFilterKind = 607,
232
233
    /// Creating the resource failed.
234
    ResourceCreationFailed = 700,
235
    /// Performing an action on the resource failed.
236
    ResourceActionFailed = 701,
237
    /// Processing the request failed unexpectedly.
238
    ///
239
    /// **Note:** A comment is required to be provided by obs-websocket.
240
    RequestProcessingFailed = 702,
241
    /// The combination of request fields cannot be used to perform an action.
242
    CannotAct = 703,
243
}
244
245
/// Response value for
246
/// [`get_scene_collection_list`](crate::client::Config::get_scene_collection_list).
247
5
#[derive(
Debug0
,
D2
ese
rializ0
e)]
Unexecuted instantiation: <obws::responses::SceneCollections as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::SceneCollections as core::fmt::Debug>::fmt
<<obws::responses::SceneCollections as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
247
2
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::SceneCollections as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<obws::responses::SceneCollections as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<obws::responses::SceneCollections as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
247
1
#[derive(Debug, Deserialize)]
<<obws::responses::SceneCollections as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
247
2
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <obws::responses::SceneCollections as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneCollections as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::SceneCollections as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SceneCollections as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::SceneCollections as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::SceneCollections as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::SceneCollections as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SceneCollections as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneCollections as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::SceneCollections as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneCollections as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SceneCollections as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::SceneCollections as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::SceneCollections as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::SceneCollections as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SceneCollections as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::responses::SceneCollections as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneCollections as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
248
#[serde(rename_all = "camelCase")]
249
pub struct SceneCollections {
250
    /// The name of the current scene collection.
251
    pub current_scene_collection_name: String,
252
    /// Array of all available scene collections.
253
    pub scene_collections: Vec<String>,
254
}
255
256
/// Response value for [`get_profile_list`](crate::client::Config::get_profile_list).
257
70
#[derive(
Debug0
,
D28
ese
rializ0
e)]
Unexecuted instantiation: <obws::responses::Profiles as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::Profiles as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::responses::Profiles as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<obws::responses::Profiles as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
257
14
#[derive(Debug, Deserialize)]
<<obws::responses::Profiles as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
257
28
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::Profiles as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
<<obws::responses::Profiles as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
257
28
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <obws::responses::Profiles as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Profiles as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::Profiles as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::Profiles as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Profiles as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::Profiles as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Profiles as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::Profiles as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::Profiles as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Profiles as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Profiles as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::Profiles as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::Profiles as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <obws::responses::Profiles as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Profiles as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::Profiles as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::Profiles as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Profiles as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
258
#[serde(rename_all = "camelCase")]
259
pub struct Profiles {
260
    /// The name of the current profile.
261
    pub current_profile_name: String,
262
    /// Array of all available profiles.
263
    pub profiles: Vec<String>,
264
}
265
266
/// Response value for [`get_profile_parameter`](crate::client::Config::get_profile_parameter).
267
5
#[derive(
Debug0
,
D2
ese
rializ0
e)]
Unexecuted instantiation: <obws::responses::ProfileParameter as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::ProfileParameter as core::fmt::Debug>::fmt
<<obws::responses::ProfileParameter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
267
2
#[derive(Debug, Deserialize)]
<obws::responses::ProfileParameter as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
267
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::ProfileParameter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<obws::responses::ProfileParameter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::ProfileParameter as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
267
2
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <obws::responses::ProfileParameter as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::ProfileParameter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::ProfileParameter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::ProfileParameter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::ProfileParameter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::ProfileParameter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::ProfileParameter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::ProfileParameter as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::ProfileParameter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::ProfileParameter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::ProfileParameter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <obws::responses::ProfileParameter as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::ProfileParameter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::ProfileParameter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::ProfileParameter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::ProfileParameter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::ProfileParameter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::ProfileParameter as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
268
#[serde(rename_all = "camelCase")]
269
pub struct ProfileParameter {
270
    /// Value associated with the parameter.
271
    pub parameter_value: Option<String>,
272
    /// Default value associated with the parameter.
273
    pub default_parameter_value: Option<String>,
274
}
275
276
/// Response value for [`get_video_settings`](crate::client::Config::get_video_settings).
277
13
#[derive(
Debug0
,
D6
ese
rializ7
e)]
Unexecuted instantiation: <obws::responses::VideoSettings as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::VideoSettings as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::responses::VideoSettings as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::VideoSettings as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
277
6
#[derive(Debug, Deserialize)]
<<obws::responses::VideoSettings as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
277
6
#[derive(Debug, Deserialize)]
<<obws::responses::VideoSettings as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
277
7
#[derive(Debug, Deserialize)]
<obws::responses::VideoSettings as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
277
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::VideoSettings as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::VideoSettings as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::VideoSettings as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::VideoSettings as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <obws::responses::VideoSettings as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::VideoSettings as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::VideoSettings as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::VideoSettings as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::VideoSettings as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::VideoSettings as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <obws::responses::VideoSettings as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::VideoSettings as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::VideoSettings as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::VideoSettings as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::VideoSettings as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::VideoSettings as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::VideoSettings as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::VideoSettings as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
278
#[serde(rename_all = "camelCase")]
279
pub struct VideoSettings {
280
    /// Numerator of the fractional FPS value.
281
    pub fps_numerator: u32,
282
    /// Denominator of the fractional FPS value.
283
    pub fps_denominator: u32,
284
    /// Width of the base (canvas) resolution in pixels.
285
    pub base_width: u32,
286
    /// Height of the base (canvas) resolution in pixels.
287
    pub base_height: u32,
288
    /// Width of the output resolution in pixels.
289
    pub output_width: u32,
290
    /// Height of the output resolution in pixels.
291
    pub output_height: u32,
292
}
293
294
/// Response value for
295
/// [`get_stream_service_settings`](crate::client::Config::get_stream_service_settings).
296
5
#[derive(
Debug0
,
D2
ese
rializ0
e)]
Unexecuted instantiation: <obws::responses::StreamServiceSettings<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::StreamServiceSettings<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::responses::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<serde_json::value::Value> as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
<<obws::responses::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
296
2
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<serde_json::value::Value> as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
296
2
#[derive(Debug, Deserialize)]
<obws::responses::StreamServiceSettings<serde_json::value::Value> as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
296
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<serde_json::value::Value> as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <obws::responses::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <obws::responses::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::StreamServiceSettings<_> as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
297
#[serde(rename_all = "camelCase")]
298
pub struct StreamServiceSettings<T> {
299
    /// Stream service type, like `rtmp_custom` or `rtmp_common`.
300
    pub stream_service_type: String,
301
    /// Stream service settings.
302
    pub stream_service_settings: T,
303
}
304
305
/// Response value for [`get_source_filter_list`](crate::client::Filters::get_source_filter_list).
306
42
#[derive(
Debug0
,
D28
eserialize)]
Unexecuted instantiation: <obws::responses::Filters as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::Filters as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::responses::Filters as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::Filters as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
306
14
#[derive(Debug, Deserialize)]
<<obws::responses::Filters as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
306
28
#[derive(Debug, 
D14
eserialize)]
<obws::responses::Filters as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
306
14
#[derive(Debug, Deserialize)]
<<obws::responses::Filters as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
306
14
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <obws::responses::Filters as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Filters as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::Filters as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Filters as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::Filters as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::Filters as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::Filters as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::Filters as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Filters as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Filters as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Filters as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Filters as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::Filters as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::Filters as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Filters as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::Filters as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <obws::responses::Filters as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Filters as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
307
#[serde(rename_all = "camelCase")]
308
pub(crate) struct Filters {
309
    /// Array of filters.
310
    pub filters: Vec<SourceFilter>,
311
}
312
313
/// Response value for [`get_source_filter_list`](crate::client::Filters::get_source_filter_list)
314
/// and [`get_source_filter`](crate::client::Filters::get_source_filter).
315
163
#[derive(
Clone0
,
Debug0
,
D74
ese
rializ89
e)]
Unexecuted instantiation: <obws::responses::SourceFilter as core::clone::Clone>::clone
Unexecuted instantiation: <obws::responses::SourceFilter as core::clone::Clone>::clone
Unexecuted instantiation: <obws::responses::SourceFilter as core::clone::Clone>::clone
Unexecuted instantiation: <obws::responses::SourceFilter as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::SourceFilter as core::fmt::Debug>::fmt
<<obws::responses::SourceFilter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
315
74
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::SourceFilter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<obws::responses::SourceFilter as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
315
15
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <obws::responses::SourceFilter as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<obws::responses::SourceFilter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error>>
Unexecuted instantiation: <<obws::responses::SourceFilter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<obws::responses::SourceFilter as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<obws::responses::SourceFilter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
<<obws::responses::SourceFilter as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
315
74
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::SourceFilter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<obws::responses::SourceFilter as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
<<obws::responses::SourceFilter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
315
89
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::SourceFilter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::SourceFilter as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SourceFilter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::SourceFilter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SourceFilter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::SourceFilter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::SourceFilter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::SourceFilter as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SourceFilter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::SourceFilter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::SourceFilter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::SourceFilter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::SourceFilter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SourceFilter as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SourceFilter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SourceFilter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <obws::responses::SourceFilter as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SourceFilter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
316
#[serde(rename_all = "camelCase")]
317
pub struct SourceFilter {
318
    /// Whether the filter is enabled.
319
    pub filter_enabled: bool,
320
    /// Index of the filter in the list, beginning at 0.
321
    pub filter_index: u32,
322
    /// The kind of filter.
323
    pub filter_kind: String,
324
    /// name of the filter.
325
    #[serde(default)]
326
    pub filter_name: String,
327
    /// Settings object associated with the filter.
328
    pub filter_settings: serde_json::Value,
329
}
330
331
/// Response value for
332
/// [`get_source_filter_default_settings`](crate::client::Filters::get_source_filter_default_settings).
333
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::DefaultFilterSettings<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::DefaultFilterSettings<_> as core::fmt::Debug>::fmt
<<obws::responses::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
333
1
#[derive(Debug, Deserialize)]
<<obws::responses::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<serde_json::value::Value> as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
333
2
#[derive(Debug, 
D1
eserialize)]
<obws::responses::DefaultFilterSettings<serde_json::value::Value> as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
333
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<serde_json::value::Value> as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <<obws::responses::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<serde_json::value::Value> as serde::de::Visitor>::expecting
<<obws::responses::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
333
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <obws::responses::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <obws::responses::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::DefaultFilterSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_seq::<_>
334
#[serde(rename_all = "camelCase")]
335
pub(crate) struct DefaultFilterSettings<T> {
336
    /// Object of default settings for the filter kind.
337
    pub default_filter_settings: T,
338
}
339
340
/// Response value for [`get_version`](crate::client::General::get_version).
341
210
#[derive(
Debug0
,
D98
ese
rializ14
e)]
Unexecuted instantiation: <obws::responses::Version as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::Version as core::fmt::Debug>::fmt
<<obws::responses::Version as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
341
98
#[derive(Debug, Deserialize)]
<obws::responses::Version as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
341
14
#[derive(Debug, Deserialize)]
<<obws::responses::Version as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
341
98
#[derive(Debug, Deserialize)]
<<obws::responses::Version as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
341
112
#[derive(Debug, 
Dese14
rializ14
e)]
Unexecuted instantiation: <<obws::responses::Version as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <<obws::responses::Version as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::Version as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::Version as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::Version as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Version as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Version as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::Version as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Version as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::responses::Version as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Version as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <obws::responses::Version as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Version as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Version as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::Version as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Version as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::Version as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Version as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::Version as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
342
#[serde(rename_all = "camelCase")]
343
pub struct Version {
344
    /// Current OBS Studio version.
345
    pub obs_version: SemVerVersion,
346
    /// Current obs-websocket version.
347
    pub obs_web_socket_version: SemVerVersion,
348
    /// Current latest obs-websocket RPC version.
349
    pub rpc_version: u32,
350
    /// Array of available RPC requests for the currently negotiated RPC version.
351
    pub available_requests: Vec<String>,
352
    /// Image formats available in `GetSourceScreenshot` and `SaveSourceScreenshot` requests.
353
    pub supported_image_formats: Vec<String>,
354
    /// Name of the platform. Usually `windows`, `macos`, or `ubuntu` (Linux flavor). Not guaranteed
355
    /// to be any of those.
356
    pub platform: String,
357
    /// Description of the platform, like `Windows 10 (10.0)`.
358
    pub platform_description: String,
359
}
360
361
/// Response value for [`get_stats`](crate::client::General::get_stats).
362
23
#[derive(
Debug0
,
D11
ese
rializ0
e)]
Unexecuted instantiation: <obws::responses::Stats as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::Stats as core::fmt::Debug>::fmt
<<obws::responses::Stats as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
362
11
#[derive(Debug, Deserialize)]
<obws::responses::Stats as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
362
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::Stats as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
<<obws::responses::Stats as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
362
11
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::Stats as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <<obws::responses::Stats as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Stats as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::Stats as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::Stats as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::Stats as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::Stats as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::Stats as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Stats as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Stats as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <obws::responses::Stats as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Stats as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Stats as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::Stats as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Stats as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::Stats as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::Stats as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::Stats as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::Stats as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
363
#[serde(rename_all = "camelCase")]
364
pub struct Stats {
365
    /// Current CPU usage in percent.
366
    pub cpu_usage: f64,
367
    /// Amount of memory in MB currently being used by OBS.
368
    pub memory_usage: f64,
369
    /// Available disk space on the device being used for recording storage.
370
    pub available_disk_space: f64,
371
    /// Current FPS being rendered.
372
    pub active_fps: f64,
373
    /// Average time in milliseconds that OBS is taking to render a frame.
374
    pub average_frame_render_time: f64,
375
    /// Number of frames skipped by OBS in the render thread.
376
    pub render_skipped_frames: u32,
377
    /// Total number of frames outputted by the render thread.
378
    pub render_total_frames: u32,
379
    /// Number of frames skipped by OBS in the output thread.
380
    pub output_skipped_frames: u32,
381
    /// Total number of frames outputted by the output thread.
382
    pub output_total_frames: u32,
383
    /// Total number of messages received by obs-websocket from the client.
384
    pub web_socket_session_incoming_messages: u64,
385
    /// Total number of messages sent by obs-websocket to the client.
386
    pub web_socket_session_outgoing_messages: u64,
387
}
388
389
/// Response value for [`get_hotkey_list`](crate::client::General::get_hotkey_list).
390
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::Hotkeys as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::Hotkeys as core::fmt::Debug>::fmt
<obws::responses::Hotkeys as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
390
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::Hotkeys as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::Hotkeys as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
390
1
#[derive(Debug, Deserialize)]
<<obws::responses::Hotkeys as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
390
1
#[derive(Debug, Deserialize)]
<<obws::responses::Hotkeys as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
390
2
#[derive(Debug, 
D1
eserialize)]
Unexecuted instantiation: <<obws::responses::Hotkeys as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::Hotkeys as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Hotkeys as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::Hotkeys as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::Hotkeys as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Hotkeys as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Hotkeys as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::Hotkeys as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::Hotkeys as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::Hotkeys as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Hotkeys as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::Hotkeys as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::Hotkeys as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Hotkeys as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::Hotkeys as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::Hotkeys as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Hotkeys as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <obws::responses::Hotkeys as serde::de::Deserialize>::deserialize::<_>
391
#[serde(rename_all = "camelCase")]
392
pub(crate) struct Hotkeys {
393
    /// Array of hotkey names.
394
    pub hotkeys: Vec<String>,
395
}
396
397
/// Response value for [`get_studio_mode_enabled`](crate::client::Ui::get_studio_mode_enabled).
398
42
#[derive(
Debug0
,
D28
eserialize)]
Unexecuted instantiation: <obws::responses::StudioModeEnabled as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::StudioModeEnabled as core::fmt::Debug>::fmt
<<obws::responses::StudioModeEnabled as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
398
28
#[derive(Debug, 
D14
eserialize)]
<obws::responses::StudioModeEnabled as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
398
14
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::StudioModeEnabled as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::StudioModeEnabled as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
398
14
#[derive(Debug, Deserialize)]
<<obws::responses::StudioModeEnabled as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
398
14
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::StudioModeEnabled as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::StudioModeEnabled as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::StudioModeEnabled as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::StudioModeEnabled as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <obws::responses::StudioModeEnabled as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::StudioModeEnabled as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::StudioModeEnabled as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::StudioModeEnabled as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::StudioModeEnabled as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::StudioModeEnabled as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::StudioModeEnabled as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::StudioModeEnabled as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::StudioModeEnabled as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::StudioModeEnabled as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::StudioModeEnabled as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::StudioModeEnabled as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <obws::responses::StudioModeEnabled as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::StudioModeEnabled as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
399
#[serde(rename_all = "camelCase")]
400
pub(crate) struct StudioModeEnabled {
401
    /// Whether studio mode is enabled.
402
    pub studio_mode_enabled: bool,
403
}
404
405
/// Response value for [`call_vendor_request`](crate::client::General::call_vendor_request).
406
0
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <obws::responses::CallVendorResponse<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::CallVendorResponse<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::CallVendorResponse<_> as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::CallVendorResponse<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::CallVendorResponse<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::CallVendorResponse<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::CallVendorResponse<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::CallVendorResponse<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::CallVendorResponse<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::CallVendorResponse<_> as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::CallVendorResponse<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::CallVendorResponse<_> as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::CallVendorResponse<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::CallVendorResponse<_> as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::CallVendorResponse<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::CallVendorResponse<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::CallVendorResponse<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::CallVendorResponse<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::CallVendorResponse<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::CallVendorResponse<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_seq::<_>
407
#[serde(rename_all = "camelCase")]
408
pub(crate) struct CallVendorResponse<T> {
409
    /// Object containing appropriate response data.
410
    pub response_data: T,
411
}
412
413
/// Response value for [`get_input_list`](crate::client::Inputs::get_input_list).
414
42
#[derive(
Debug0
,
D28
eserialize)]
Unexecuted instantiation: <obws::responses::Inputs as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::Inputs as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::responses::Inputs as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<obws::responses::Inputs as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
414
14
#[derive(Debug, Deserialize)]
<<obws::responses::Inputs as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
414
14
#[derive(Debug, Deserialize)]
<<obws::responses::Inputs as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
414
28
#[derive(Debug, 
D14
eserialize)]
<<obws::responses::Inputs as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
414
14
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::Inputs as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Inputs as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Inputs as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::responses::Inputs as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Inputs as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::Inputs as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::Inputs as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::Inputs as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::Inputs as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Inputs as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <obws::responses::Inputs as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Inputs as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Inputs as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::Inputs as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::Inputs as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Inputs as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::Inputs as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::Inputs as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
415
#[serde(rename_all = "camelCase")]
416
pub(crate) struct Inputs {
417
    /// Array of inputs.
418
    pub inputs: Vec<Input>,
419
}
420
421
/// Response value for [`get_input_list`](crate::client::Inputs::get_input_list).
422
588
#[derive(
Debug0
,
D252
ese
rializ84
e)]
Unexecuted instantiation: <obws::responses::Input as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::Input as core::fmt::Debug>::fmt
<<obws::responses::Input as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
422
252
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::Input as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::Input as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
422
336
#[derive(Debug, 
Dese84
rializ84
e)]
<<obws::responses::Input as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
422
252
#[derive(Debug, Deserialize)]
<obws::responses::Input as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
422
84
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::Input as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Input as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::responses::Input as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Input as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::Input as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::Input as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Input as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::Input as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Input as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::Input as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::Input as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::Input as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::Input as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Input as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Input as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Input as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::Input as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::Input as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
423
#[serde(rename_all = "camelCase")]
424
pub struct Input {
425
    /// Name of the input source.
426
    pub input_name: String,
427
    /// Version input kind.
428
    pub input_kind: String,
429
    /// Kind of input, without the version part.
430
    pub unversioned_input_kind: String,
431
}
432
433
/// Response value for [`get_input_kind_list`](crate::client::Inputs::get_input_kind_list).
434
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::InputKinds as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::InputKinds as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::responses::InputKinds as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<obws::responses::InputKinds as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
434
1
#[derive(Debug, Deserialize)]
<<obws::responses::InputKinds as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
434
1
#[derive(Debug, Deserialize)]
<<obws::responses::InputKinds as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
434
1
#[derive(Debug, Deserialize)]
<<obws::responses::InputKinds as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
434
2
#[derive(Debug, 
D1
eserialize)]
Unexecuted instantiation: <<obws::responses::InputKinds as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::InputKinds as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::InputKinds as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::InputKinds as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::InputKinds as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <obws::responses::InputKinds as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::InputKinds as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::InputKinds as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::InputKinds as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::InputKinds as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::InputKinds as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::InputKinds as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::InputKinds as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::InputKinds as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <obws::responses::InputKinds as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::InputKinds as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::InputKinds as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::InputKinds as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
435
#[serde(rename_all = "camelCase")]
436
pub(crate) struct InputKinds {
437
    /// Array of input kinds.
438
    pub input_kinds: Vec<String>,
439
}
440
441
/// Response value for
442
/// [`get_input_default_settings`](crate::client::Inputs::get_input_default_settings).
443
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::DefaultInputSettings<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::DefaultInputSettings<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::responses::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<serde_json::value::Value> as serde::de::Visitor>::expecting
<<obws::responses::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
443
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<serde_json::value::Value> as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<obws::responses::DefaultInputSettings<serde_json::value::Value> as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
443
1
#[derive(Debug, Deserialize)]
<<obws::responses::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<serde_json::value::Value> as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
443
2
#[derive(Debug, 
D1
eserialize)]
<<obws::responses::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
443
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <obws::responses::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <obws::responses::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::DefaultInputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
444
#[serde(rename_all = "camelCase")]
445
pub(crate) struct DefaultInputSettings<T> {
446
    /// Object of default settings for the input kind.
447
    pub default_input_settings: T,
448
}
449
450
/// Response value for [`get_input_settings`](crate::client::Inputs::get_input_settings).
451
5
#[derive(
Debug0
,
D2
ese
rializ0
e)]
Unexecuted instantiation: <obws::responses::InputSettings<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::InputSettings<_> as core::fmt::Debug>::fmt
<<obws::responses::InputSettings<_> as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
451
2
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::InputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<serde_json::value::Value> as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<obws::responses::InputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<serde_json::value::Value> as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<obws::responses::InputSettings<serde_json::value::Value> as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
451
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::InputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<serde_json::value::Value> as serde::de::Visitor>::expecting
<<obws::responses::InputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
451
2
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::InputSettings<_> as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::InputSettings<_> as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::InputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::InputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::InputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::InputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::InputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::InputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::InputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::InputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::InputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::InputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::InputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::InputSettings<_> as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::InputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::InputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::InputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <obws::responses::InputSettings<_> as serde::de::Deserialize>::deserialize::<_>
452
#[serde(rename_all = "camelCase")]
453
pub struct InputSettings<T> {
454
    /// Object of settings for the input.
455
    pub input_settings: T,
456
    /// The kind of the input.
457
    pub input_kind: String,
458
}
459
460
/// Response value for [`get_input_mute`](crate::client::Inputs::get_input_mute) and
461
/// [`toggle_input_mute`](crate::client::Inputs::toggle_input_mute).
462
9
#[derive(
Debug0
,
D6
eserialize)]
Unexecuted instantiation: <obws::responses::InputMuted as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::InputMuted as core::fmt::Debug>::fmt
<obws::responses::InputMuted as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
462
3
#[derive(Debug, Deserialize)]
<<obws::responses::InputMuted as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
462
3
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::InputMuted as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::InputMuted as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
462
3
#[derive(Debug, Deserialize)]
<<obws::responses::InputMuted as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
462
6
#[derive(Debug, 
D3
eserialize)]
Unexecuted instantiation: <<obws::responses::InputMuted as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::InputMuted as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::InputMuted as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::InputMuted as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <obws::responses::InputMuted as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::InputMuted as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::InputMuted as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::InputMuted as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::InputMuted as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::InputMuted as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::InputMuted as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <obws::responses::InputMuted as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::InputMuted as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::InputMuted as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::InputMuted as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::InputMuted as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::InputMuted as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::InputMuted as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
463
#[serde(rename_all = "camelCase")]
464
pub(crate) struct InputMuted {
465
    /// Whether the input is muted.
466
    pub input_muted: bool,
467
}
468
469
/// Response value for [`get_input_volume`](crate::client::Inputs::get_input_volume).
470
5
#[derive(
Debug0
,
D3
eserialize)]
Unexecuted instantiation: <obws::responses::InputVolume as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::InputVolume as core::fmt::Debug>::fmt
<<obws::responses::InputVolume as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
470
2
#[derive(Debug, Deserialize)]
<obws::responses::InputVolume as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
470
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::InputVolume as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::InputVolume as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
470
3
#[derive(Debug, 
D1
eserialize)]
<<obws::responses::InputVolume as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
470
2
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::InputVolume as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::InputVolume as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::InputVolume as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::InputVolume as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::InputVolume as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <obws::responses::InputVolume as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::InputVolume as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::InputVolume as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::InputVolume as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::InputVolume as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::InputVolume as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <obws::responses::InputVolume as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::InputVolume as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::InputVolume as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::InputVolume as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::InputVolume as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::InputVolume as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::InputVolume as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
471
#[serde(rename_all = "camelCase")]
472
pub struct InputVolume {
473
    /// Volume setting in mul.
474
    pub input_volume_mul: f32,
475
    /// Volume setting in dB.
476
    pub input_volume_db: f32,
477
}
478
479
/// Response value for
480
/// [`get_media_input_status`](crate::client::MediaInputs::get_media_input_status).
481
9
#[derive(
Debug0
,
D6
eserialize)]
Unexecuted instantiation: <obws::responses::MediaStatus as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::MediaStatus as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>::{closure#1}
<<<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
481
1
#[derive(Debug, Deserialize)]
<<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
481
3
#[derive(Debug, Deserialize)]
<<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
481
3
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>::{closure#0}
<<<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
481
1
#[derive(Debug, Deserialize)]
<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
481
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Unexecuted instantiation: <<<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
<<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
481
4
#[derive(Debug, 
D1
eserialize)]
Unexecuted instantiation: <obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0}
Unexecuted instantiation: <<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#1}
Unexecuted instantiation: <<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#1}
Unexecuted instantiation: <<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0}
Unexecuted instantiation: <<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::MediaStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
482
#[serde(rename_all = "camelCase")]
483
pub struct MediaStatus {
484
    /// State of the media input.
485
    pub media_state: MediaState,
486
    /// Total duration of the playing media. [`None`] if not playing.
487
    #[serde(deserialize_with = "crate::de::duration_millis_opt")]
488
    pub media_duration: Option<Duration>,
489
    /// Position of the cursor. [`None`] if not playing.
490
    #[serde(deserialize_with = "crate::de::duration_millis_opt")]
491
    pub media_cursor: Option<Duration>,
492
}
493
494
/// Response value for
495
/// [`get_media_input_status`](crate::client::MediaInputs::get_media_input_status) as part of
496
/// [`MediaStatus`].
497
2
#[derive(Copy, 
Clone0
,
D0
ebu
g0
, Deserialize)]
Unexecuted instantiation: <obws::responses::MediaState as core::clone::Clone>::clone
Unexecuted instantiation: <obws::responses::MediaState as core::clone::Clone>::clone
Unexecuted instantiation: <obws::responses::MediaState as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::MediaState as core::fmt::Debug>::fmt
<<obws::responses::MediaState as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::de::value::StringDeserializer<serde_json::error::Error>>
Line
Count
Source
497
1
#[derive(Copy, Clone, Debug, Deserialize)]
<obws::responses::MediaState as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
497
1
#[derive(Copy, Clone, Debug, Deserialize)]
<<obws::responses::MediaState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
497
1
#[derive(Copy, Clone, Debug, Deserialize)]
Unexecuted instantiation: <obws::responses::MediaState as serde::de::Deserialize>::deserialize::<serde::__private::de::missing_field::MissingFieldDeserializer<serde_json::error::Error>>
<<obws::responses::MediaState as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<serde_json::value::de::EnumDeserializer>
Line
Count
Source
497
1
#[derive(Copy, Clone, Debug, Deserialize)]
Unexecuted instantiation: <obws::responses::MediaState as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::MediaState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::MediaState as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::MediaState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::MediaState as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::MediaState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::MediaState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::MediaState as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_>
Unexecuted instantiation: <<obws::responses::MediaState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::MediaState as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_>
Unexecuted instantiation: <<obws::responses::MediaState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::MediaState as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::MediaState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::MediaState as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::MediaState as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::MediaState as serde::de::Deserialize>::deserialize::<_>
498
pub enum MediaState {
499
    /// No state.
500
    #[serde(rename = "OBS_MEDIA_STATE_NONE")]
501
    None,
502
    /// Media is playing.
503
    #[serde(rename = "OBS_MEDIA_STATE_PLAYING")]
504
    Playing,
505
    /// Opening file for replay.
506
    #[serde(rename = "OBS_MEDIA_STATE_OPENING")]
507
    Opening,
508
    /// Buffering data for replay.
509
    #[serde(rename = "OBS_MEDIA_STATE_BUFFERING")]
510
    Buffering,
511
    /// Media is paused.
512
    #[serde(rename = "OBS_MEDIA_STATE_PAUSED")]
513
    Paused,
514
    /// Media stopped.
515
    #[serde(rename = "OBS_MEDIA_STATE_STOPPED")]
516
    Stopped,
517
    /// All media in the play-list played.
518
    #[serde(rename = "OBS_MEDIA_STATE_ENDED")]
519
    Ended,
520
    /// Error occurred while trying to play the media.
521
    #[serde(rename = "OBS_MEDIA_STATE_ERROR")]
522
    Error,
523
    /// Unknown state.
524
    #[serde(other)]
525
    Unknown,
526
}
527
528
/// Response value for [`get_record_status`](crate::client::Recording::get_record_status).
529
182
#[derive(
Debug0
,
D112
eserialize)]
Unexecuted instantiation: <obws::responses::RecordStatus as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::RecordStatus as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>::{closure#1}
Unexecuted instantiation: <<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>::{closure#0}
<<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
529
84
#[derive(Debug, 
D14
eserialize)]
<<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
529
70
#[derive(Debug, Deserialize)]
<<<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
529
14
#[derive(Debug, Deserialize)]
<<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
529
70
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Unexecuted instantiation: <<<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
529
14
#[derive(Debug, Deserialize)]
<<<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
529
14
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#1}
Unexecuted instantiation: <<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0}
Unexecuted instantiation: <<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#1}
Unexecuted instantiation: <<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0}
Unexecuted instantiation: <<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::responses::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
530
#[serde(rename_all = "camelCase")]
531
pub struct RecordStatus {
532
    /// Whether the output is active.
533
    pub output_active: bool,
534
    /// Whether the output is paused.
535
    pub output_paused: bool,
536
    /// Current formatted time code string for the output.
537
    #[serde(deserialize_with = "crate::de::duration_timecode")]
538
    pub output_timecode: Duration,
539
    /// Current duration in milliseconds for the output.
540
    #[serde(deserialize_with = "crate::de::duration_millis")]
541
    pub output_duration: Duration,
542
    /// Number of bytes sent by the output.
543
    pub output_bytes: u64,
544
}
545
546
102
#[derive(
Debug0
,
D68
eserialize)]
Unexecuted instantiation: <obws::responses::OutputActive as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::OutputActive as core::fmt::Debug>::fmt
<obws::responses::OutputActive as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
546
34
#[derive(Debug, Deserialize)]
<<obws::responses::OutputActive as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
546
34
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
546
34
#[derive(Debug, Deserialize)]
<<obws::responses::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
546
68
#[derive(Debug, 
D34
eserialize)]
Unexecuted instantiation: <<obws::responses::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::OutputActive as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::OutputActive as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::OutputActive as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::responses::OutputActive as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
547
#[serde(rename_all = "camelCase")]
548
pub(crate) struct OutputActive {
549
    /// New state of the stream output.
550
    pub output_active: bool,
551
}
552
553
6
#[derive(
Debug0
,
D4
eserialize)]
Unexecuted instantiation: <obws::responses::OutputPaused as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::OutputPaused as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::responses::OutputPaused as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::OutputPaused as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
553
2
#[derive(Debug, Deserialize)]
<<obws::responses::OutputPaused as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
553
4
#[derive(Debug, 
D2
eserialize)]
<obws::responses::OutputPaused as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
553
2
#[derive(Debug, Deserialize)]
<<obws::responses::OutputPaused as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
553
2
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::OutputPaused as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::OutputPaused as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::OutputPaused as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::OutputPaused as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::OutputPaused as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::OutputPaused as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::OutputPaused as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::OutputPaused as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::OutputPaused as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::OutputPaused as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::OutputPaused as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::OutputPaused as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::OutputPaused as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::OutputPaused as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::OutputPaused as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::OutputPaused as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::OutputPaused as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::OutputPaused as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
554
#[serde(rename_all = "camelCase")]
555
pub(crate) struct OutputPaused {
556
    pub output_paused: bool,
557
}
558
559
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::RecordDirectory as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::RecordDirectory as core::fmt::Debug>::fmt
<<obws::responses::RecordDirectory as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
559
2
#[derive(Debug, 
D1
eserialize)]
<<obws::responses::RecordDirectory as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
559
1
#[derive(Debug, Deserialize)]
<obws::responses::RecordDirectory as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
559
1
#[derive(Debug, Deserialize)]
<<obws::responses::RecordDirectory as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
559
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::RecordDirectory as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <<obws::responses::RecordDirectory as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::RecordDirectory as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::RecordDirectory as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::RecordDirectory as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::RecordDirectory as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::RecordDirectory as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::RecordDirectory as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::RecordDirectory as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::RecordDirectory as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::RecordDirectory as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::RecordDirectory as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::responses::RecordDirectory as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::RecordDirectory as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::RecordDirectory as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::RecordDirectory as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::RecordDirectory as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::RecordDirectory as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::RecordDirectory as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
560
#[serde(rename_all = "camelCase")]
561
pub(crate) struct RecordDirectory {
562
    /// Output directory.
563
    pub record_directory: String,
564
}
565
566
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::SavedReplayPath as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::SavedReplayPath as core::fmt::Debug>::fmt
<<obws::responses::SavedReplayPath as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
566
2
#[derive(Debug, 
D1
eserialize)]
<<obws::responses::SavedReplayPath as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
566
1
#[derive(Debug, Deserialize)]
<obws::responses::SavedReplayPath as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
566
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::SavedReplayPath as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::SavedReplayPath as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
566
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::SavedReplayPath as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <obws::responses::SavedReplayPath as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SavedReplayPath as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SavedReplayPath as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::SavedReplayPath as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SavedReplayPath as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::SavedReplayPath as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SavedReplayPath as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::SavedReplayPath as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::SavedReplayPath as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::SavedReplayPath as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SavedReplayPath as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::SavedReplayPath as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SavedReplayPath as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::SavedReplayPath as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SavedReplayPath as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::SavedReplayPath as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::SavedReplayPath as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
567
#[serde(rename_all = "camelCase")]
568
pub(crate) struct SavedReplayPath {
569
    pub saved_replay_path: String,
570
}
571
572
9
#[derive(
Debug0
,
D6
eserialize)]
Unexecuted instantiation: <obws::responses::SceneItemId as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::SceneItemId as core::fmt::Debug>::fmt
<<obws::responses::SceneItemId as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
572
3
#[derive(Debug, Deserialize)]
<<obws::responses::SceneItemId as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
572
3
#[derive(Debug, Deserialize)]
<obws::responses::SceneItemId as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
572
3
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::SceneItemId as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::SceneItemId as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
572
6
#[derive(Debug, 
D3
eserialize)]
Unexecuted instantiation: <<obws::responses::SceneItemId as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::SceneItemId as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SceneItemId as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItemId as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::SceneItemId as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::SceneItemId as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <obws::responses::SceneItemId as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItemId as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SceneItemId as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::SceneItemId as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::SceneItemId as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItemId as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::SceneItemId as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::SceneItemId as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::SceneItemId as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SceneItemId as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::SceneItemId as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItemId as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
573
#[serde(rename_all = "camelCase")]
574
pub(crate) struct SceneItemId {
575
    /// Numeric ID of the scene item.
576
    pub scene_item_id: i64,
577
}
578
579
/// Response value for
580
/// [`get_scene_item_transform`](crate::client::SceneItems::get_scene_item_transform).
581
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::GetSceneItemTransform as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::GetSceneItemTransform as core::fmt::Debug>::fmt
<<obws::responses::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
581
1
#[derive(Debug, Deserialize)]
<<obws::responses::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
581
1
#[derive(Debug, Deserialize)]
<<obws::responses::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
581
2
#[derive(Debug, 
D1
eserialize)]
Unexecuted instantiation: <<obws::responses::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<obws::responses::GetSceneItemTransform as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
581
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <obws::responses::GetSceneItemTransform as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <obws::responses::GetSceneItemTransform as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
582
#[serde(rename_all = "camelCase")]
583
pub(crate) struct GetSceneItemTransform {
584
    pub scene_item_transform: SceneItemTransform,
585
}
586
587
/// Response value for
588
/// [`get_scene_item_transform`](crate::client::SceneItems::get_scene_item_transform).
589
39
#[derive(
Clone0
,
Debug0
,
D20
ese
rializ1
e)]
Unexecuted instantiation: <obws::responses::SceneItemTransform as core::clone::Clone>::clone
Unexecuted instantiation: <obws::responses::SceneItemTransform as core::clone::Clone>::clone
Unexecuted instantiation: <obws::responses::SceneItemTransform as core::clone::Clone>::clone
Unexecuted instantiation: <obws::responses::SceneItemTransform as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::SceneItemTransform as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::<serde::__private::de::missing_field::MissingFieldDeserializer<serde_json::error::Error>>
<<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
589
18
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Unexecuted instantiation: <<<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Unexecuted instantiation: <<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error>>::{closure#1}
<<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
589
18
#[derive(Clone, Debug, Deserialize)]
<<<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
589
1
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
589
1
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>::{closure#1}
Unexecuted instantiation: <<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
Unexecuted instantiation: <<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error>>::{closure#0}
Unexecuted instantiation: <<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error>>
<<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
589
19
#[derive(Clone, Debug, 
Dese1
rializ1
e)]
<<<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
589
1
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>::{closure#0}
Unexecuted instantiation: <<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#1}
Unexecuted instantiation: <<<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0}
Unexecuted instantiation: <<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0}
Unexecuted instantiation: <<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#1}
Unexecuted instantiation: <<<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
590
#[serde(rename_all = "camelCase")]
591
pub struct SceneItemTransform {
592
    /// Base width (without scaling) of the source.
593
    pub source_width: f32,
594
    /// Base height (without scaling) of the source.
595
    pub source_height: f32,
596
    /// The x position of the source from the left.
597
    pub position_x: f32,
598
    /// The y position of the source from the top.
599
    pub position_y: f32,
600
    /// The clockwise rotation of the scene item in degrees around the point of alignment.
601
    pub rotation: f32,
602
    /// The x-scale factor of the source.
603
    pub scale_x: f32,
604
    /// The y-scale factor of the source.
605
    pub scale_y: f32,
606
    /// Scene item width (base source width multiplied by the horizontal scaling factor).
607
    pub width: f32,
608
    /// Scene item height (base source height multiplied by the vertical scaling factor).
609
    pub height: f32,
610
    /// The point on the source that the item is manipulated from.
611
    #[serde(deserialize_with = "crate::de::bitflags_u8")]
612
    pub alignment: Alignment,
613
    /// Type of bounding box.
614
    pub bounds_type: BoundsType,
615
    /// Alignment of the bounding box.
616
    #[serde(deserialize_with = "crate::de::bitflags_u8")]
617
    pub bounds_alignment: Alignment,
618
    /// Width of the bounding box.
619
    pub bounds_width: f32,
620
    /// Height of the bounding box.
621
    pub bounds_height: f32,
622
    /// The number of pixels cropped off the left of the source before scaling.
623
    pub crop_left: u32,
624
    /// The number of pixels cropped off the right of the source before scaling.
625
    pub crop_right: u32,
626
    /// The number of pixels cropped off the top of the source before scaling.
627
    pub crop_top: u32,
628
    /// The number of pixels cropped off the bottom of the source before scaling.
629
    pub crop_bottom: u32,
630
}
631
632
/// Response value for
633
/// [`get_scene_item_enabled`](crate::client::SceneItems::get_scene_item_enabled).
634
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::SceneItemEnabled as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::SceneItemEnabled as core::fmt::Debug>::fmt
<<obws::responses::SceneItemEnabled as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
634
1
#[derive(Debug, Deserialize)]
<obws::responses::SceneItemEnabled as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
634
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::SceneItemEnabled as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::SceneItemEnabled as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
634
2
#[derive(Debug, 
D1
eserialize)]
<<obws::responses::SceneItemEnabled as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
634
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::SceneItemEnabled as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::SceneItemEnabled as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItemEnabled as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::SceneItemEnabled as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::SceneItemEnabled as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SceneItemEnabled as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::SceneItemEnabled as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::SceneItemEnabled as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItemEnabled as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::SceneItemEnabled as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SceneItemEnabled as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItemEnabled as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::responses::SceneItemEnabled as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItemEnabled as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::SceneItemEnabled as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::SceneItemEnabled as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SceneItemEnabled as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::SceneItemEnabled as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
635
#[serde(rename_all = "camelCase")]
636
pub(crate) struct SceneItemEnabled {
637
    /// Whether the scene item is enabled.
638
    pub scene_item_enabled: bool,
639
}
640
641
/// Response value for [`get_scene_item_locked`](crate::client::SceneItems::get_scene_item_locked).
642
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::SceneItemLocked as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::SceneItemLocked as core::fmt::Debug>::fmt
<<obws::responses::SceneItemLocked as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
642
2
#[derive(Debug, 
D1
eserialize)]
<obws::responses::SceneItemLocked as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
642
1
#[derive(Debug, Deserialize)]
<<obws::responses::SceneItemLocked as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
642
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::SceneItemLocked as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::SceneItemLocked as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
642
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::SceneItemLocked as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::SceneItemLocked as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::SceneItemLocked as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::SceneItemLocked as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SceneItemLocked as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <obws::responses::SceneItemLocked as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItemLocked as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItemLocked as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::SceneItemLocked as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SceneItemLocked as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItemLocked as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::SceneItemLocked as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <obws::responses::SceneItemLocked as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItemLocked as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::SceneItemLocked as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SceneItemLocked as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SceneItemLocked as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::SceneItemLocked as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
643
#[serde(rename_all = "camelCase")]
644
pub(crate) struct SceneItemLocked {
645
    /// Whether the scene item is locked.
646
    pub scene_item_locked: bool,
647
}
648
649
/// Response value for [`get_scene_item_index`](crate::client::SceneItems::get_scene_item_index).
650
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::SceneItemIndex as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::SceneItemIndex as core::fmt::Debug>::fmt
<<obws::responses::SceneItemIndex as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
650
2
#[derive(Debug, 
D1
eserialize)]
<obws::responses::SceneItemIndex as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
650
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::SceneItemIndex as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::SceneItemIndex as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
650
1
#[derive(Debug, Deserialize)]
<<obws::responses::SceneItemIndex as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
650
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::SceneItemIndex as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::SceneItemIndex as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItemIndex as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::SceneItemIndex as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::SceneItemIndex as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SceneItemIndex as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::SceneItemIndex as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::SceneItemIndex as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItemIndex as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::SceneItemIndex as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SceneItemIndex as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::SceneItemIndex as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::SceneItemIndex as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItemIndex as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <obws::responses::SceneItemIndex as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItemIndex as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::SceneItemIndex as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SceneItemIndex as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
651
#[serde(rename_all = "camelCase")]
652
pub(crate) struct SceneItemIndex {
653
    /// Index position of the scene item.
654
    pub scene_item_index: u32,
655
}
656
657
/// Response value for
658
/// [`get_scene_item_private_settings`](crate::client::SceneItems::get_scene_item_private_settings).
659
0
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <obws::responses::SceneItemSettings<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::SceneItemSettings<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::responses::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <obws::responses::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
660
#[serde(rename_all = "camelCase")]
661
pub(crate) struct SceneItemSettings<T> {
662
    pub scene_item_settings: T,
663
}
664
665
/// Response value for
666
/// [`get_input_audio_sync_offset`](crate::client::Inputs::get_input_audio_sync_offset).
667
4
#[derive(
Debug0
,
D3
ese
rializ0
e)]
Unexecuted instantiation: <obws::responses::AudioSyncOffset as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::AudioSyncOffset as core::fmt::Debug>::fmt
<<<obws::responses::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
667
1
#[derive(Debug, Deserialize)]
<<obws::responses::AudioSyncOffset as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
667
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <<<obws::responses::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
<<obws::responses::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
667
2
#[derive(Debug, 
D1
eserialize)]
Unexecuted instantiation: <<obws::responses::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>::{closure#0}
<<obws::responses::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
667
1
#[derive(Debug, Deserialize)]
<obws::responses::AudioSyncOffset as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
667
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::AudioSyncOffset as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <obws::responses::AudioSyncOffset as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::AudioSyncOffset as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::responses::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0}
Unexecuted instantiation: <<obws::responses::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::AudioSyncOffset as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::responses::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::AudioSyncOffset as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <obws::responses::AudioSyncOffset as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::responses::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::AudioSyncOffset as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::AudioSyncOffset as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<<obws::responses::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0}
Unexecuted instantiation: <<obws::responses::AudioSyncOffset as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::AudioSyncOffset as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::AudioSyncOffset as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
668
#[serde(rename_all = "camelCase")]
669
pub(crate) struct AudioSyncOffset {
670
    /// Audio sync offset in milliseconds.
671
    #[serde(deserialize_with = "crate::de::duration_millis")]
672
    pub input_audio_sync_offset: Duration,
673
}
674
675
/// Response value for
676
/// [`get_input_audio_monitor_type`](crate::client::Inputs::get_input_audio_monitor_type).
677
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::AudioMonitorType as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::AudioMonitorType as core::fmt::Debug>::fmt
<<obws::responses::AudioMonitorType as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
677
1
#[derive(Debug, Deserialize)]
<obws::responses::AudioMonitorType as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
677
1
#[derive(Debug, Deserialize)]
<<obws::responses::AudioMonitorType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
677
2
#[derive(Debug, 
D1
eserialize)]
<<obws::responses::AudioMonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
677
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::AudioMonitorType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <<obws::responses::AudioMonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::responses::AudioMonitorType as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::AudioMonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::AudioMonitorType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::AudioMonitorType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::AudioMonitorType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::AudioMonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::AudioMonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::AudioMonitorType as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::AudioMonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::AudioMonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::AudioMonitorType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::AudioMonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::AudioMonitorType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::AudioMonitorType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::AudioMonitorType as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::AudioMonitorType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <obws::responses::AudioMonitorType as serde::de::Deserialize>::deserialize::<_>
678
#[serde(rename_all = "camelCase")]
679
pub(crate) struct AudioMonitorType {
680
    /// Audio monitor type.
681
    pub monitor_type: MonitorType,
682
}
683
684
/// Response value for
685
/// [`get_input_properties_list_property_items`](crate::client::Inputs::get_input_properties_list_property_items).
686
0
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <obws::responses::ListPropertyItems as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::ListPropertyItems as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::responses::ListPropertyItems as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::ListPropertyItems as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::ListPropertyItems as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <obws::responses::ListPropertyItems as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::ListPropertyItems as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::ListPropertyItems as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::ListPropertyItems as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::ListPropertyItems as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::ListPropertyItems as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::ListPropertyItems as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::ListPropertyItems as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::ListPropertyItems as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::ListPropertyItems as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::ListPropertyItems as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::ListPropertyItems as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::ListPropertyItems as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::ListPropertyItems as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::ListPropertyItems as serde::de::Deserialize>::deserialize::<_>
687
#[serde(rename_all = "camelCase")]
688
pub(crate) struct ListPropertyItems {
689
    /// Array of items in the list property.
690
    pub property_items: Vec<ListPropertyItem>,
691
}
692
693
/// Response value for
694
/// [`get_input_properties_list_property_items`](crate::client::Inputs::get_input_properties_list_property_items).
695
0
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <obws::responses::ListPropertyItem as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::ListPropertyItem as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::responses::ListPropertyItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::ListPropertyItem as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::ListPropertyItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::ListPropertyItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::ListPropertyItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::ListPropertyItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::ListPropertyItem as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::ListPropertyItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::ListPropertyItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::ListPropertyItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::ListPropertyItem as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::ListPropertyItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::ListPropertyItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::responses::ListPropertyItem as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::ListPropertyItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::ListPropertyItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::ListPropertyItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::ListPropertyItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
696
#[serde(rename_all = "camelCase")]
697
pub struct ListPropertyItem {
698
    /// Name of the item.
699
    pub item_name: String,
700
    /// Whether this item is enabled in the UI.
701
    pub item_enabled: bool,
702
    /// Content of the item, depending on what it represents.
703
    pub item_value: serde_json::Value,
704
}
705
706
/// Response value for [`get_scene_item_list`](crate::client::SceneItems::get_scene_item_list) and
707
/// [`get_group_scene_item_list`](crate::client::SceneItems::get_group_scene_item_list).
708
6
#[derive(
Debug0
,
D4
eserialize)]
Unexecuted instantiation: <obws::responses::SceneItemList as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::SceneItemList as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::responses::SceneItemList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::SceneItemList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
708
2
#[derive(Debug, Deserialize)]
<<obws::responses::SceneItemList as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
708
2
#[derive(Debug, Deserialize)]
<obws::responses::SceneItemList as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
708
2
#[derive(Debug, Deserialize)]
<<obws::responses::SceneItemList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
708
4
#[derive(Debug, 
D2
eserialize)]
Unexecuted instantiation: <<obws::responses::SceneItemList as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItemList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::SceneItemList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::SceneItemList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::SceneItemList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::SceneItemList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::SceneItemList as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItemList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SceneItemList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::SceneItemList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::SceneItemList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::SceneItemList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::SceneItemList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::SceneItemList as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItemList as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItemList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::SceneItemList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::SceneItemList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
709
#[serde(rename_all = "camelCase")]
710
pub(crate) struct SceneItemList {
711
    /// Array of scene items in the scene or group.
712
    pub scene_items: Vec<SceneItem>,
713
}
714
715
/// Response value for [`get_scene_item_list`](crate::client::SceneItems::get_scene_item_list) and
716
/// [`get_group_scene_item_list`](crate::client::SceneItems::get_group_scene_item_list).
717
65
#[derive(
Debug0
,
D30
ese
rializ35
e)]
Unexecuted instantiation: <obws::responses::SceneItem as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::SceneItem as core::fmt::Debug>::fmt
<<obws::responses::SceneItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
717
35
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::SceneItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<obws::responses::SceneItem as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
717
5
#[derive(Debug, Deserialize)]
<<obws::responses::SceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
717
30
#[derive(Debug, Deserialize)]
<<obws::responses::SceneItem as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
717
30
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::SceneItem as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::SceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::SceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::SceneItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SceneItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <obws::responses::SceneItem as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::SceneItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::SceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::SceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::responses::SceneItem as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SceneItem as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::SceneItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SceneItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
718
#[serde(rename_all = "camelCase")]
719
pub struct SceneItem {
720
    /// Identifier of the scene item.
721
    pub scene_item_id: i64,
722
    /// Positional index within a scene.
723
    pub scene_item_index: u32,
724
    /// Name of this source.
725
    pub source_name: String,
726
    /// The kind of source this item represents.
727
    pub source_type: SourceType,
728
    /// Kind of input. Only present if this is a [`SourceType::Input`].
729
    pub input_kind: Option<String>,
730
    /// Whether this item is a group. Only present if this is a [`SourceType::Scene`].
731
    pub is_group: Option<bool>,
732
}
733
734
/// Kind of source that is represented by a [`SceneItem`].
735
10
#[derive(Copy, 
Clone0
,
D0
ebu
g0
, Deserialize)]
Unexecuted instantiation: <obws::responses::SourceType as core::clone::Clone>::clone
Unexecuted instantiation: <obws::responses::SourceType as core::clone::Clone>::clone
Unexecuted instantiation: <obws::responses::SourceType as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::SourceType as core::fmt::Debug>::fmt
<obws::responses::SourceType as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
735
5
#[derive(Copy, Clone, Debug, Deserialize)]
<<obws::responses::SourceType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
735
5
#[derive(Copy, Clone, Debug, Deserialize)]
Unexecuted instantiation: <obws::responses::SourceType as serde::de::Deserialize>::deserialize::<serde::__private::de::missing_field::MissingFieldDeserializer<serde_json::error::Error>>
<<obws::responses::SourceType as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::de::value::StringDeserializer<serde_json::error::Error>>
Line
Count
Source
735
5
#[derive(Copy, Clone, Debug, Deserialize)]
<<obws::responses::SourceType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<serde_json::value::de::EnumDeserializer>
Line
Count
Source
735
5
#[derive(Copy, Clone, Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::SourceType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::SourceType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::SourceType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_>
Unexecuted instantiation: <<obws::responses::SourceType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SourceType as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SourceType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::SourceType as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SourceType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::SourceType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SourceType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::SourceType as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SourceType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::SourceType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SourceType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::SourceType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_>
Unexecuted instantiation: <obws::responses::SourceType as serde::de::Deserialize>::deserialize::<_>
736
pub enum SourceType {
737
    /// Input source from outside of OBS.
738
    #[serde(rename = "OBS_SOURCE_TYPE_INPUT")]
739
    Input,
740
    /// Filter applied to other items.
741
    #[serde(rename = "OBS_SOURCE_TYPE_FILTER")]
742
    Filter,
743
    /// Transition when switching scenes.
744
    #[serde(rename = "OBS_SOURCE_TYPE_TRANSITION")]
745
    Transition,
746
    /// Scene in OBS.
747
    #[serde(rename = "OBS_SOURCE_TYPE_SCENE")]
748
    Scene,
749
}
750
751
/// Response value for [`get_scene_list`](crate::client::Scenes::get_scene_list).
752
98
#[derive(
Debug0
,
D42
ese
rializ14
e)]
Unexecuted instantiation: <obws::responses::Scenes as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::Scenes as core::fmt::Debug>::fmt
<<obws::responses::Scenes as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
752
42
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::Scenes as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::Scenes as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
752
42
#[derive(Debug, Deserialize)]
<<obws::responses::Scenes as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
752
56
#[derive(Debug, 
Dese14
rializ14
e)]
<obws::responses::Scenes as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
752
14
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::Scenes as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Scenes as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <obws::responses::Scenes as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Scenes as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::Scenes as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::Scenes as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::Scenes as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Scenes as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::Scenes as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Scenes as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::Scenes as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::Scenes as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Scenes as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::Scenes as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Scenes as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Scenes as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <obws::responses::Scenes as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Scenes as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
753
#[serde(rename_all = "camelCase")]
754
pub struct Scenes {
755
    /// Current program scene.
756
    pub current_program_scene_name: Option<String>,
757
    /// Current preview scene. [`None`] if not in studio mode.
758
    pub current_preview_scene_name: Option<String>,
759
    /// Array of scenes in OBS.
760
    pub scenes: Vec<Scene>,
761
}
762
763
/// Response value for [`get_scene_list`](crate::client::Scenes::get_scene_list) as part of
764
/// [`Scenes`].
765
140
#[derive(
Debug0
,
D56
ese
rializ0
e)]
Unexecuted instantiation: <obws::responses::Scene as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::Scene as core::fmt::Debug>::fmt
<<obws::responses::Scene as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
765
56
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::Scene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <<obws::responses::Scene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
<<obws::responses::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
765
56
#[derive(Debug, Deserialize)]
<obws::responses::Scene as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
765
28
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::Scene as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::Scene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::Scene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <obws::responses::Scene as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Scene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::Scene as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::responses::Scene as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Scene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::Scene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Scene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
766
#[serde(rename_all = "camelCase")]
767
pub struct Scene {
768
    /// Name of the scene.
769
    pub scene_name: String,
770
    /// Positional index in the list of scenes.
771
    pub scene_index: usize,
772
}
773
774
/// Response value for [`get_group_list`](crate::client::Scenes::get_group_list).
775
42
#[derive(
Debug0
,
D28
eserialize)]
Unexecuted instantiation: <obws::responses::Groups as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::Groups as core::fmt::Debug>::fmt
<<obws::responses::Groups as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
775
14
#[derive(Debug, Deserialize)]
<obws::responses::Groups as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
775
14
#[derive(Debug, Deserialize)]
<<obws::responses::Groups as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
775
14
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::Groups as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::Groups as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
775
28
#[derive(Debug, 
D14
eserialize)]
Unexecuted instantiation: <<obws::responses::Groups as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::Groups as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Groups as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <obws::responses::Groups as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Groups as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::Groups as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Groups as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::Groups as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Groups as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::Groups as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::Groups as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Groups as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::Groups as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::Groups as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Groups as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::Groups as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::Groups as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Groups as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
776
#[serde(rename_all = "camelCase")]
777
pub(crate) struct Groups {
778
    /// Array of group names.
779
    pub groups: Vec<String>,
780
}
781
782
/// Response value for
783
/// [`get_current_program_scene`](crate::client::Scenes::get_current_program_scene).
784
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::CurrentProgramScene as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::CurrentProgramScene as core::fmt::Debug>::fmt
<obws::responses::CurrentProgramScene as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
784
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::CurrentProgramScene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::CurrentProgramScene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
784
1
#[derive(Debug, Deserialize)]
<<obws::responses::CurrentProgramScene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
784
2
#[derive(Debug, 
D1
eserialize)]
<<obws::responses::CurrentProgramScene as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
784
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::CurrentProgramScene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::CurrentProgramScene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::CurrentProgramScene as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::CurrentProgramScene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <obws::responses::CurrentProgramScene as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::CurrentProgramScene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::CurrentProgramScene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::CurrentProgramScene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::CurrentProgramScene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::CurrentProgramScene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::CurrentProgramScene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::CurrentProgramScene as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::CurrentProgramScene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::CurrentProgramScene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::CurrentProgramScene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::CurrentProgramScene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <obws::responses::CurrentProgramScene as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::CurrentProgramScene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
785
#[serde(rename_all = "camelCase")]
786
pub(crate) struct CurrentProgramScene {
787
    /// Current program scene.
788
    pub current_program_scene_name: String,
789
}
790
791
/// Response value for
792
/// [`get_current_preview_scene`](crate::client::Scenes::get_current_preview_scene).
793
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::CurrentPreviewScene as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::CurrentPreviewScene as core::fmt::Debug>::fmt
<obws::responses::CurrentPreviewScene as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
793
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
793
2
#[derive(Debug, 
D1
eserialize)]
<<obws::responses::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
793
1
#[derive(Debug, Deserialize)]
<<obws::responses::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
793
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <obws::responses::CurrentPreviewScene as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::CurrentPreviewScene as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
794
#[serde(rename_all = "camelCase")]
795
pub(crate) struct CurrentPreviewScene {
796
    /// Current preview scene.
797
    pub current_preview_scene_name: String,
798
}
799
800
/// Response value for
801
/// [`get_scene_scene_transition_override`](crate::client::Scenes::get_scene_scene_transition_override).
802
6
#[derive(
Debug0
,
D4
eserialize)]
Unexecuted instantiation: <obws::responses::SceneTransitionOverride as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::SceneTransitionOverride as core::fmt::Debug>::fmt
Unexecuted instantiation: <<<obws::responses::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Unexecuted instantiation: <<obws::responses::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>::{closure#0}
<<<obws::responses::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
802
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
802
2
#[derive(Debug, Deserialize)]
<obws::responses::SceneTransitionOverride as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
802
1
#[derive(Debug, Deserialize)]
<<obws::responses::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
802
2
#[derive(Debug, Deserialize)]
<<obws::responses::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
802
3
#[derive(Debug, 
D1
eserialize)]
Unexecuted instantiation: <<obws::responses::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <obws::responses::SceneTransitionOverride as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::responses::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0}
Unexecuted instantiation: <<<obws::responses::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0}
Unexecuted instantiation: <<<obws::responses::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::SceneTransitionOverride as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::responses::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
803
#[serde(rename_all = "camelCase")]
804
pub struct SceneTransitionOverride {
805
    /// Name of the overridden scene transition.
806
    pub transition_name: Option<String>,
807
    /// Duration of the overridden scene transition.
808
    #[serde(deserialize_with = "crate::de::duration_millis_opt")]
809
    pub transition_duration: Option<Duration>,
810
}
811
812
/// Response value for [`get_source_active`](crate::client::Sources::get_source_active).
813
5
#[derive(
Debug0
,
D3
eserialize)]
Unexecuted instantiation: <obws::responses::SourceActive as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::SourceActive as core::fmt::Debug>::fmt
<obws::responses::SourceActive as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
813
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::SourceActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::SourceActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
813
3
#[derive(Debug, 
D1
eserialize)]
<<obws::responses::SourceActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
813
2
#[derive(Debug, Deserialize)]
<<obws::responses::SourceActive as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
813
2
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::SourceActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::SourceActive as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SourceActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::SourceActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SourceActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::SourceActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::SourceActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::SourceActive as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SourceActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::SourceActive as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SourceActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SourceActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::SourceActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::SourceActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::SourceActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::SourceActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::SourceActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::SourceActive as serde::de::Deserialize>::deserialize::<_>
814
#[serde(rename_all = "camelCase")]
815
pub struct SourceActive {
816
    /// Whether the source is showing in program.
817
    pub video_active: bool,
818
    /// Whether the source is showing in the UI (preview, projector, properties).
819
    pub video_showing: bool,
820
}
821
822
/// Response value for [`get_source_screenshot`](crate::client::Sources::get_source_screenshot).
823
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::ImageData as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::ImageData as core::fmt::Debug>::fmt
<<obws::responses::ImageData as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
823
2
#[derive(Debug, 
D1
eserialize)]
Unexecuted instantiation: <<obws::responses::ImageData as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::ImageData as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
823
1
#[derive(Debug, Deserialize)]
<obws::responses::ImageData as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
823
1
#[derive(Debug, Deserialize)]
<<obws::responses::ImageData as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
823
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <obws::responses::ImageData as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::ImageData as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::ImageData as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::ImageData as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::ImageData as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::ImageData as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::ImageData as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::ImageData as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::ImageData as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::ImageData as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::ImageData as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::ImageData as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::ImageData as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::ImageData as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::ImageData as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::ImageData as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::ImageData as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <obws::responses::ImageData as serde::de::Deserialize>::deserialize::<_>
824
#[serde(rename_all = "camelCase")]
825
pub(crate) struct ImageData {
826
    /// Base64-encoded screenshot.
827
    pub image_data: String,
828
}
829
830
/// Response value for [`get_stream_status`](crate::client::Streaming::get_stream_status).
831
17
#[derive(
Debug0
,
D9
ese
rializ0
e)]
Unexecuted instantiation: <obws::responses::StreamStatus as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::StreamStatus as core::fmt::Debug>::fmt
<<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
831
7
#[derive(Debug, Deserialize)]
<<<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
831
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Unexecuted instantiation: <<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <<<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
831
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>::{closure#0}
<<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
831
7
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>::{closure#1}
<<<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
831
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#1}
Unexecuted instantiation: <<<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0}
Unexecuted instantiation: <<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0}
Unexecuted instantiation: <<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#1}
Unexecuted instantiation: <<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::StreamStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
832
#[serde(rename_all = "camelCase")]
833
pub struct StreamStatus {
834
    /// Whether the output is active.
835
    pub output_active: bool,
836
    /// Whether the output is currently reconnecting.
837
    pub output_reconnecting: bool,
838
    /// Current time code for the output.
839
    #[serde(deserialize_with = "crate::de::duration_timecode")]
840
    pub output_timecode: Duration,
841
    /// Current duration for the output.
842
    #[serde(deserialize_with = "crate::de::duration_millis")]
843
    pub output_duration: Duration,
844
    /// Number of bytes sent by the output.
845
    pub output_bytes: u64,
846
    /// Number of frames skipped by the output's process.
847
    pub output_skipped_frames: u32,
848
    /// Total number of frames delivered by the output's process.
849
    pub output_total_frames: u32,
850
}
851
852
/// Response value for
853
/// [`get_transition_kind_list`](crate::client::Transitions::get_transition_kind_list).
854
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::TransitionKinds as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::TransitionKinds as core::fmt::Debug>::fmt
<obws::responses::TransitionKinds as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
854
1
#[derive(Debug, Deserialize)]
<<obws::responses::TransitionKinds as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
854
2
#[derive(Debug, 
D1
eserialize)]
<<obws::responses::TransitionKinds as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
854
1
#[derive(Debug, Deserialize)]
<<obws::responses::TransitionKinds as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
854
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::TransitionKinds as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <<obws::responses::TransitionKinds as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <obws::responses::TransitionKinds as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::TransitionKinds as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::TransitionKinds as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::TransitionKinds as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::TransitionKinds as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::TransitionKinds as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::TransitionKinds as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::TransitionKinds as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::TransitionKinds as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::TransitionKinds as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::TransitionKinds as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::TransitionKinds as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::TransitionKinds as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::TransitionKinds as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::TransitionKinds as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::TransitionKinds as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::TransitionKinds as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
855
#[serde(rename_all = "camelCase")]
856
pub(crate) struct TransitionKinds {
857
    /// Array of transition kinds.
858
    pub transition_kinds: Vec<String>,
859
}
860
861
/// Response value for
862
/// [`get_scene_transition_list`](crate::client::Transitions::get_scene_transition_list).
863
7
#[derive(
Debug0
,
D3
ese
rializ1
e)]
Unexecuted instantiation: <obws::responses::SceneTransitionList as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::SceneTransitionList as core::fmt::Debug>::fmt
<<obws::responses::SceneTransitionList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
863
3
#[derive(Debug, Deserialize)]
<obws::responses::SceneTransitionList as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
863
1
#[derive(Debug, Deserialize)]
<<obws::responses::SceneTransitionList as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
863
3
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::SceneTransitionList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::SceneTransitionList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
863
4
#[derive(Debug, 
Dese1
rializ1
e)]
Unexecuted instantiation: <<obws::responses::SceneTransitionList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <obws::responses::SceneTransitionList as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneTransitionList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::SceneTransitionList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::SceneTransitionList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::SceneTransitionList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SceneTransitionList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::SceneTransitionList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SceneTransitionList as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneTransitionList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <obws::responses::SceneTransitionList as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneTransitionList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::SceneTransitionList as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::SceneTransitionList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::SceneTransitionList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::SceneTransitionList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::SceneTransitionList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::SceneTransitionList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
864
#[serde(rename_all = "camelCase")]
865
pub struct SceneTransitionList {
866
    /// Name of the current scene transition.
867
    pub current_scene_transition_name: Option<String>,
868
    /// Kind of the current scene transition.
869
    pub current_scene_transition_kind: Option<String>,
870
    /// Array of transitions.
871
    pub transitions: Vec<Transition>,
872
}
873
874
/// Response value for
875
/// [`get_scene_transition_list`](crate::client::Transitions::get_scene_transition_list) as part of
876
/// [`SceneTransitionList`].
877
54
#[derive(
Debug0
,
D24
ese
rializ6
e)]
Unexecuted instantiation: <obws::responses::Transition as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::Transition as core::fmt::Debug>::fmt
<obws::responses::Transition as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
877
6
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::Transition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::Transition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
877
24
#[derive(Debug, Deserialize)]
<<obws::responses::Transition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
877
30
#[derive(Debug, 
Dese6
rializ6
e)]
<<obws::responses::Transition as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
877
24
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::Transition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::Transition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::Transition as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::Transition as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Transition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::Transition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::Transition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::Transition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Transition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Transition as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Transition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::Transition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::Transition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Transition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::responses::Transition as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Transition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Transition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::Transition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
878
#[serde(rename_all = "camelCase")]
879
pub struct Transition {
880
    /// Name of the transition.
881
    pub transition_name: String,
882
    /// Kind of the transition.
883
    pub transition_kind: String,
884
    /// Whether the transition uses a fixed (non-configurable) duration.
885
    pub transition_fixed: bool,
886
    /// Whether the transition supports being configured.
887
    pub transition_configurable: bool,
888
}
889
890
/// Response value for
891
/// [`get_current_scene_transition`](crate::client::Transitions::get_current_scene_transition).
892
14
#[derive(
Debug0
,
D7
ese
rializ1
e)]
Unexecuted instantiation: <obws::responses::CurrentSceneTransition as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::CurrentSceneTransition as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::responses::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>::{closure#0}
<<obws::responses::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
892
6
#[derive(Debug, Deserialize)]
<<<obws::responses::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
892
1
#[derive(Debug, Deserialize)]
<<obws::responses::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
892
6
#[derive(Debug, Deserialize)]
<obws::responses::CurrentSceneTransition as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
892
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <<<obws::responses::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
<<obws::responses::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
892
7
#[derive(Debug, 
Dese1
rializ1
e)]
Unexecuted instantiation: <<obws::responses::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0}
Unexecuted instantiation: <<<obws::responses::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::CurrentSceneTransition as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::responses::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::responses::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::responses::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0}
Unexecuted instantiation: <obws::responses::CurrentSceneTransition as serde::de::Deserialize>::deserialize::<_>
893
#[serde(rename_all = "camelCase")]
894
pub struct CurrentSceneTransition {
895
    /// Name of the transition.
896
    pub transition_name: String,
897
    /// Kind of the transition.
898
    pub transition_kind: String,
899
    /// Whether the transition uses a fixed (non-configurable) duration.
900
    pub transition_fixed: bool,
901
    /// Configured transition duration in milliseconds.
902
    #[serde(deserialize_with = "crate::de::duration_millis_opt")]
903
    pub transition_duration: Option<Duration>,
904
    /// Whether the transition supports being configured.
905
    pub transition_configurable: bool,
906
    /// Object of settings for the transition.
907
    pub transition_settings: Option<serde_json::Value>,
908
}
909
910
/// Response value for
911
/// [`get_current_scene_transition_cursor`](crate::client::Transitions::get_current_scene_transition_cursor).
912
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::TransitionCursor as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::TransitionCursor as core::fmt::Debug>::fmt
<obws::responses::TransitionCursor as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
912
1
#[derive(Debug, Deserialize)]
<<obws::responses::TransitionCursor as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
912
2
#[derive(Debug, 
D1
eserialize)]
<<obws::responses::TransitionCursor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
912
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::TransitionCursor as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::TransitionCursor as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
912
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::TransitionCursor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::TransitionCursor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::TransitionCursor as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::TransitionCursor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::TransitionCursor as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::TransitionCursor as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::TransitionCursor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::responses::TransitionCursor as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::TransitionCursor as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::TransitionCursor as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::TransitionCursor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::responses::TransitionCursor as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::TransitionCursor as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::TransitionCursor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::TransitionCursor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::TransitionCursor as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::TransitionCursor as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::TransitionCursor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
913
#[serde(rename_all = "camelCase")]
914
pub(crate) struct TransitionCursor {
915
    /// Cursor position, between `0.0` and `1.0`.
916
    pub transition_cursor: f32,
917
}
918
919
/// Response value for [`get_monitor_list`](crate::client::Ui::get_monitor_list).
920
0
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <obws::responses::MonitorList as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::MonitorList as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::responses::MonitorList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::MonitorList as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::MonitorList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::MonitorList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::MonitorList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::MonitorList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <obws::responses::MonitorList as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::MonitorList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::MonitorList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::MonitorList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::MonitorList as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::MonitorList as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::MonitorList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::MonitorList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::MonitorList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::MonitorList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::MonitorList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::MonitorList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
921
#[serde(rename_all = "camelCase")]
922
pub(crate) struct MonitorList {
923
    pub monitors: Vec<Monitor>,
924
}
925
926
/// Response value for [`get_monitor_list`](crate::client::Ui::get_monitor_list).
927
0
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <obws::responses::Monitor as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::Monitor as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::Monitor as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Monitor as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::Monitor as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::Monitor as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Monitor as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Monitor as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::Monitor as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::Monitor as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::Monitor as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::Monitor as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
928
#[serde(rename_all = "camelCase")]
929
pub struct Monitor {
930
    /// Name of this monitor.
931
    pub monitor_name: String,
932
    /// Pixel width.
933
    pub monitor_width: u16,
934
    /// Pixel height.
935
    pub monitor_height: u16,
936
    /// Horizontal position on the screen.
937
    pub monitor_position_x: u16,
938
    /// Vertical position on the screen.
939
    pub monitor_position_y: u16,
940
}
\ No newline at end of file +

Coverage Report

Created: 2022-07-04 16:17

src/responses/mod.rs
Line
Count
Source (jump to first uncovered line)
1
//! All responses that can be received from the API.
2
3
pub mod config;
4
pub mod filters;
5
pub mod general;
6
pub(crate) mod hotkeys;
7
pub mod inputs;
8
pub mod media_inputs;
9
pub mod outputs;
10
pub mod profiles;
11
pub mod recording;
12
pub(crate) mod replay_buffer;
13
pub mod scene_collections;
14
pub mod scene_items;
15
pub mod scenes;
16
pub mod sources;
17
pub mod streaming;
18
pub mod transitions;
19
pub mod ui;
20
pub(crate) mod virtual_cam;
21
22
use serde::{de, Deserialize, Deserializer};
23
use serde_repr::Deserialize_repr;
24
25
0
#[derive(Debug)]
Unexecuted instantiation: <obws::responses::ServerMessage as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::ServerMessage as core::fmt::Debug>::fmt
26
pub(crate) enum ServerMessage {
27
    /// First message sent from the server immediately on client connection. Contains authentication
28
    /// information if authentication is required. Also contains RPC version for version
29
    /// negotiation.
30
    Hello(Hello),
31
    /// The identify request was received and validated, and the connection is now ready for normal
32
    /// operation.
33
    Identified(Identified),
34
    /// An event coming from OBS has occurred. For example scene switched, source muted.
35
    #[cfg(feature = "events")]
36
    Event(crate::events::Event),
37
    #[cfg(not(feature = "events"))]
38
    Event,
39
    /// `obs-websocket` is responding to a request coming from a client.
40
    RequestResponse(RequestResponse),
41
    /// `obs-websocket` is responding to a request batch coming from the client.
42
    RequestBatchResponse(RequestBatchResponse),
43
}
44
45
impl<'de> Deserialize<'de> for ServerMessage {
46
624
    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
47
624
    where
48
624
        D: Deserializer<'de>,
49
624
    {
50
3.12k
        #[derive(
D1.24k
ese
rializ0
e)]
Unexecuted instantiation: <<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<serde_json::de::SeqAccess<serde_json::read::StrRead>>
<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer<serde_json::read::StrRead>>
Line
Count
Source
50
624
        #[derive(Deserialize)]
Unexecuted instantiation: <<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<serde_json::de::MapAccess<serde_json::read::StrRead>>
<<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
50
1.24k
        #[derive(Deserialize)]
<<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::de::MapKey<serde_json::read::StrRead>>
Line
Count
Source
50
1.24k
        #[derive(Deserialize)]
Unexecuted instantiation: <<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::RawServerMessage as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
51
        struct RawServerMessage {
52
            #[serde(rename = "op")]
53
            op_code: OpCode,
54
            #[serde(rename = "d")]
55
            data: serde_json::Value,
56
        }
57
58
624
        #[derive(
Deserialize_0
repr)]
Unexecuted instantiation: <<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::OpCode as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer<serde_json::read::StrRead>>
Unexecuted instantiation: <<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::OpCode as serde::de::Deserialize>::deserialize::<serde::__private::de::missing_field::MissingFieldDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::OpCode as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::OpCode as serde::de::Deserialize>::deserialize::<_>
59
        #[repr(u8)]
60
        enum OpCode {
61
            /// The initial message sent by obs-websocket to newly connected clients.
62
            Hello = 0,
63
            /// The response sent by obs-websocket to a client after it has successfully identified
64
            /// with obs-websocket.
65
            Identified = 2,
66
            /// The message sent by obs-websocket containing an event payload.
67
            Event = 5,
68
            /// The message sent by obs-websocket in response to a particular request from a client.
69
            RequestResponse = 7,
70
            /// The message sent by obs-websocket in response to a particular batch of requests from
71
            /// a client.
72
            RequestBatchResponse = 9,
73
        }
74
75
624
        let raw = RawServerMessage::deserialize(deserializer)
?0
;
76
77
624
        Ok(match raw.op_code {
78
            OpCode::Hello => {
79
18
                ServerMessage::Hello(serde_json::from_value(raw.data).map_err(de::Error::custom)
?0
)
80
            }
81
            OpCode::Identified => ServerMessage::Identified(
82
18
                serde_json::from_value(raw.data).map_err(de::Error::custom)
?0
,
83
            ),
84
            OpCode::Event => {
85
                #[cfg(feature = "events")]
86
                {
87
                    ServerMessage::Event(
88
242
                        serde_json::from_value(raw.data).map_err(de::Error::custom)
?0
,
89
                    )
90
                }
91
                #[cfg(not(feature = "events"))]
92
                {
93
                    ServerMessage::Event
94
                }
95
            }
96
            OpCode::RequestResponse => ServerMessage::RequestResponse(
97
346
                serde_json::from_value(raw.data).map_err(de::Error::custom)
?0
,
98
            ),
99
            OpCode::RequestBatchResponse => ServerMessage::RequestBatchResponse(
100
0
                serde_json::from_value(raw.data).map_err(de::Error::custom)?,
101
            ),
102
        })
103
624
    }
<obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer<serde_json::read::StrRead>>
Line
Count
Source
46
624
    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
47
624
    where
48
624
        D: Deserializer<'de>,
49
624
    {
50
        #[derive(Deserialize)]
51
        struct RawServerMessage {
52
            #[serde(rename = "op")]
53
            op_code: OpCode,
54
            #[serde(rename = "d")]
55
            data: serde_json::Value,
56
        }
57
58
        #[derive(Deserialize_repr)]
59
        #[repr(u8)]
60
        enum OpCode {
61
            /// The initial message sent by obs-websocket to newly connected clients.
62
            Hello = 0,
63
            /// The response sent by obs-websocket to a client after it has successfully identified
64
            /// with obs-websocket.
65
            Identified = 2,
66
            /// The message sent by obs-websocket containing an event payload.
67
            Event = 5,
68
            /// The message sent by obs-websocket in response to a particular request from a client.
69
            RequestResponse = 7,
70
            /// The message sent by obs-websocket in response to a particular batch of requests from
71
            /// a client.
72
            RequestBatchResponse = 9,
73
        }
74
75
624
        let raw = RawServerMessage::deserialize(deserializer)
?0
;
76
77
624
        Ok(match raw.op_code {
78
            OpCode::Hello => {
79
18
                ServerMessage::Hello(serde_json::from_value(raw.data).map_err(de::Error::custom)
?0
)
80
            }
81
            OpCode::Identified => ServerMessage::Identified(
82
18
                serde_json::from_value(raw.data).map_err(de::Error::custom)
?0
,
83
            ),
84
            OpCode::Event => {
85
                #[cfg(feature = "events")]
86
                {
87
                    ServerMessage::Event(
88
242
                        serde_json::from_value(raw.data).map_err(de::Error::custom)
?0
,
89
                    )
90
                }
91
                #[cfg(not(feature = "events"))]
92
                {
93
                    ServerMessage::Event
94
                }
95
            }
96
            OpCode::RequestResponse => ServerMessage::RequestResponse(
97
346
                serde_json::from_value(raw.data).map_err(de::Error::custom)
?0
,
98
            ),
99
            OpCode::RequestBatchResponse => ServerMessage::RequestBatchResponse(
100
0
                serde_json::from_value(raw.data).map_err(de::Error::custom)?,
101
            ),
102
        })
103
624
    }
Unexecuted instantiation: <obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::ServerMessage as serde::de::Deserialize>::deserialize::<_>
104
}
105
106
/// First message sent from the server immediately on client connection. Contains authentication
107
/// information if authentication is required. Also contains RPC version for version negotiation.
108
126
#[derive(
Debug0
,
D54
ese
rializ18
e)]
Unexecuted instantiation: <obws::responses::Hello as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::Hello as core::fmt::Debug>::fmt
<obws::responses::Hello as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
108
18
#[derive(Debug, Deserialize)]
<<obws::responses::Hello as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
108
54
#[derive(Debug, Deserialize)]
<<obws::responses::Hello as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
108
54
#[derive(Debug, Deserialize)]
<<obws::responses::Hello as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
108
72
#[derive(Debug, 
Dese18
rializ18
e)]
Unexecuted instantiation: <<obws::responses::Hello as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <obws::responses::Hello as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Hello as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::Hello as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::Hello as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::Hello as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::Hello as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::Hello as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Hello as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Hello as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Hello as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::Hello as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Hello as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Hello as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::Hello as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Hello as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::Hello as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::Hello as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::Hello as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
109
pub(crate) struct Hello {
110
    #[allow(dead_code)]
111
    #[serde(rename = "obsWebSocketVersion")]
112
    pub obs_web_socket_version: semver::Version,
113
    /// version number which gets incremented on each **breaking change** to the obs-websocket
114
    /// protocol. Its usage in this context is to provide the current RPC version that the server
115
    /// would like to use.
116
    #[serde(rename = "rpcVersion")]
117
    pub rpc_version: u32,
118
    #[serde(rename = "authentication")]
119
    pub authentication: Option<Authentication>,
120
}
121
122
/// The identify request was received and validated, and the connection is now ready for normal
123
/// operation.
124
54
#[derive(
Debug0
,
D36
eserialize)]
Unexecuted instantiation: <obws::responses::Identified as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::Identified as core::fmt::Debug>::fmt
<obws::responses::Identified as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
124
18
#[derive(Debug, Deserialize)]
<<obws::responses::Identified as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
124
36
#[derive(Debug, 
D18
eserialize)]
<<obws::responses::Identified as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
124
18
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::Identified as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::Identified as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
124
18
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::Identified as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::Identified as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::Identified as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::Identified as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Identified as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <obws::responses::Identified as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Identified as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::Identified as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Identified as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::Identified as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Identified as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Identified as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Identified as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::Identified as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::Identified as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::Identified as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Identified as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::Identified as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
125
pub(crate) struct Identified {
126
    /// The RPC (remote procedure call) version to be used.
127
    #[serde(rename = "negotiatedRpcVersion")]
128
    pub negotiated_rpc_version: u32,
129
}
130
131
/// `obs-websocket` is responding to a request coming from a client.
132
2.91k
#[derive(
Debug0
,
D1.28k
ese
rializ248
e)]
Unexecuted instantiation: <obws::responses::RequestResponse as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::RequestResponse as core::fmt::Debug>::fmt
<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
132
346
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
132
1.28k
#[derive(Debug, Deserialize)]
<<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
132
1.28k
#[derive(Debug, Deserialize)]
<<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
132
1.63k
#[derive(Debug, 
Dese248
rializ248
e)]
Unexecuted instantiation: <<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::RequestResponse as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
133
pub(crate) struct RequestResponse {
134
    #[allow(dead_code)]
135
    #[serde(rename = "requestType")]
136
    pub r#type: String,
137
    #[serde(rename = "requestId")]
138
    pub id: String,
139
    #[serde(rename = "requestStatus")]
140
    pub status: Status,
141
    #[serde(rename = "responseData", default)]
142
    pub data: serde_json::Value,
143
}
144
145
0
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <obws::responses::RequestBatchResponse as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::RequestBatchResponse as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Unexecuted instantiation: <obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::RequestBatchResponse as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
146
pub(crate) struct RequestBatchResponse {
147
    #[allow(dead_code)]
148
    #[serde(rename = "requestId")]
149
    pub id: String,
150
    #[allow(dead_code)]
151
    pub results: Vec<serde_json::Value>,
152
}
153
154
90
#[derive(
Debug0
,
D36
ese
rializ0
e)]
Unexecuted instantiation: <obws::responses::Authentication as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::Authentication as core::fmt::Debug>::fmt
<<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
154
36
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<obws::responses::Authentication as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
154
18
#[derive(Debug, Deserialize)]
<<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
154
36
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <obws::responses::Authentication as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::Authentication as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Authentication as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
155
pub(crate) struct Authentication {
156
    pub challenge: String,
157
    pub salt: String,
158
}
159
160
1.73k
#[derive(
Debug346
,
D692
ese
rializ346
e)]
<obws::responses::Status as core::fmt::Debug>::fmt
Line
Count
Source
160
346
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <obws::responses::Status as core::fmt::Debug>::fmt
<<obws::responses::Status as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
160
1.03k
#[derive(Debug, 
Dese346
rializ346
e)]
Unexecuted instantiation: <<obws::responses::Status as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <obws::responses::Status as serde::de::Deserialize>::deserialize::<serde::__private::de::missing_field::MissingFieldDeserializer<serde_json::error::Error>>
<<obws::responses::Status as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
160
692
#[derive(Debug, Deserialize)]
<obws::responses::Status as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
160
346
#[derive(Debug, Deserialize)]
<<obws::responses::Status as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
160
692
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <obws::responses::Status as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Status as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::Status as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::Status as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::Status as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::Status as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::Status as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Status as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Status as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::Status as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::Status as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::Status as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Status as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::Status as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::Status as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::Status as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::Status as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::Status as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
161
pub(crate) struct Status {
162
    /// Is true if the request resulted in [`StatusCode::Success`]. False if otherwise.
163
    pub result: bool,
164
    pub code: StatusCode,
165
    /// May be provided by the server on errors to offer further details on why a request failed.
166
    pub comment: Option<String>,
167
}
168
169
/// The status code gives information about the result of a request. It gives further insight into
170
/// what went wrong, if a request failed.
171
346
#[derive(Debug, 
Deserialize_0
repr)]
<obws::responses::StatusCode as core::fmt::Debug>::fmt
Line
Count
Source
171
346
#[derive(Debug, Deserialize_repr)]
Unexecuted instantiation: <obws::responses::StatusCode as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::StatusCode as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Unexecuted instantiation: <obws::responses::StatusCode as serde::de::Deserialize>::deserialize::<serde::__private::de::missing_field::MissingFieldDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <obws::responses::StatusCode as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::StatusCode as serde::de::Deserialize>::deserialize::<_>
172
#[repr(u16)]
173
pub enum StatusCode {
174
    /// Unknown status, should never be used.
175
    Unknown = 0,
176
177
    /// For internal use to signify a successful field check.
178
    NoError = 10,
179
180
    /// The request has succeeded.
181
    Success = 100,
182
183
    /// The `requestType` field is missing from the request data.
184
    MissingRequestType = 203,
185
    /// The request type is invalid or does not exist.
186
    UnknownRequestType = 204,
187
    /// Generic error code.
188
    ///
189
    /// **Note:** A comment is required to be provided by obs-websocket.
190
    GenericError = 205,
191
    /// The request batch execution type is not supported.
192
    UnsupportedRequestBatchExecutionType = 206,
193
194
    /// A required request field is missing.
195
    MissingRequestField = 300,
196
    /// The request does not have a valid `requestData` object.
197
    MissingRequestData = 301,
198
199
    /// Generic invalid request field message.
200
    ///
201
    /// **Note:** A comment is required to be provided by obs-websocket.
202
    InvalidRequestField = 400,
203
    /// A request field has the wrong data type.
204
    InvalidRequestFieldType = 401,
205
    /// A request field (number) is outside the allowed range.
206
    RequestFieldOutOfRange = 402,
207
    /// A request field (string or array) is empty and cannot be.
208
    RequestFieldEmpty = 403,
209
    /// There are too many request fields (For example a request takes two optional fields, where
210
    /// only one is allowed at a time).
211
    TooManyRequestFields = 404,
212
213
    /// An output is running and cannot be in order to perform the request.
214
    OutputRunning = 500,
215
    /// An output is not running and should be.
216
    OutputNotRunning = 501,
217
    /// An output is paused and should not be.
218
    OutputPaused = 502,
219
    /// An output is not paused and should be.
220
    OutputNotPaused = 503,
221
    /// An output is disabled and should not be.
222
    OutputDisabled = 504,
223
    /// Studio mode is active and cannot be.
224
    StudioModeActive = 505,
225
    /// Studio mode is not active and should be.
226
    StudioModeNotActive = 506,
227
228
    /// The resource was not found.
229
    ///
230
    /// **Note:** Resources are any kind of object in obs-websocket, like inputs, profiles, outputs,
231
    /// etc.
232
    ResourceNotFound = 600,
233
    /// The resource already exists.
234
    ResourceAlreadyExists = 601,
235
    /// The type of resource found is invalid.
236
    InvalidResourceType = 602,
237
    /// There are not enough instances of the resource in order to perform the request.
238
    NotEnoughResources = 603,
239
    /// The state of the resource is invalid. For example, if the resource is blocked from being
240
    /// accessed.
241
    InvalidResourceState = 604,
242
    /// The specified input (obs_source_t-OBS_SOURCE_TYPE_INPUT) had the wrong kind.
243
    InvalidInputKind = 605,
244
    /// The resource does not support being configured.
245
    ///
246
    /// This is particularly relevant to transitions, where they do not always have changeable
247
    /// settings.
248
    ResourceNotConfigurable = 606,
249
    /// The specified filter had the wrong kind.
250
    InvalidFilterKind = 607,
251
252
    /// Creating the resource failed.
253
    ResourceCreationFailed = 700,
254
    /// Performing an action on the resource failed.
255
    ResourceActionFailed = 701,
256
    /// Processing the request failed unexpectedly.
257
    ///
258
    /// **Note:** A comment is required to be provided by obs-websocket.
259
    RequestProcessingFailed = 702,
260
    /// The combination of request fields cannot be used to perform an action.
261
    CannotAct = 703,
262
}
\ No newline at end of file diff --git a/coverage/src/responses/outputs.rs.html b/coverage/src/responses/outputs.rs.html new file mode 100644 index 0000000..f8a8a25 --- /dev/null +++ b/coverage/src/responses/outputs.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/responses/outputs.rs
Line
Count
Source (jump to first uncovered line)
1
//! Responses related to outputs.
2
3
use serde::Deserialize;
4
use time::Duration;
5
6
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::outputs::OutputList as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::outputs::OutputList as core::fmt::Debug>::fmt
<<obws::responses::outputs::OutputList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
6
2
#[derive(Debug, 
D1
eserialize)]
Unexecuted instantiation: <<obws::responses::outputs::OutputList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::outputs::OutputList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
6
1
#[derive(Debug, Deserialize)]
<<obws::responses::outputs::OutputList as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
6
1
#[derive(Debug, Deserialize)]
<obws::responses::outputs::OutputList as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
6
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::outputs::OutputList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <obws::responses::outputs::OutputList as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputList as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::outputs::OutputList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::outputs::OutputList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::outputs::OutputList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputList as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::outputs::OutputList as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::outputs::OutputList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
7
pub(crate) struct OutputList {
8
    pub outputs: Vec<Output>,
9
}
10
11
/// Response value for [`crate::client::Outputs::list`].
12
39
#[derive(
Debug0
,
D18
ese
rializ21
e)]
Unexecuted instantiation: <obws::responses::outputs::Output as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::outputs::Output as core::fmt::Debug>::fmt
<<obws::responses::outputs::Output as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
12
21
#[derive(Debug, Deserialize)]
<obws::responses::outputs::Output as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
12
3
#[derive(Debug, Deserialize)]
<<obws::responses::outputs::Output as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
12
18
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::outputs::Output as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::outputs::Output as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
12
18
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::outputs::Output as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::outputs::Output as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::outputs::Output as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <obws::responses::outputs::Output as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::outputs::Output as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::outputs::Output as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::outputs::Output as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::outputs::Output as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::outputs::Output as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::outputs::Output as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::outputs::Output as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::outputs::Output as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::outputs::Output as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::outputs::Output as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::outputs::Output as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <obws::responses::outputs::Output as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::outputs::Output as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::outputs::Output as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
13
pub struct Output {
14
    /// Name of this output.
15
    #[serde(rename = "outputName")]
16
    pub name: String,
17
    /// The kind of output.
18
    #[serde(rename = "outputKind")]
19
    pub kind: String,
20
    /// Horizontal dimension of the output (if it is a video output).
21
    #[serde(rename = "outputWidth")]
22
    pub width: u32,
23
    /// Vertical dimension of the output (if it is a video output).
24
    #[serde(rename = "outputHeight")]
25
    pub height: u32,
26
    /// Whether this output is currently active.
27
    #[serde(rename = "outputActive")]
28
    pub active: bool,
29
    /// Additional flags to describe capabilities of the output.
30
    #[serde(rename = "outputFlags")]
31
    pub flags: OutputFlags,
32
}
33
34
/// Response value for [`crate::client::Outputs::list`] as part of [`Output`].
35
33
#[derive(
Debug0
,
D15
ese
rializ18
e)]
Unexecuted instantiation: <obws::responses::outputs::OutputFlags as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::outputs::OutputFlags as core::fmt::Debug>::fmt
<<obws::responses::outputs::OutputFlags as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
35
15
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <obws::responses::outputs::OutputFlags as serde::de::Deserialize>::deserialize::<serde::__private::de::missing_field::MissingFieldDeserializer<serde_json::error::Error>>
<<obws::responses::outputs::OutputFlags as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
35
15
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::outputs::OutputFlags as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<obws::responses::outputs::OutputFlags as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
35
3
#[derive(Debug, Deserialize)]
<<obws::responses::outputs::OutputFlags as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
35
18
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::outputs::OutputFlags as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputFlags as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputFlags as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputFlags as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <obws::responses::outputs::OutputFlags as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputFlags as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputFlags as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputFlags as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::outputs::OutputFlags as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::outputs::OutputFlags as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputFlags as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <obws::responses::outputs::OutputFlags as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputFlags as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputFlags as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputFlags as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputFlags as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::outputs::OutputFlags as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputFlags as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
36
pub struct OutputFlags {
37
    /// Output supports audio.
38
    #[serde(rename = "OBS_OUTPUT_AUDIO")]
39
    pub audio: bool,
40
    /// Output supports video.
41
    #[serde(rename = "OBS_OUTPUT_VIDEO")]
42
    pub video: bool,
43
    /// Output encodes data.
44
    #[serde(rename = "OBS_OUTPUT_ENCODED")]
45
    pub encoded: bool,
46
    /// Output supports multiple audio/video tracks.
47
    #[serde(rename = "OBS_OUTPUT_MULTI_TRACK")]
48
    pub multi_track: bool,
49
    /// Output is a service.
50
    #[serde(rename = "OBS_OUTPUT_SERVICE")]
51
    pub service: bool,
52
}
53
54
/// Response value for [`crate::client::Outputs::status`].
55
19
#[derive(
Debug0
,
D10
ese
rializ1
e)]
Unexecuted instantiation: <obws::responses::outputs::OutputStatus as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::outputs::OutputStatus as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>::{closure#1}
<<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
55
8
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>::{closure#0}
<<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
55
9
#[derive(Debug, 
Dese1
rializ1
e)]
<<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
55
8
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
<<<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
55
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
55
1
#[derive(Debug, Deserialize)]
<<<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
55
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0}
Unexecuted instantiation: <<<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#1}
Unexecuted instantiation: <<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0}
Unexecuted instantiation: <<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#1}
Unexecuted instantiation: <<<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputStatus as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
56
pub struct OutputStatus {
57
    /// Whether the output is active.
58
    #[serde(rename = "outputActive")]
59
    pub active: bool,
60
    /// Whether the output is currently reconnecting.
61
    #[serde(rename = "outputReconnecting")]
62
    pub reconnecting: bool,
63
    /// Current time code for the output.
64
    #[serde(rename = "outputTimecode", with = "crate::serde::duration_timecode")]
65
    pub timecode: Duration,
66
    /// Current duration for the output.
67
    #[serde(rename = "outputDuration", with = "crate::serde::duration_millis")]
68
    pub duration: Duration,
69
    /// Congestion of the output.
70
    #[serde(rename = "outputCongestion")]
71
    pub congestion: f32,
72
    /// Number of bytes sent by the output.
73
    #[serde(rename = "outputBytes")]
74
    pub bytes: u64,
75
    /// Number of frames skipped by the output's process.
76
    #[serde(rename = "outputSkippedFrames")]
77
    pub skipped_frames: u32,
78
    /// Total number of frames delivered by the output's process.
79
    #[serde(rename = "outputTotalFrames")]
80
    pub total_frames: u32,
81
}
82
83
6
#[derive(
Debug0
,
D4
eserialize)]
Unexecuted instantiation: <obws::responses::outputs::OutputActive as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::outputs::OutputActive as core::fmt::Debug>::fmt
<<obws::responses::outputs::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
83
2
#[derive(Debug, Deserialize)]
<<obws::responses::outputs::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
83
4
#[derive(Debug, 
D2
eserialize)]
Unexecuted instantiation: <<obws::responses::outputs::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<obws::responses::outputs::OutputActive as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
83
2
#[derive(Debug, Deserialize)]
<<obws::responses::outputs::OutputActive as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
83
2
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <obws::responses::outputs::OutputActive as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputActive as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::outputs::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::outputs::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::outputs::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputActive as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::outputs::OutputActive as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::outputs::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
84
pub(crate) struct OutputActive {
85
    /// New state of the stream output.
86
    #[serde(rename = "outputActive")]
87
    pub active: bool,
88
}
89
90
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::outputs::OutputSettings<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::outputs::OutputSettings<_> as core::fmt::Debug>::fmt
<obws::responses::outputs::OutputSettings<serde_json::value::Value> as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
90
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::outputs::OutputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<serde_json::value::Value> as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::outputs::OutputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<serde_json::value::Value> as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
90
2
#[derive(Debug, 
D1
eserialize)]
Unexecuted instantiation: <<obws::responses::outputs::OutputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<serde_json::value::Value> as serde::de::Visitor>::expecting
<<obws::responses::outputs::OutputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
90
1
#[derive(Debug, Deserialize)]
<<obws::responses::outputs::OutputSettings<_> as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
90
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::outputs::OutputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputSettings<_> as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <obws::responses::outputs::OutputSettings<_> as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::outputs::OutputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::outputs::OutputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::outputs::OutputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputSettings<_> as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::outputs::OutputSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::outputs::OutputSettings<_> as serde::de::Deserialize>::deserialize::<_>
91
pub(crate) struct OutputSettings<T> {
92
    #[serde(rename = "outputSettings")]
93
    pub settings: T,
94
}
\ No newline at end of file diff --git a/coverage/src/responses/profiles.rs.html b/coverage/src/responses/profiles.rs.html new file mode 100644 index 0000000..e646863 --- /dev/null +++ b/coverage/src/responses/profiles.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/responses/profiles.rs
Line
Count
Source (jump to first uncovered line)
1
//! Responses related to profiles.
2
3
use serde::Deserialize;
4
5
/// Response value for [`crate::client::Profiles::list`].
6
100
#[derive(
Debug0
,
D40
ese
rializ0
e)]
Unexecuted instantiation: <obws::responses::profiles::Profiles as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::profiles::Profiles as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::responses::profiles::Profiles as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
<<obws::responses::profiles::Profiles as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
6
40
#[derive(Debug, Deserialize)]
<<obws::responses::profiles::Profiles as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
6
40
#[derive(Debug, Deserialize)]
<obws::responses::profiles::Profiles as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
6
20
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::profiles::Profiles as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <obws::responses::profiles::Profiles as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::profiles::Profiles as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::profiles::Profiles as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::profiles::Profiles as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::profiles::Profiles as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::profiles::Profiles as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::profiles::Profiles as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::profiles::Profiles as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::profiles::Profiles as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::profiles::Profiles as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::profiles::Profiles as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::profiles::Profiles as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::profiles::Profiles as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::profiles::Profiles as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::profiles::Profiles as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::profiles::Profiles as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::profiles::Profiles as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::profiles::Profiles as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
7
pub struct Profiles {
8
    /// The name of the current profile.
9
    #[serde(rename = "currentProfileName")]
10
    pub current: String,
11
    /// Array of all available profiles.
12
    pub profiles: Vec<String>,
13
}
14
15
/// Response value for [`crate::client::Profiles::parameter`].
16
5
#[derive(
Debug0
,
D2
ese
rializ0
e)]
Unexecuted instantiation: <obws::responses::profiles::ProfileParameter as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::profiles::ProfileParameter as core::fmt::Debug>::fmt
<<obws::responses::profiles::ProfileParameter as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
16
2
#[derive(Debug, Deserialize)]
<obws::responses::profiles::ProfileParameter as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
16
1
#[derive(Debug, Deserialize)]
<<obws::responses::profiles::ProfileParameter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
16
2
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::profiles::ProfileParameter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <<obws::responses::profiles::ProfileParameter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<obws::responses::profiles::ProfileParameter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::profiles::ProfileParameter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <obws::responses::profiles::ProfileParameter as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::profiles::ProfileParameter as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::profiles::ProfileParameter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::profiles::ProfileParameter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::profiles::ProfileParameter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::profiles::ProfileParameter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::profiles::ProfileParameter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::profiles::ProfileParameter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::profiles::ProfileParameter as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::profiles::ProfileParameter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::profiles::ProfileParameter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::profiles::ProfileParameter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::profiles::ProfileParameter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::profiles::ProfileParameter as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::profiles::ProfileParameter as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <obws::responses::profiles::ProfileParameter as serde::de::Deserialize>::deserialize::<_>
17
pub struct ProfileParameter {
18
    /// Value associated with the parameter.
19
    #[serde(rename = "parameterValue")]
20
    pub value: Option<String>,
21
    /// Default value associated with the parameter.
22
    #[serde(rename = "defaultParameterValue")]
23
    pub default_value: Option<String>,
24
}
\ No newline at end of file diff --git a/coverage/src/responses/recording.rs.html b/coverage/src/responses/recording.rs.html new file mode 100644 index 0000000..d025a2f --- /dev/null +++ b/coverage/src/responses/recording.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/responses/recording.rs
Line
Count
Source (jump to first uncovered line)
1
//! Responses related to recording.
2
3
use serde::Deserialize;
4
use time::Duration;
5
6
/// Response value for [`crate::client::Recording::status`].
7
247
#[derive(
Debug0
,
D152
eserialize)]
Unexecuted instantiation: <obws::responses::recording::RecordStatus as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::recording::RecordStatus as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>::{closure#1}
<<<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
7
19
#[derive(Debug, Deserialize)]
<<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
7
95
#[derive(Debug, Deserialize)]
<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
7
19
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
7
95
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
<<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
7
114
#[derive(Debug, 
D19
eserialize)]
Unexecuted instantiation: <<<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
<<<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
7
19
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>::{closure#0}
Unexecuted instantiation: <<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#1}
Unexecuted instantiation: <obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0}
Unexecuted instantiation: <<<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#1}
Unexecuted instantiation: <<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0}
Unexecuted instantiation: <<<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::recording::RecordStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
8
pub struct RecordStatus {
9
    /// Whether the output is active.
10
    #[serde(rename = "outputActive")]
11
    pub active: bool,
12
    /// Whether the output is paused.
13
    #[serde(rename = "outputPaused")]
14
    pub paused: bool,
15
    /// Current formatted time code string for the output.
16
    #[serde(rename = "outputTimecode", with = "crate::serde::duration_timecode")]
17
    pub timecode: Duration,
18
    /// Current duration in milliseconds for the output.
19
    #[serde(rename = "outputDuration", with = "crate::serde::duration_millis")]
20
    pub duration: Duration,
21
    /// Number of bytes sent by the output.
22
    #[serde(rename = "outputBytes")]
23
    pub bytes: u64,
24
}
25
26
6
#[derive(
Debug0
,
D4
eserialize)]
Unexecuted instantiation: <obws::responses::recording::OutputActive as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::recording::OutputActive as core::fmt::Debug>::fmt
<<obws::responses::recording::OutputActive as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
26
2
#[derive(Debug, Deserialize)]
<<obws::responses::recording::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
26
4
#[derive(Debug, 
D2
eserialize)]
<<obws::responses::recording::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
26
2
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::recording::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<obws::responses::recording::OutputActive as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
26
2
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::recording::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <obws::responses::recording::OutputActive as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputActive as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::recording::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::recording::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::recording::OutputActive as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputActive as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
27
pub(crate) struct OutputActive {
28
    /// New state of the stream output.
29
    #[serde(rename = "outputActive")]
30
    pub active: bool,
31
}
32
33
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::recording::OutputStopped as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::recording::OutputStopped as core::fmt::Debug>::fmt
<<obws::responses::recording::OutputStopped as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
33
1
#[derive(Debug, Deserialize)]
<<obws::responses::recording::OutputStopped as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
33
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::recording::OutputStopped as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<obws::responses::recording::OutputStopped as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
33
1
#[derive(Debug, Deserialize)]
<<obws::responses::recording::OutputStopped as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
33
2
#[derive(Debug, 
D1
eserialize)]
Unexecuted instantiation: <<obws::responses::recording::OutputStopped as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputStopped as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputStopped as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputStopped as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputStopped as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <obws::responses::recording::OutputStopped as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputStopped as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputStopped as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::recording::OutputStopped as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::recording::OutputStopped as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputStopped as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::recording::OutputStopped as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputStopped as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputStopped as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::recording::OutputStopped as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputStopped as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputStopped as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputStopped as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
34
pub(crate) struct OutputStopped {
35
    /// File name for the saved recording.
36
    #[serde(rename = "outputPath")]
37
    pub path: String,
38
}
39
40
6
#[derive(
Debug0
,
D4
eserialize)]
Unexecuted instantiation: <obws::responses::recording::OutputPaused as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::recording::OutputPaused as core::fmt::Debug>::fmt
<<obws::responses::recording::OutputPaused as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
40
4
#[derive(Debug, 
D2
eserialize)]
<obws::responses::recording::OutputPaused as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
40
2
#[derive(Debug, Deserialize)]
<<obws::responses::recording::OutputPaused as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
40
2
#[derive(Debug, Deserialize)]
<<obws::responses::recording::OutputPaused as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
40
2
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::recording::OutputPaused as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <obws::responses::recording::OutputPaused as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputPaused as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputPaused as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputPaused as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputPaused as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputPaused as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputPaused as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputPaused as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::recording::OutputPaused as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::recording::OutputPaused as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputPaused as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::responses::recording::OutputPaused as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputPaused as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::recording::OutputPaused as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::recording::OutputPaused as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputPaused as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputPaused as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::recording::OutputPaused as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
41
pub(crate) struct OutputPaused {
42
    #[serde(rename = "outputPaused")]
43
    pub paused: bool,
44
}
\ No newline at end of file diff --git a/coverage/src/responses/replay_buffer.rs.html b/coverage/src/responses/replay_buffer.rs.html new file mode 100644 index 0000000..ae37365 --- /dev/null +++ b/coverage/src/responses/replay_buffer.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/responses/replay_buffer.rs
Line
Count
Source (jump to first uncovered line)
1
//! Responses related to the replay buffer.
2
3
use serde::Deserialize;
4
5
63
#[derive(
Debug0
,
D42
eserialize)]
Unexecuted instantiation: <obws::responses::replay_buffer::OutputActive as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::replay_buffer::OutputActive as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::responses::replay_buffer::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::replay_buffer::OutputActive as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
5
21
#[derive(Debug, Deserialize)]
<obws::responses::replay_buffer::OutputActive as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
5
21
#[derive(Debug, Deserialize)]
<<obws::responses::replay_buffer::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
5
42
#[derive(Debug, 
D21
eserialize)]
<<obws::responses::replay_buffer::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
5
21
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::replay_buffer::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::replay_buffer::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::replay_buffer::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::replay_buffer::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::replay_buffer::OutputActive as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::replay_buffer::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <obws::responses::replay_buffer::OutputActive as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::replay_buffer::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::replay_buffer::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::replay_buffer::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::replay_buffer::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <obws::responses::replay_buffer::OutputActive as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::replay_buffer::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::replay_buffer::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::replay_buffer::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::replay_buffer::OutputActive as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::replay_buffer::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::replay_buffer::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
6
pub(crate) struct OutputActive {
7
    /// New state of the stream output.
8
    #[serde(rename = "outputActive")]
9
    pub active: bool,
10
}
11
12
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::replay_buffer::SavedReplayPath as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::replay_buffer::SavedReplayPath as core::fmt::Debug>::fmt
<<obws::responses::replay_buffer::SavedReplayPath as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
12
2
#[derive(Debug, 
D1
eserialize)]
Unexecuted instantiation: <<obws::responses::replay_buffer::SavedReplayPath as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::replay_buffer::SavedReplayPath as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
12
1
#[derive(Debug, Deserialize)]
<obws::responses::replay_buffer::SavedReplayPath as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
12
1
#[derive(Debug, Deserialize)]
<<obws::responses::replay_buffer::SavedReplayPath as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
12
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::replay_buffer::SavedReplayPath as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::replay_buffer::SavedReplayPath as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::replay_buffer::SavedReplayPath as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <obws::responses::replay_buffer::SavedReplayPath as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::replay_buffer::SavedReplayPath as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::replay_buffer::SavedReplayPath as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::replay_buffer::SavedReplayPath as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::replay_buffer::SavedReplayPath as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::replay_buffer::SavedReplayPath as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::replay_buffer::SavedReplayPath as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::replay_buffer::SavedReplayPath as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::replay_buffer::SavedReplayPath as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::replay_buffer::SavedReplayPath as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::replay_buffer::SavedReplayPath as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::replay_buffer::SavedReplayPath as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <obws::responses::replay_buffer::SavedReplayPath as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::replay_buffer::SavedReplayPath as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::replay_buffer::SavedReplayPath as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
13
pub(crate) struct SavedReplayPath {
14
    #[serde(rename = "savedReplayPath")]
15
    pub saved_replay_path: String,
16
}
\ No newline at end of file diff --git a/coverage/src/responses/scene_collections.rs.html b/coverage/src/responses/scene_collections.rs.html new file mode 100644 index 0000000..084553e --- /dev/null +++ b/coverage/src/responses/scene_collections.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/responses/scene_collections.rs
Line
Count
Source (jump to first uncovered line)
1
//! Responses related to scene collections.
2
3
use serde::Deserialize;
4
5
/// Response value for [`crate::client::SceneCollections::list`].
6
10
#[derive(
Debug0
,
D4
ese
rializ0
e)]
Unexecuted instantiation: <obws::responses::scene_collections::SceneCollections as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::scene_collections::SceneCollections as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::responses::scene_collections::SceneCollections as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
<obws::responses::scene_collections::SceneCollections as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
6
2
#[derive(Debug, Deserialize)]
<<obws::responses::scene_collections::SceneCollections as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
6
4
#[derive(Debug, Deserialize)]
<<obws::responses::scene_collections::SceneCollections as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
6
4
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::scene_collections::SceneCollections as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <obws::responses::scene_collections::SceneCollections as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_collections::SceneCollections as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::scene_collections::SceneCollections as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_collections::SceneCollections as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::scene_collections::SceneCollections as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::scene_collections::SceneCollections as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::scene_collections::SceneCollections as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::scene_collections::SceneCollections as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_collections::SceneCollections as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_collections::SceneCollections as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <obws::responses::scene_collections::SceneCollections as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_collections::SceneCollections as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_collections::SceneCollections as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_collections::SceneCollections as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::scene_collections::SceneCollections as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_collections::SceneCollections as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::scene_collections::SceneCollections as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::scene_collections::SceneCollections as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
7
pub struct SceneCollections {
8
    /// The name of the current scene collection.
9
    #[serde(rename = "currentSceneCollectionName")]
10
    pub current: String,
11
    /// Array of all available scene collections.
12
    #[serde(rename = "sceneCollections")]
13
    pub collections: Vec<String>,
14
}
\ No newline at end of file diff --git a/coverage/src/responses/scene_items.rs.html b/coverage/src/responses/scene_items.rs.html new file mode 100644 index 0000000..90d6775 --- /dev/null +++ b/coverage/src/responses/scene_items.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/responses/scene_items.rs
Line
Count
Source (jump to first uncovered line)
1
//! Responses related to scene items.
2
3
use serde::Deserialize;
4
5
use crate::common::{Alignment, BoundsType};
6
7
9
#[derive(
Debug0
,
D6
eserialize)]
Unexecuted instantiation: <obws::responses::scene_items::SceneItemId as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::scene_items::SceneItemId as core::fmt::Debug>::fmt
<<obws::responses::scene_items::SceneItemId as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
7
6
#[derive(Debug, 
D3
eserialize)]
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemId as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::scene_items::SceneItemId as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
7
3
#[derive(Debug, Deserialize)]
<obws::responses::scene_items::SceneItemId as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
7
3
#[derive(Debug, Deserialize)]
<<obws::responses::scene_items::SceneItemId as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
7
3
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemId as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemId as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemId as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <obws::responses::scene_items::SceneItemId as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemId as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemId as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemId as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemId as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemId as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemId as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemId as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemId as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::scene_items::SceneItemId as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemId as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemId as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemId as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemId as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemId as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
8
pub(crate) struct SceneItemId {
9
    /// Numeric ID of the scene item.
10
    #[serde(rename = "sceneItemId")]
11
    pub id: i64,
12
}
13
14
/// Response value for [`crate::client::SceneItems::get_list`] and
15
/// [`crate::client::SceneItems::get_group_list`].
16
6
#[derive(
Debug0
,
D4
eserialize)]
Unexecuted instantiation: <obws::responses::scene_items::SceneItemList as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::scene_items::SceneItemList as core::fmt::Debug>::fmt
<obws::responses::scene_items::SceneItemList as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
16
2
#[derive(Debug, Deserialize)]
<<obws::responses::scene_items::SceneItemList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
16
2
#[derive(Debug, Deserialize)]
<<obws::responses::scene_items::SceneItemList as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
16
2
#[derive(Debug, Deserialize)]
<<obws::responses::scene_items::SceneItemList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
16
4
#[derive(Debug, 
D2
eserialize)]
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <obws::responses::scene_items::SceneItemList as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemList as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemList as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <obws::responses::scene_items::SceneItemList as serde::de::Deserialize>::deserialize::<_>
17
pub(crate) struct SceneItemList {
18
    /// Array of scene items in the scene or group.
19
    #[serde(rename = "sceneItems")]
20
    pub scene_items: Vec<SceneItem>,
21
}
22
23
/// Response value for [`crate::client::SceneItems::list`] and
24
/// [`crate::client::SceneItems::list_group`].
25
85
#[derive(
Debug0
,
D50
ese
rializ55
e)]
Unexecuted instantiation: <obws::responses::scene_items::SceneItem as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::scene_items::SceneItem as core::fmt::Debug>::fmt
<<obws::responses::scene_items::SceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
25
50
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::scene_items::SceneItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::scene_items::SceneItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
25
55
#[derive(Debug, Deserializ
e35
)]
<obws::responses::scene_items::SceneItem as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
25
5
#[derive(Debug, Deserialize)]
<<obws::responses::scene_items::SceneItem as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
25
50
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::scene_items::SceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItem as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <obws::responses::scene_items::SceneItem as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_items::SceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_items::SceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::scene_items::SceneItem as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItem as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItem as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_items::SceneItem as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
26
pub struct SceneItem {
27
    /// Identifier of the scene item.
28
    #[serde(rename = "sceneItemId")]
29
    pub id: i64,
30
    /// Positional index within a scene.
31
    #[serde(rename = "sceneItemIndex")]
32
    pub index: u32,
33
    /// Name of this source.
34
    #[serde(rename = "sourceName")]
35
    pub source_name: String,
36
    /// The kind of source this item represents.
37
    #[serde(rename = "sourceType")]
38
    pub source_type: SourceType,
39
    /// Kind of input. Only present if this is a [`SourceType::Input`].
40
    #[serde(rename = "inputKind")]
41
    pub input_kind: Option<String>,
42
    /// Whether this item is a group. Only present if this is a [`SourceType::Scene`].
43
    #[serde(rename = "isGroup")]
44
    pub is_group: Option<bool>,
45
}
46
47
/// Kind of source that is represented by a [`SceneItem`].
48
10
#[derive(Copy, 
Clone0
,
D0
ebu
g0
, Deserialize)]
Unexecuted instantiation: <obws::responses::scene_items::SourceType as core::clone::Clone>::clone
Unexecuted instantiation: <obws::responses::scene_items::SourceType as core::clone::Clone>::clone
Unexecuted instantiation: <obws::responses::scene_items::SourceType as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::scene_items::SourceType as core::fmt::Debug>::fmt
<obws::responses::scene_items::SourceType as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
48
5
#[derive(Copy, Clone, Debug, Deserialize)]
<<obws::responses::scene_items::SourceType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
48
5
#[derive(Copy, Clone, Debug, Deserialize)]
Unexecuted instantiation: <obws::responses::scene_items::SourceType as serde::de::Deserialize>::deserialize::<serde::__private::de::missing_field::MissingFieldDeserializer<serde_json::error::Error>>
<<obws::responses::scene_items::SourceType as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::de::value::StringDeserializer<serde_json::error::Error>>
Line
Count
Source
48
5
#[derive(Copy, Clone, Debug, Deserialize)]
<<obws::responses::scene_items::SourceType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<serde_json::value::de::EnumDeserializer>
Line
Count
Source
48
5
#[derive(Copy, Clone, Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::scene_items::SourceType as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SourceType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <obws::responses::scene_items::SourceType as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SourceType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SourceType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SourceType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SourceType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_items::SourceType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::scene_items::SourceType as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SourceType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_items::SourceType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SourceType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SourceType as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SourceType as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SourceType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_items::SourceType as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_>
49
pub enum SourceType {
50
    /// Input source from outside of OBS.
51
    #[serde(rename = "OBS_SOURCE_TYPE_INPUT")]
52
    Input,
53
    /// Filter applied to other items.
54
    #[serde(rename = "OBS_SOURCE_TYPE_FILTER")]
55
    Filter,
56
    /// Transition when switching scenes.
57
    #[serde(rename = "OBS_SOURCE_TYPE_TRANSITION")]
58
    Transition,
59
    /// Scene in OBS.
60
    #[serde(rename = "OBS_SOURCE_TYPE_SCENE")]
61
    Scene,
62
}
63
64
/// Response value for
65
/// [`crate::client::SceneItems::get_scene_item_transform`].
66
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::scene_items::GetSceneItemTransform as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::scene_items::GetSceneItemTransform as core::fmt::Debug>::fmt
<<obws::responses::scene_items::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
66
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::scene_items::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<obws::responses::scene_items::GetSceneItemTransform as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
66
1
#[derive(Debug, Deserialize)]
<<obws::responses::scene_items::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
66
2
#[derive(Debug, 
D1
eserialize)]
<<obws::responses::scene_items::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
66
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::scene_items::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::scene_items::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_items::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::scene_items::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::responses::scene_items::GetSceneItemTransform as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_items::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::scene_items::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::scene_items::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_items::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_items::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_items::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::scene_items::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::scene_items::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::scene_items::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::scene_items::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::scene_items::GetSceneItemTransform as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_items::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_items::GetSceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
67
pub(crate) struct GetSceneItemTransform {
68
    #[serde(rename = "sceneItemTransform")]
69
    pub transform: SceneItemTransform,
70
}
71
72
/// Response value for [`crate::client::SceneItems::transform`].
73
39
#[derive(
Clone0
,
Debug0
,
D20
ese
rializ1
e)]
Unexecuted instantiation: <obws::responses::scene_items::SceneItemTransform as core::clone::Clone>::clone
Unexecuted instantiation: <obws::responses::scene_items::SceneItemTransform as core::clone::Clone>::clone
Unexecuted instantiation: <obws::responses::scene_items::SceneItemTransform as core::clone::Clone>::clone
Unexecuted instantiation: <obws::responses::scene_items::SceneItemTransform as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::scene_items::SceneItemTransform as core::fmt::Debug>::fmt
Unexecuted instantiation: <<<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>::{closure#1}
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map<<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>
<<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
73
19
#[derive(Clone, Debug, 
Dese1
rializ1
e)]
Unexecuted instantiation: <<<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
73
1
#[derive(Clone, Debug, Deserialize)]
<<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
73
18
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
<<<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
73
1
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Unexecuted instantiation: <<<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::<serde::__private::de::missing_field::MissingFieldDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error>>::{closure#0}
<<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
73
18
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error>>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error>>::{closure#1}
<<<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
73
1
#[derive(Clone, Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>::{closure#0}
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0}
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#1}
Unexecuted instantiation: <<<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#1}
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0}
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::responses::scene_items::SceneItemTransform as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
74
pub struct SceneItemTransform {
75
    /// Base width (without scaling) of the source.
76
    #[serde(rename = "sourceWidth")]
77
    pub source_width: f32,
78
    /// Base height (without scaling) of the source.
79
    #[serde(rename = "sourceHeight")]
80
    pub source_height: f32,
81
    /// The x position of the source from the left.
82
    #[serde(rename = "positionX")]
83
    pub position_x: f32,
84
    /// The y position of the source from the top.
85
    #[serde(rename = "positionY")]
86
    pub position_y: f32,
87
    /// The clockwise rotation of the scene item in degrees around the point of alignment.
88
    #[serde(rename = "rotation")]
89
    pub rotation: f32,
90
    /// The x-scale factor of the source.
91
    #[serde(rename = "scaleX")]
92
    pub scale_x: f32,
93
    /// The y-scale factor of the source.
94
    #[serde(rename = "scaleY")]
95
    pub scale_y: f32,
96
    /// Scene item width (base source width multiplied by the horizontal scaling factor).
97
    #[serde(rename = "width")]
98
    pub width: f32,
99
    /// Scene item height (base source height multiplied by the vertical scaling factor).
100
    #[serde(rename = "height")]
101
    pub height: f32,
102
    /// The point on the source that the item is manipulated from.
103
    #[serde(rename = "alignment", with = "crate::serde::bitflags_u8")]
104
    pub alignment: Alignment,
105
    /// Type of bounding box.
106
    #[serde(rename = "boundsType")]
107
    pub bounds_type: BoundsType,
108
    /// Alignment of the bounding box.
109
    #[serde(rename = "boundsAlignment", with = "crate::serde::bitflags_u8")]
110
    pub bounds_alignment: Alignment,
111
    /// Width of the bounding box.
112
    #[serde(rename = "boundsWidth")]
113
    pub bounds_width: f32,
114
    /// Height of the bounding box.
115
    #[serde(rename = "boundsHeight")]
116
    pub bounds_height: f32,
117
    /// The number of pixels cropped off the left of the source before scaling.
118
    #[serde(rename = "cropLeft")]
119
    pub crop_left: u32,
120
    /// The number of pixels cropped off the right of the source before scaling.
121
    #[serde(rename = "cropRight")]
122
    pub crop_right: u32,
123
    /// The number of pixels cropped off the top of the source before scaling.
124
    #[serde(rename = "cropTop")]
125
    pub crop_top: u32,
126
    /// The number of pixels cropped off the bottom of the source before scaling.
127
    #[serde(rename = "cropBottom")]
128
    pub crop_bottom: u32,
129
}
130
131
/// Response value for [`crate::client::SceneItems::get_enabled`].
132
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::scene_items::SceneItemEnabled as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::scene_items::SceneItemEnabled as core::fmt::Debug>::fmt
<obws::responses::scene_items::SceneItemEnabled as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
132
1
#[derive(Debug, Deserialize)]
<<obws::responses::scene_items::SceneItemEnabled as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
132
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemEnabled as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::scene_items::SceneItemEnabled as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
132
2
#[derive(Debug, 
D1
eserialize)]
<<obws::responses::scene_items::SceneItemEnabled as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
132
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemEnabled as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::scene_items::SceneItemEnabled as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemEnabled as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemEnabled as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemEnabled as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemEnabled as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemEnabled as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemEnabled as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemEnabled as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemEnabled as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemEnabled as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemEnabled as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemEnabled as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemEnabled as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemEnabled as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemEnabled as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <obws::responses::scene_items::SceneItemEnabled as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemEnabled as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
133
pub(crate) struct SceneItemEnabled {
134
    /// Whether the scene item is enabled.
135
    #[serde(rename = "sceneItemEnabled")]
136
    pub enabled: bool,
137
}
138
139
/// Response value for [`crate::client::SceneItems::get_locked`].
140
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::scene_items::SceneItemLocked as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::scene_items::SceneItemLocked as core::fmt::Debug>::fmt
<<obws::responses::scene_items::SceneItemLocked as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
140
1
#[derive(Debug, Deserialize)]
<obws::responses::scene_items::SceneItemLocked as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
140
1
#[derive(Debug, Deserialize)]
<<obws::responses::scene_items::SceneItemLocked as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
140
2
#[derive(Debug, 
D1
eserialize)]
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemLocked as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::scene_items::SceneItemLocked as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
140
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemLocked as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemLocked as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::scene_items::SceneItemLocked as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemLocked as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemLocked as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemLocked as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemLocked as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemLocked as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemLocked as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::scene_items::SceneItemLocked as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemLocked as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemLocked as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemLocked as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemLocked as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemLocked as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemLocked as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemLocked as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemLocked as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
141
pub(crate) struct SceneItemLocked {
142
    /// Whether the scene item is locked.
143
    #[serde(rename = "sceneItemLocked")]
144
    pub locked: bool,
145
}
146
147
/// Response value for [`crate::client::SceneItems::get_index`].
148
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::scene_items::SceneItemIndex as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::scene_items::SceneItemIndex as core::fmt::Debug>::fmt
<<obws::responses::scene_items::SceneItemIndex as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
148
2
#[derive(Debug, 
D1
eserialize)]
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemIndex as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::scene_items::SceneItemIndex as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
148
1
#[derive(Debug, Deserialize)]
<<obws::responses::scene_items::SceneItemIndex as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
148
1
#[derive(Debug, Deserialize)]
<obws::responses::scene_items::SceneItemIndex as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
148
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemIndex as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemIndex as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemIndex as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemIndex as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::scene_items::SceneItemIndex as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemIndex as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemIndex as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemIndex as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemIndex as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemIndex as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemIndex as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemIndex as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemIndex as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <obws::responses::scene_items::SceneItemIndex as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemIndex as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemIndex as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemIndex as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemIndex as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
149
pub(crate) struct SceneItemIndex {
150
    /// Index position of the scene item.
151
    #[serde(rename = "sceneItemIndex")]
152
    pub index: u32,
153
}
154
155
/// Response value for [`crate::client::SceneItems::get_private_settings`].
156
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::scene_items::SceneItemSettings<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::scene_items::SceneItemSettings<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<serde_json::value::Value> as serde::de::Visitor>::expecting
<<obws::responses::scene_items::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
156
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<serde_json::value::Value> as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::scene_items::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
156
1
#[derive(Debug, Deserialize)]
<<obws::responses::scene_items::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<serde_json::value::Value> as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
156
2
#[derive(Debug, 
D1
eserialize)]
<obws::responses::scene_items::SceneItemSettings<serde_json::value::Value> as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
156
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <obws::responses::scene_items::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::scene_items::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scene_items::SceneItemSettings<_> as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_seq::<_>
157
pub(crate) struct SceneItemSettings<T> {
158
    #[serde(rename = "sceneItemSettings")]
159
    pub settings: T,
160
}
\ No newline at end of file diff --git a/coverage/src/responses/scenes.rs.html b/coverage/src/responses/scenes.rs.html new file mode 100644 index 0000000..9b5f6fa --- /dev/null +++ b/coverage/src/responses/scenes.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/responses/scenes.rs
Line
Count
Source (jump to first uncovered line)
1
//! Responses related to scenes.
2
3
use serde::Deserialize;
4
use time::Duration;
5
6
/// Response value for [`crate::client::Scenes::list`].
7
133
#[derive(
Debug0
,
D57
ese
rializ19
e)]
Unexecuted instantiation: <obws::responses::scenes::Scenes as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::scenes::Scenes as core::fmt::Debug>::fmt
<obws::responses::scenes::Scenes as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
7
19
#[derive(Debug, Deserialize)]
<<obws::responses::scenes::Scenes as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
7
76
#[derive(Debug, 
Dese19
rializ19
e)]
<<obws::responses::scenes::Scenes as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
7
57
#[derive(Debug, Deserialize)]
<<obws::responses::scenes::Scenes as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
7
57
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::scenes::Scenes as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
Unexecuted instantiation: <<obws::responses::scenes::Scenes as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scenes::Scenes as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::scenes::Scenes as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::scenes::Scenes as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::scenes::Scenes as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <obws::responses::scenes::Scenes as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scenes::Scenes as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::scenes::Scenes as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scenes::Scenes as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scenes::Scenes as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::scenes::Scenes as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::scenes::Scenes as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scenes::Scenes as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::scenes::Scenes as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scenes::Scenes as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::scenes::Scenes as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scenes::Scenes as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::scenes::Scenes as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
8
pub struct Scenes {
9
    /// Current program scene.
10
    #[serde(rename = "currentProgramSceneName")]
11
    pub current_program_scene_name: Option<String>,
12
    /// Current preview scene. [`None`] if not in studio mode.
13
    #[serde(rename = "currentPreviewSceneName")]
14
    pub current_preview_scene_name: Option<String>,
15
    /// Array of scenes in OBS.
16
    #[serde(rename = "scenes")]
17
    pub scenes: Vec<Scene>,
18
}
19
20
/// Response value for [`crate::client::Scenes::list`] as part of [`Scenes`].
21
190
#[derive(
Debug0
,
D76
ese
rializ0
e)]
Unexecuted instantiation: <obws::responses::scenes::Scene as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::scenes::Scene as core::fmt::Debug>::fmt
<<obws::responses::scenes::Scene as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
21
76
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::scenes::Scene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<obws::responses::scenes::Scene as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
21
38
#[derive(Debug, Deserialize)]
<<obws::responses::scenes::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
21
76
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::scenes::Scene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Unexecuted instantiation: <<obws::responses::scenes::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::scenes::Scene as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scenes::Scene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::scenes::Scene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <obws::responses::scenes::Scene as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scenes::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::scenes::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::scenes::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scenes::Scene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scenes::Scene as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scenes::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <obws::responses::scenes::Scene as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scenes::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scenes::Scene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scenes::Scene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::scenes::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::scenes::Scene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::scenes::Scene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
22
pub struct Scene {
23
    /// Name of the scene.
24
    #[serde(rename = "sceneName")]
25
    pub name: String,
26
    /// Positional index in the list of scenes.
27
    #[serde(rename = "sceneIndex")]
28
    pub index: usize,
29
}
30
31
/// Response value for [`crate::client::Scenes::get_group_list`].
32
57
#[derive(
Debug0
,
D38
eserialize)]
Unexecuted instantiation: <obws::responses::scenes::Groups as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::scenes::Groups as core::fmt::Debug>::fmt
<obws::responses::scenes::Groups as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
32
19
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::scenes::Groups as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::scenes::Groups as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
32
19
#[derive(Debug, Deserialize)]
<<obws::responses::scenes::Groups as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
32
38
#[derive(Debug, 
D19
eserialize)]
<<obws::responses::scenes::Groups as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
32
19
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::scenes::Groups as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <obws::responses::scenes::Groups as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scenes::Groups as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::scenes::Groups as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::scenes::Groups as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::scenes::Groups as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scenes::Groups as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::scenes::Groups as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scenes::Groups as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scenes::Groups as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scenes::Groups as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::scenes::Groups as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scenes::Groups as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::scenes::Groups as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scenes::Groups as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::scenes::Groups as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::scenes::Groups as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::scenes::Groups as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
33
pub(crate) struct Groups {
34
    /// Array of group names.
35
    #[serde(rename = "groups")]
36
    pub groups: Vec<String>,
37
}
38
39
/// Response value for
40
/// [`crate::client::Scenes::get_current_program_scene`].
41
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::scenes::CurrentProgramScene as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::scenes::CurrentProgramScene as core::fmt::Debug>::fmt
<<obws::responses::scenes::CurrentProgramScene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
41
2
#[derive(Debug, 
D1
eserialize)]
<<obws::responses::scenes::CurrentProgramScene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
41
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::scenes::CurrentProgramScene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::scenes::CurrentProgramScene as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
41
1
#[derive(Debug, Deserialize)]
<obws::responses::scenes::CurrentProgramScene as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
41
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::scenes::CurrentProgramScene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::scenes::CurrentProgramScene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <obws::responses::scenes::CurrentProgramScene as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scenes::CurrentProgramScene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::scenes::CurrentProgramScene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::scenes::CurrentProgramScene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::scenes::CurrentProgramScene as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scenes::CurrentProgramScene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scenes::CurrentProgramScene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scenes::CurrentProgramScene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::scenes::CurrentProgramScene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::scenes::CurrentProgramScene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scenes::CurrentProgramScene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::scenes::CurrentProgramScene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::scenes::CurrentProgramScene as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scenes::CurrentProgramScene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::responses::scenes::CurrentProgramScene as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scenes::CurrentProgramScene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
42
pub(crate) struct CurrentProgramScene {
43
    /// Current program scene.
44
    #[serde(rename = "currentProgramSceneName")]
45
    pub current_program_scene_name: String,
46
}
47
48
/// Response value for
49
/// [`crate::client::Scenes::get_current_preview_scene`].
50
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::scenes::CurrentPreviewScene as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::scenes::CurrentPreviewScene as core::fmt::Debug>::fmt
<<obws::responses::scenes::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
50
1
#[derive(Debug, Deserialize)]
<obws::responses::scenes::CurrentPreviewScene as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
50
1
#[derive(Debug, Deserialize)]
<<obws::responses::scenes::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
50
2
#[derive(Debug, 
D1
eserialize)]
Unexecuted instantiation: <<obws::responses::scenes::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::scenes::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
50
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::scenes::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::scenes::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::scenes::CurrentPreviewScene as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scenes::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::scenes::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::scenes::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::scenes::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::scenes::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scenes::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scenes::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scenes::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::scenes::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::scenes::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::scenes::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::scenes::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scenes::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scenes::CurrentPreviewScene as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <obws::responses::scenes::CurrentPreviewScene as serde::de::Deserialize>::deserialize::<_>
51
pub(crate) struct CurrentPreviewScene {
52
    /// Current preview scene.
53
    #[serde(rename = "currentPreviewSceneName")]
54
    pub current_preview_scene_name: String,
55
}
56
57
/// Response value for [`crate::client::Scenes::transition_override`].
58
6
#[derive(
Debug0
,
D4
eserialize)]
Unexecuted instantiation: <obws::responses::scenes::SceneTransitionOverride as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::scenes::SceneTransitionOverride as core::fmt::Debug>::fmt
Unexecuted instantiation: <<<obws::responses::scenes::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
<<<obws::responses::scenes::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
58
1
#[derive(Debug, Deserialize)]
<<obws::responses::scenes::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
58
2
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::scenes::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::scenes::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
58
2
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::scenes::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>::{closure#0}
<obws::responses::scenes::SceneTransitionOverride as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
58
1
#[derive(Debug, Deserialize)]
<<obws::responses::scenes::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
58
3
#[derive(Debug, 
D1
eserialize)]
Unexecuted instantiation: <<<obws::responses::scenes::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::scenes::SceneTransitionOverride as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scenes::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::scenes::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::scenes::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::responses::scenes::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scenes::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::scenes::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::scenes::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0}
Unexecuted instantiation: <<obws::responses::scenes::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scenes::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scenes::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::responses::scenes::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scenes::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <obws::responses::scenes::SceneTransitionOverride as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scenes::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scenes::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::scenes::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::scenes::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::scenes::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::scenes::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0}
Unexecuted instantiation: <<<obws::responses::scenes::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::scenes::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::scenes::SceneTransitionOverride as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
59
pub struct SceneTransitionOverride {
60
    /// Name of the overridden scene transition.
61
    #[serde(rename = "transitionName")]
62
    pub name: Option<String>,
63
    /// Duration of the overridden scene transition.
64
    #[serde(
65
        rename = "transitionDuration",
66
        with = "crate::serde::duration_millis::option"
67
    )]
68
    pub duration: Option<Duration>,
69
}
\ No newline at end of file diff --git a/coverage/src/responses/sources.rs.html b/coverage/src/responses/sources.rs.html new file mode 100644 index 0000000..b1b5db1 --- /dev/null +++ b/coverage/src/responses/sources.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/responses/sources.rs
Line
Count
Source (jump to first uncovered line)
1
//! Responses related to sources.
2
3
use serde::Deserialize;
4
5
/// Response value for [`crate::client::Sources::active`].
6
5
#[derive(
Debug0
,
D3
eserialize)]
Unexecuted instantiation: <obws::responses::sources::SourceActive as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::sources::SourceActive as core::fmt::Debug>::fmt
<<obws::responses::sources::SourceActive as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
6
2
#[derive(Debug, Deserialize)]
<<obws::responses::sources::SourceActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
6
2
#[derive(Debug, Deserialize)]
<<obws::responses::sources::SourceActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
6
3
#[derive(Debug, 
D1
eserialize)]
Unexecuted instantiation: <<obws::responses::sources::SourceActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<obws::responses::sources::SourceActive as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
6
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::sources::SourceActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::sources::SourceActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::sources::SourceActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::sources::SourceActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::sources::SourceActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::sources::SourceActive as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::sources::SourceActive as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::sources::SourceActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::sources::SourceActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::sources::SourceActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::sources::SourceActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::sources::SourceActive as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::sources::SourceActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::sources::SourceActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::sources::SourceActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::sources::SourceActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <obws::responses::sources::SourceActive as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::sources::SourceActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
7
pub struct SourceActive {
8
    /// Whether the source is showing in program.
9
    #[serde(rename = "videoActive")]
10
    pub active: bool,
11
    /// Whether the source is showing in the UI (preview, projector, properties).
12
    #[serde(rename = "videoShowing")]
13
    pub showing: bool,
14
}
15
16
/// Response value for [`crate::client::Sources::get_screenshot`].
17
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::sources::ImageData as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::sources::ImageData as core::fmt::Debug>::fmt
<<obws::responses::sources::ImageData as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
17
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::sources::ImageData as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<obws::responses::sources::ImageData as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
17
1
#[derive(Debug, Deserialize)]
<<obws::responses::sources::ImageData as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
17
1
#[derive(Debug, Deserialize)]
<<obws::responses::sources::ImageData as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
17
2
#[derive(Debug, 
D1
eserialize)]
Unexecuted instantiation: <<obws::responses::sources::ImageData as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <obws::responses::sources::ImageData as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::sources::ImageData as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::sources::ImageData as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::sources::ImageData as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::sources::ImageData as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::sources::ImageData as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::sources::ImageData as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::sources::ImageData as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::sources::ImageData as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::sources::ImageData as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::sources::ImageData as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <obws::responses::sources::ImageData as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::sources::ImageData as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::sources::ImageData as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::sources::ImageData as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::sources::ImageData as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::sources::ImageData as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
18
pub(crate) struct ImageData {
19
    /// Base64-encoded screenshot.
20
    #[serde(rename = "imageData")]
21
    pub image_data: String,
22
}
\ No newline at end of file diff --git a/coverage/src/responses/streaming.rs.html b/coverage/src/responses/streaming.rs.html new file mode 100644 index 0000000..70ba8c1 --- /dev/null +++ b/coverage/src/responses/streaming.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/responses/streaming.rs
Line
Count
Source (jump to first uncovered line)
1
//! Responses related to streaming.
2
3
use serde::Deserialize;
4
use time::Duration;
5
6
/// Response value for [`crate::client::Streaming::status`].
7
19
#[derive(
Debug0
,
D10
ese
rializ1
e)]
Unexecuted instantiation: <obws::responses::streaming::StreamStatus as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::streaming::StreamStatus as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
7
8
#[derive(Debug, Deserialize)]
<<<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
7
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>::{closure#1}
Unexecuted instantiation: <<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>::{closure#0}
Unexecuted instantiation: <<<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
<<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
7
9
#[derive(Debug, 
Dese1
rializ1
e)]
<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
7
1
#[derive(Debug, Deserialize)]
<<<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
7
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
<<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
7
8
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0}
Unexecuted instantiation: <<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#1}
Unexecuted instantiation: <<<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#1}
Unexecuted instantiation: <<<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::streaming::StreamStatus as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0}
8
pub struct StreamStatus {
9
    /// Whether the output is active.
10
    #[serde(rename = "outputActive")]
11
    pub active: bool,
12
    /// Whether the output is currently reconnecting.
13
    #[serde(rename = "outputReconnecting")]
14
    pub reconnecting: bool,
15
    /// Current time code for the output.
16
    #[serde(rename = "outputTimecode", with = "crate::serde::duration_timecode")]
17
    pub timecode: Duration,
18
    /// Current duration for the output.
19
    #[serde(rename = "outputDuration", with = "crate::serde::duration_millis")]
20
    pub duration: Duration,
21
    /// Congestion of the output.
22
    #[serde(rename = "outputCongestion")]
23
    pub congestion: f32,
24
    /// Number of bytes sent by the output.
25
    #[serde(rename = "outputBytes")]
26
    pub bytes: u64,
27
    /// Number of frames skipped by the output's process.
28
    #[serde(rename = "outputSkippedFrames")]
29
    pub skipped_frames: u32,
30
    /// Total number of frames delivered by the output's process.
31
    #[serde(rename = "outputTotalFrames")]
32
    pub total_frames: u32,
33
}
34
35
0
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <obws::responses::streaming::OutputActive as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::streaming::OutputActive as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::streaming::OutputActive as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::streaming::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::streaming::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::streaming::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::streaming::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::streaming::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::streaming::OutputActive as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::streaming::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::streaming::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::streaming::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::streaming::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::streaming::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::streaming::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::streaming::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::streaming::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::streaming::OutputActive as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::streaming::OutputActive as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::streaming::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
36
pub(crate) struct OutputActive {
37
    /// New state of the stream output.
38
    #[serde(rename = "outputActive")]
39
    pub active: bool,
40
}
\ No newline at end of file diff --git a/coverage/src/responses/transitions.rs.html b/coverage/src/responses/transitions.rs.html new file mode 100644 index 0000000..c06ce38 --- /dev/null +++ b/coverage/src/responses/transitions.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/responses/transitions.rs
Line
Count
Source (jump to first uncovered line)
1
//! Responses related to transitions.
2
3
use serde::Deserialize;
4
use time::Duration;
5
6
/// Response value for
7
/// [`crate::client::Transitions::get_transition_kind_list`].
8
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::transitions::TransitionKinds as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::transitions::TransitionKinds as core::fmt::Debug>::fmt
<<obws::responses::transitions::TransitionKinds as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
8
1
#[derive(Debug, Deserialize)]
<<obws::responses::transitions::TransitionKinds as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
8
1
#[derive(Debug, Deserialize)]
<<obws::responses::transitions::TransitionKinds as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
8
2
#[derive(Debug, 
D1
eserialize)]
Unexecuted instantiation: <<obws::responses::transitions::TransitionKinds as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<obws::responses::transitions::TransitionKinds as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
8
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::transitions::TransitionKinds as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::transitions::TransitionKinds as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::transitions::TransitionKinds as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::transitions::TransitionKinds as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::transitions::TransitionKinds as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::transitions::TransitionKinds as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <obws::responses::transitions::TransitionKinds as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::transitions::TransitionKinds as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::transitions::TransitionKinds as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::transitions::TransitionKinds as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::transitions::TransitionKinds as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <obws::responses::transitions::TransitionKinds as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::transitions::TransitionKinds as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::transitions::TransitionKinds as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::transitions::TransitionKinds as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::transitions::TransitionKinds as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::transitions::TransitionKinds as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::transitions::TransitionKinds as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
9
pub(crate) struct TransitionKinds {
10
    /// Array of transition kinds.
11
    #[serde(rename = "transitionKinds")]
12
    pub transition_kinds: Vec<String>,
13
}
14
15
/// Response value for [`crate::client::Transitions::list`].
16
7
#[derive(
Debug0
,
D3
ese
rializ1
e)]
Unexecuted instantiation: <obws::responses::transitions::SceneTransitionList as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::transitions::SceneTransitionList as core::fmt::Debug>::fmt
<obws::responses::transitions::SceneTransitionList as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
16
1
#[derive(Debug, Deserialize)]
<<obws::responses::transitions::SceneTransitionList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
16
3
#[derive(Debug, Deserialize)]
<<obws::responses::transitions::SceneTransitionList as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
16
3
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::transitions::SceneTransitionList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::transitions::SceneTransitionList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
16
4
#[derive(Debug, 
Dese1
rializ1
e)]
Unexecuted instantiation: <<obws::responses::transitions::SceneTransitionList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::transitions::SceneTransitionList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <obws::responses::transitions::SceneTransitionList as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::transitions::SceneTransitionList as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::transitions::SceneTransitionList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::transitions::SceneTransitionList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::transitions::SceneTransitionList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::transitions::SceneTransitionList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::transitions::SceneTransitionList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::transitions::SceneTransitionList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::transitions::SceneTransitionList as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::transitions::SceneTransitionList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::transitions::SceneTransitionList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::transitions::SceneTransitionList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::transitions::SceneTransitionList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::transitions::SceneTransitionList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::transitions::SceneTransitionList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::transitions::SceneTransitionList as serde::de::Deserialize>::deserialize::<_>
17
pub struct SceneTransitionList {
18
    /// Name of the current scene transition.
19
    #[serde(rename = "currentSceneTransitionName")]
20
    pub current_scene_transition_name: Option<String>,
21
    /// Kind of the current scene transition.
22
    #[serde(rename = "currentSceneTransitionKind")]
23
    pub current_scene_transition_kind: Option<String>,
24
    /// Array of transitions.
25
    #[serde(rename = "transitions")]
26
    pub transitions: Vec<Transition>,
27
}
28
29
/// Response value for [`crate::client::Transitions::list`] as part of [`SceneTransitionList`].
30
54
#[derive(
Debug0
,
D24
ese
rializ6
e)]
Unexecuted instantiation: <obws::responses::transitions::Transition as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::transitions::Transition as core::fmt::Debug>::fmt
<<obws::responses::transitions::Transition as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
30
24
#[derive(Debug, Deserialize)]
<<obws::responses::transitions::Transition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
30
24
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::transitions::Transition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<obws::responses::transitions::Transition as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
30
6
#[derive(Debug, Deserialize)]
<<obws::responses::transitions::Transition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
30
30
#[derive(Debug, 
Dese6
rializ6
e)]
Unexecuted instantiation: <<obws::responses::transitions::Transition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::transitions::Transition as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::transitions::Transition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::transitions::Transition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::transitions::Transition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <obws::responses::transitions::Transition as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::transitions::Transition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::transitions::Transition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::transitions::Transition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::transitions::Transition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::transitions::Transition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::transitions::Transition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::transitions::Transition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::transitions::Transition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::transitions::Transition as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::transitions::Transition as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::transitions::Transition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::transitions::Transition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
31
pub struct Transition {
32
    /// Name of the transition.
33
    #[serde(rename = "transitionName")]
34
    pub name: String,
35
    /// Kind of the transition.
36
    #[serde(rename = "transitionKind")]
37
    pub kind: String,
38
    /// Whether the transition uses a fixed (non-configurable) duration.
39
    #[serde(rename = "transitionFixed")]
40
    pub fixed: bool,
41
    /// Whether the transition supports being configured.
42
    #[serde(rename = "transitionConfigurable")]
43
    pub configurable: bool,
44
}
45
46
/// Response value for [`crate::client::Transitions::current`].
47
14
#[derive(
Debug0
,
D7
ese
rializ1
e)]
Unexecuted instantiation: <obws::responses::transitions::CurrentSceneTransition as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::transitions::CurrentSceneTransition as core::fmt::Debug>::fmt
<<obws::responses::transitions::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
47
6
#[derive(Debug, Deserialize)]
<<obws::responses::transitions::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
47
7
#[derive(Debug, 
Dese1
rializ1
e)]
Unexecuted instantiation: <<obws::responses::transitions::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::transitions::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
47
6
#[derive(Debug, Deserialize)]
<obws::responses::transitions::CurrentSceneTransition as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
47
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::transitions::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>::{closure#0}
Unexecuted instantiation: <<<obws::responses::transitions::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
<<<obws::responses::transitions::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
47
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::transitions::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::transitions::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::transitions::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::transitions::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::transitions::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::transitions::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0}
Unexecuted instantiation: <obws::responses::transitions::CurrentSceneTransition as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::responses::transitions::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::transitions::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<<obws::responses::transitions::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::transitions::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::transitions::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::transitions::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::transitions::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::transitions::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0}
Unexecuted instantiation: <<obws::responses::transitions::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::transitions::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<<obws::responses::transitions::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::transitions::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::transitions::CurrentSceneTransition as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::transitions::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<<obws::responses::transitions::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::transitions::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::transitions::CurrentSceneTransition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
48
pub struct CurrentSceneTransition {
49
    /// Name of the transition.
50
    #[serde(rename = "transitionName")]
51
    pub name: String,
52
    /// Kind of the transition.
53
    #[serde(rename = "transitionKind")]
54
    pub kind: String,
55
    /// Whether the transition uses a fixed (non-configurable) duration.
56
    #[serde(rename = "transitionFixed")]
57
    pub fixed: bool,
58
    /// Configured transition duration in milliseconds.
59
    #[serde(
60
        rename = "transitionDuration",
61
        with = "crate::serde::duration_millis::option"
62
    )]
63
    pub duration: Option<Duration>,
64
    /// Whether the transition supports being configured.
65
    #[serde(rename = "transitionConfigurable")]
66
    pub configurable: bool,
67
    /// Object of settings for the transition.
68
    #[serde(rename = "transitionSettings")]
69
    pub settings: Option<serde_json::Value>,
70
}
71
72
/// Response value for
73
/// [`crate::client::Transitions::get_current_scene_transition_cursor`].
74
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::transitions::TransitionCursor as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::transitions::TransitionCursor as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::responses::transitions::TransitionCursor as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<obws::responses::transitions::TransitionCursor as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
74
1
#[derive(Debug, Deserialize)]
<<obws::responses::transitions::TransitionCursor as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
74
2
#[derive(Debug, 
D1
eserialize)]
<<obws::responses::transitions::TransitionCursor as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
74
1
#[derive(Debug, Deserialize)]
<<obws::responses::transitions::TransitionCursor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
74
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::transitions::TransitionCursor as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <obws::responses::transitions::TransitionCursor as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::transitions::TransitionCursor as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::transitions::TransitionCursor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::transitions::TransitionCursor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::transitions::TransitionCursor as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::transitions::TransitionCursor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::transitions::TransitionCursor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::transitions::TransitionCursor as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::transitions::TransitionCursor as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::transitions::TransitionCursor as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::transitions::TransitionCursor as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::transitions::TransitionCursor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::transitions::TransitionCursor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::transitions::TransitionCursor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::transitions::TransitionCursor as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::transitions::TransitionCursor as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::transitions::TransitionCursor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
75
pub(crate) struct TransitionCursor {
76
    /// Cursor position, between `0.0` and `1.0`.
77
    #[serde(rename = "transitionCursor")]
78
    pub transition_cursor: f32,
79
}
\ No newline at end of file diff --git a/coverage/src/responses/ui.rs.html b/coverage/src/responses/ui.rs.html new file mode 100644 index 0000000..c0d3493 --- /dev/null +++ b/coverage/src/responses/ui.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/responses/ui.rs
Line
Count
Source (jump to first uncovered line)
1
//! Responses related to the user interface.
2
3
use serde::Deserialize;
4
5
/// Response value for [`crate::client::Ui::get_studio_mode_enabled`].
6
57
#[derive(
Debug0
,
D38
eserialize)]
Unexecuted instantiation: <obws::responses::ui::StudioModeEnabled as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::ui::StudioModeEnabled as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::responses::ui::StudioModeEnabled as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::ui::StudioModeEnabled as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
6
19
#[derive(Debug, Deserialize)]
<obws::responses::ui::StudioModeEnabled as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
6
19
#[derive(Debug, Deserialize)]
<<obws::responses::ui::StudioModeEnabled as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
6
19
#[derive(Debug, Deserialize)]
<<obws::responses::ui::StudioModeEnabled as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
6
38
#[derive(Debug, 
D19
eserialize)]
Unexecuted instantiation: <obws::responses::ui::StudioModeEnabled as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::ui::StudioModeEnabled as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::ui::StudioModeEnabled as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::ui::StudioModeEnabled as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::ui::StudioModeEnabled as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::ui::StudioModeEnabled as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::ui::StudioModeEnabled as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::ui::StudioModeEnabled as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::ui::StudioModeEnabled as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::ui::StudioModeEnabled as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::ui::StudioModeEnabled as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::ui::StudioModeEnabled as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::ui::StudioModeEnabled as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::ui::StudioModeEnabled as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::ui::StudioModeEnabled as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <obws::responses::ui::StudioModeEnabled as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::ui::StudioModeEnabled as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::ui::StudioModeEnabled as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
7
pub(crate) struct StudioModeEnabled {
8
    /// Whether studio mode is enabled.
9
    #[serde(rename = "studioModeEnabled")]
10
    pub enabled: bool,
11
}
12
13
/// Response value for [`crate::client::Ui::get_monitor_list`].
14
3
#[derive(
Debug0
,
D2
eserialize)]
Unexecuted instantiation: <obws::responses::ui::MonitorList as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::ui::MonitorList as core::fmt::Debug>::fmt
<<obws::responses::ui::MonitorList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
14
1
#[derive(Debug, Deserialize)]
<<obws::responses::ui::MonitorList as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
14
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::ui::MonitorList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<obws::responses::ui::MonitorList as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
14
1
#[derive(Debug, Deserialize)]
<<obws::responses::ui::MonitorList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
14
2
#[derive(Debug, 
D1
eserialize)]
Unexecuted instantiation: <obws::responses::ui::MonitorList as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::ui::MonitorList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::ui::MonitorList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::ui::MonitorList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::ui::MonitorList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::ui::MonitorList as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::ui::MonitorList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::ui::MonitorList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::ui::MonitorList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::ui::MonitorList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::ui::MonitorList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::responses::ui::MonitorList as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::ui::MonitorList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::ui::MonitorList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::ui::MonitorList as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::ui::MonitorList as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::ui::MonitorList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::ui::MonitorList as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
15
pub(crate) struct MonitorList {
16
    #[serde(rename = "monitors")]
17
    pub monitors: Vec<Monitor>,
18
}
19
20
/// Response value for [`crate::client::Ui::list_monitors`].
21
9
#[derive(
Debug0
,
D6
ese
rializ7
e)]
Unexecuted instantiation: <obws::responses::ui::Monitor as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::ui::Monitor as core::fmt::Debug>::fmt
<<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
21
6
#[derive(Debug, Deserialize)]
<<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
21
7
#[derive(Debug, Deserializ
e3
)]
<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
21
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_borrowed_str::<serde_json::error::Error>
<<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
21
6
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_i16::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_f32::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_i64::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_f64::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bool::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u32::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_i8::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_i32::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_char::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u8::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u16::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_unit::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_borrowed_bytes::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_borrowed_str::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_f64::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_i32::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_i8::<_>
Unexecuted instantiation: <obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_f32::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_borrowed_str::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bool::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_i64::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_unit::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u16::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_char::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_i16::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u32::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_borrowed_bytes::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u8::<_>
Unexecuted instantiation: <<obws::responses::ui::Monitor as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
22
pub struct Monitor {
23
    /// Name of this monitor.
24
    #[serde(rename = "monitorName")]
25
    pub name: String,
26
    /// Positional index in the list of monitors.
27
    #[serde(rename = "monitorIndex")]
28
    pub index: u32,
29
    /// Pixel size.
30
    #[serde(flatten)]
31
    pub size: MonitorSize,
32
    /// Position on the screen.
33
    #[serde(flatten)]
34
    pub position: MonitorPosition,
35
}
36
37
/// Response value for [`crate::client::Ui::list_monitors`] as part of [`Monitor`].
38
5
#[derive(
Debug0
,
D3
eserialize)]
Unexecuted instantiation: <obws::responses::ui::MonitorSize as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::ui::MonitorSize as core::fmt::Debug>::fmt
<obws::responses::ui::MonitorSize as serde::de::Deserialize>::deserialize::<serde::__private::de::FlatMapDeserializer<serde_json::error::Error>>
Line
Count
Source
38
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::ui::MonitorSize as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<obws::responses::ui::MonitorSize as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<<obws::responses::ui::MonitorSize as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
38
2
#[derive(Debug, Deserialize)]
<<obws::responses::ui::MonitorSize as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<serde::__private::de::FlatStructAccess<serde_json::error::Error>>
Line
Count
Source
38
3
#[derive(Debug, 
D1
eserialize)]
<<obws::responses::ui::MonitorSize as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
38
2
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::ui::MonitorSize as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::ui::MonitorSize as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <obws::responses::ui::MonitorSize as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::ui::MonitorSize as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::ui::MonitorSize as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::ui::MonitorSize as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::ui::MonitorSize as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::ui::MonitorSize as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::ui::MonitorSize as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::ui::MonitorSize as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::ui::MonitorSize as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::ui::MonitorSize as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::ui::MonitorSize as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::ui::MonitorSize as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::ui::MonitorSize as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::ui::MonitorSize as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <obws::responses::ui::MonitorSize as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::ui::MonitorSize as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
39
pub struct MonitorSize {
40
    /// Pixel width.
41
    #[serde(rename = "monitorWidth")]
42
    pub width: u16,
43
    /// Pixel height.
44
    #[serde(rename = "monitorHeight")]
45
    pub height: u16,
46
}
47
48
/// Response value for [`crate::client::Ui::list_monitors`] as part of [`Monitor`].
49
5
#[derive(
Debug0
,
D3
eserialize)]
Unexecuted instantiation: <obws::responses::ui::MonitorPosition as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::ui::MonitorPosition as core::fmt::Debug>::fmt
<<obws::responses::ui::MonitorPosition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<serde::__private::de::FlatStructAccess<serde_json::error::Error>>
Line
Count
Source
49
3
#[derive(Debug, 
D1
eserialize)]
<<obws::responses::ui::MonitorPosition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
49
2
#[derive(Debug, Deserialize)]
<<obws::responses::ui::MonitorPosition as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
49
2
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::ui::MonitorPosition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
<obws::responses::ui::MonitorPosition as serde::de::Deserialize>::deserialize::<serde::__private::de::FlatMapDeserializer<serde_json::error::Error>>
Line
Count
Source
49
1
#[derive(Debug, Deserialize)]
Unexecuted instantiation: <<obws::responses::ui::MonitorPosition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_json::error::Error>
Unexecuted instantiation: <<obws::responses::ui::MonitorPosition as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::ui::MonitorPosition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <obws::responses::ui::MonitorPosition as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::ui::MonitorPosition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::ui::MonitorPosition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::ui::MonitorPosition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::ui::MonitorPosition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::ui::MonitorPosition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::ui::MonitorPosition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::ui::MonitorPosition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::ui::MonitorPosition as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::ui::MonitorPosition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::ui::MonitorPosition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::ui::MonitorPosition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <obws::responses::ui::MonitorPosition as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::ui::MonitorPosition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::ui::MonitorPosition as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::ui::MonitorPosition as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
50
pub struct MonitorPosition {
51
    /// Horizontal position on the screen.
52
    #[serde(rename = "monitorPositionX")]
53
    pub x: u16,
54
    /// Vertical position on the screen.
55
    #[serde(rename = "monitorPositionY")]
56
    pub y: u16,
57
}
\ No newline at end of file diff --git a/coverage/src/responses/virtual_cam.rs.html b/coverage/src/responses/virtual_cam.rs.html new file mode 100644 index 0000000..9c7ff93 --- /dev/null +++ b/coverage/src/responses/virtual_cam.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/responses/virtual_cam.rs
Line
Count
Source (jump to first uncovered line)
1
//! Responses related to the virtual camera.
2
3
use serde::Deserialize;
4
5
63
#[derive(
Debug0
,
D42
eserialize)]
Unexecuted instantiation: <obws::responses::virtual_cam::OutputActive as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::responses::virtual_cam::OutputActive as core::fmt::Debug>::fmt
Unexecuted instantiation: <<obws::responses::virtual_cam::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer>
<<obws::responses::virtual_cam::OutputActive as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::value::de::MapKeyDeserializer>
Line
Count
Source
5
21
#[derive(Debug, Deserialize)]
<<obws::responses::virtual_cam::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
5
21
#[derive(Debug, Deserialize)]
<obws::responses::virtual_cam::OutputActive as serde::de::Deserialize>::deserialize::<serde_json::value::Value>
Line
Count
Source
5
21
#[derive(Debug, Deserialize)]
<<obws::responses::virtual_cam::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde_json::value::de::MapDeserializer>
Line
Count
Source
5
42
#[derive(Debug, 
D21
eserialize)]
Unexecuted instantiation: <<obws::responses::virtual_cam::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::virtual_cam::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::virtual_cam::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::responses::virtual_cam::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::virtual_cam::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <obws::responses::virtual_cam::OutputActive as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::virtual_cam::OutputActive as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::virtual_cam::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::virtual_cam::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::responses::virtual_cam::OutputActive as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::virtual_cam::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_>
Unexecuted instantiation: <<obws::responses::virtual_cam::OutputActive as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_>
Unexecuted instantiation: <<obws::responses::virtual_cam::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>
Unexecuted instantiation: <<obws::responses::virtual_cam::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::virtual_cam::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_>
Unexecuted instantiation: <<obws::responses::virtual_cam::OutputActive as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::responses::virtual_cam::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::responses::virtual_cam::OutputActive as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
6
pub(crate) struct OutputActive {
7
    /// New state of the stream output.
8
    #[serde(rename = "outputActive")]
9
    pub active: bool,
10
}
\ No newline at end of file diff --git a/coverage/src/serde/bitflags_u8.rs.html b/coverage/src/serde/bitflags_u8.rs.html new file mode 100644 index 0000000..1aaf72c --- /dev/null +++ b/coverage/src/serde/bitflags_u8.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/serde/bitflags_u8.rs
Line
Count
Source (jump to first uncovered line)
1
use std::{
2
    fmt::{self, Display},
3
    marker::PhantomData,
4
};
5
6
use serde::{
7
    de::{self, Deserializer, Visitor},
8
    ser::Serializer,
9
};
10
11
0
#[derive(Debug, thiserror::Error)]
Unexecuted instantiation: <obws::serde::bitflags_u8::Error as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::serde::bitflags_u8::Error as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::serde::bitflags_u8::Error as core::fmt::Display>::fmt
Unexecuted instantiation: <obws::serde::bitflags_u8::Error as std::error::Error>::source
Unexecuted instantiation: <obws::serde::bitflags_u8::Error as std::error::Error>::source
Unexecuted instantiation: <obws::serde::bitflags_u8::Error as core::fmt::Display>::fmt
12
enum Error {
13
    #[error("value is too large for an u8: {0}")]
14
    ValueTooLarge(#[source] std::num::TryFromIntError),
15
    #[error("conversion from integer failed: {0}")]
16
    IntConversionFailed(String),
17
}
18
19
1
pub fn serialize<S, T>(value: &T, serializer: S) -> Result<S::Ok, S::Error>
20
1
where
21
1
    S: Serializer,
22
1
    T: Into<u8> + Copy,
23
1
{
24
1
    serializer.serialize_u8((*value).into())
25
1
}
Unexecuted instantiation: obws::serde::bitflags_u8::serialize::<_, _>
obws::serde::bitflags_u8::serialize::<&mut serde_test::ser::Serializer, obws::serde::bitflags_u8::tests::Flags>
Line
Count
Source
19
1
pub fn serialize<S, T>(value: &T, serializer: S) -> Result<S::Ok, S::Error>
20
1
where
21
1
    S: Serializer,
22
1
    T: Into<u8> + Copy,
23
1
{
24
1
    serializer.serialize_u8((*value).into())
25
1
}
26
27
4
pub fn deserialize<'de, D, T, TE>(deserializer: D) -> Result<T, D::Error>
28
4
where
29
4
    D: Deserializer<'de>,
30
4
    T: TryFrom<u8, Error = TE>,
31
4
    TE: Display,
32
4
{
33
4
    deserializer.deserialize_u8(BitflagsU8Visitor { flags: PhantomData })
34
4
}
Unexecuted instantiation: obws::serde::bitflags_u8::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>, obws::common::Alignment, obws::Error>
obws::serde::bitflags_u8::deserialize::<serde_json::value::Value, obws::common::Alignment, obws::Error>
Line
Count
Source
27
2
pub fn deserialize<'de, D, T, TE>(deserializer: D) -> Result<T, D::Error>
28
2
where
29
2
    D: Deserializer<'de>,
30
2
    T: TryFrom<u8, Error = TE>,
31
2
    TE: Display,
32
2
{
33
2
    deserializer.deserialize_u8(BitflagsU8Visitor { flags: PhantomData })
34
2
}
Unexecuted instantiation: obws::serde::bitflags_u8::deserialize::<_, _, _>
obws::serde::bitflags_u8::deserialize::<&mut serde_test::de::Deserializer, obws::serde::bitflags_u8::tests::Flags, obws::Error>
Line
Count
Source
27
2
pub fn deserialize<'de, D, T, TE>(deserializer: D) -> Result<T, D::Error>
28
2
where
29
2
    D: Deserializer<'de>,
30
2
    T: TryFrom<u8, Error = TE>,
31
2
    TE: Display,
32
2
{
33
2
    deserializer.deserialize_u8(BitflagsU8Visitor { flags: PhantomData })
34
2
}
Unexecuted instantiation: obws::serde::bitflags_u8::deserialize::<serde::de::value::MapAccessDeserializer<serde_test::de::DeserializerMapVisitor>, obws::serde::bitflags_u8::tests::Flags, obws::Error>
Unexecuted instantiation: obws::serde::bitflags_u8::deserialize::<serde::de::value::SeqAccessDeserializer<serde_test::de::DeserializerSeqVisitor>, obws::serde::bitflags_u8::tests::Flags, obws::Error>
35
36
struct BitflagsU8Visitor<T, TE> {
37
    flags: PhantomData<(T, TE)>,
38
}
39
40
impl<'de, T, TE> Visitor<'de> for BitflagsU8Visitor<T, TE>
41
where
42
    T: TryFrom<u8, Error = TE>,
43
    TE: Display,
44
{
45
    type Value = T;
46
47
0
    fn expecting(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
48
0
        formatter.write_str("bitflags encoded as u8 integer")
49
0
    }
Unexecuted instantiation: <obws::serde::bitflags_u8::BitflagsU8Visitor<obws::common::Alignment, obws::Error> as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::serde::bitflags_u8::BitflagsU8Visitor<_, _> as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::serde::bitflags_u8::BitflagsU8Visitor<obws::serde::bitflags_u8::tests::Flags, obws::Error> as serde::de::Visitor>::expecting
50
51
0
    fn visit_i64<E>(self, v: i64) -> Result<Self::Value, E>
52
0
    where
53
0
        E: de::Error,
54
0
    {
55
0
        u8::try_from(v)
56
0
            .map_err(|e| de::Error::custom(Error::ValueTooLarge(e)))
Unexecuted instantiation: <obws::serde::bitflags_u8::BitflagsU8Visitor<obws::common::Alignment, obws::Error> as serde::de::Visitor>::visit_i64::<serde_json::error::Error>::{closure#0}
Unexecuted instantiation: <obws::serde::bitflags_u8::BitflagsU8Visitor<_, _> as serde::de::Visitor>::visit_i64::<_>::{closure#0}
Unexecuted instantiation: <obws::serde::bitflags_u8::BitflagsU8Visitor<obws::serde::bitflags_u8::tests::Flags, obws::Error> as serde::de::Visitor>::visit_i64::<serde_test::error::Error>::{closure#0}
57
0
            .and_then(|v| self.visit_u8(v))
Unexecuted instantiation: <obws::serde::bitflags_u8::BitflagsU8Visitor<obws::common::Alignment, obws::Error> as serde::de::Visitor>::visit_i64::<serde_json::error::Error>::{closure#1}
Unexecuted instantiation: <obws::serde::bitflags_u8::BitflagsU8Visitor<_, _> as serde::de::Visitor>::visit_i64::<_>::{closure#1}
Unexecuted instantiation: <obws::serde::bitflags_u8::BitflagsU8Visitor<obws::serde::bitflags_u8::tests::Flags, obws::Error> as serde::de::Visitor>::visit_i64::<serde_test::error::Error>::{closure#1}
58
0
    }
Unexecuted instantiation: <obws::serde::bitflags_u8::BitflagsU8Visitor<obws::common::Alignment, obws::Error> as serde::de::Visitor>::visit_i64::<serde_json::error::Error>
Unexecuted instantiation: <obws::serde::bitflags_u8::BitflagsU8Visitor<_, _> as serde::de::Visitor>::visit_i64::<_>
Unexecuted instantiation: <obws::serde::bitflags_u8::BitflagsU8Visitor<obws::serde::bitflags_u8::tests::Flags, obws::Error> as serde::de::Visitor>::visit_i64::<serde_test::error::Error>
59
60
4
    fn visit_u8<E>(self, v: u8) -> Result<Self::Value, E>
61
4
    where
62
4
        E: de::Error,
63
4
    {
64
4
        T::try_from(v).map_err(|e| 
de::Error::custom(Error::IntConversionFailed(e.to_string()))0
)
Unexecuted instantiation: <obws::serde::bitflags_u8::BitflagsU8Visitor<obws::common::Alignment, obws::Error> as serde::de::Visitor>::visit_u8::<serde_json::error::Error>::{closure#0}
Unexecuted instantiation: <obws::serde::bitflags_u8::BitflagsU8Visitor<_, _> as serde::de::Visitor>::visit_u8::<_>::{closure#0}
Unexecuted instantiation: <obws::serde::bitflags_u8::BitflagsU8Visitor<obws::serde::bitflags_u8::tests::Flags, obws::Error> as serde::de::Visitor>::visit_u8::<serde_test::error::Error>::{closure#0}
65
4
    }
<obws::serde::bitflags_u8::BitflagsU8Visitor<obws::common::Alignment, obws::Error> as serde::de::Visitor>::visit_u8::<serde_json::error::Error>
Line
Count
Source
60
2
    fn visit_u8<E>(self, v: u8) -> Result<Self::Value, E>
61
2
    where
62
2
        E: de::Error,
63
2
    {
64
2
        T::try_from(v).map_err(|e| de::Error::custom(Error::IntConversionFailed(e.to_string())))
65
2
    }
Unexecuted instantiation: <obws::serde::bitflags_u8::BitflagsU8Visitor<_, _> as serde::de::Visitor>::visit_u8::<_>
<obws::serde::bitflags_u8::BitflagsU8Visitor<obws::serde::bitflags_u8::tests::Flags, obws::Error> as serde::de::Visitor>::visit_u8::<serde_test::error::Error>
Line
Count
Source
60
2
    fn visit_u8<E>(self, v: u8) -> Result<Self::Value, E>
61
2
    where
62
2
        E: de::Error,
63
2
    {
64
2
        T::try_from(v).map_err(|e| de::Error::custom(Error::IntConversionFailed(e.to_string())))
65
2
    }
66
67
2
    fn visit_u64<E>(self, v: u64) -> Result<Self::Value, E>
68
2
    where
69
2
        E: de::Error,
70
2
    {
71
2
        u8::try_from(v)
72
2
            .map_err(|e| 
de::Error::custom(Error::ValueTooLarge(e))0
)
Unexecuted instantiation: <obws::serde::bitflags_u8::BitflagsU8Visitor<obws::common::Alignment, obws::Error> as serde::de::Visitor>::visit_u64::<serde_json::error::Error>::{closure#0}
Unexecuted instantiation: <obws::serde::bitflags_u8::BitflagsU8Visitor<_, _> as serde::de::Visitor>::visit_u64::<_>::{closure#0}
Unexecuted instantiation: <obws::serde::bitflags_u8::BitflagsU8Visitor<obws::serde::bitflags_u8::tests::Flags, obws::Error> as serde::de::Visitor>::visit_u64::<serde_test::error::Error>::{closure#0}
73
2
            .and_then(|v| self.visit_u8(v))
<obws::serde::bitflags_u8::BitflagsU8Visitor<obws::common::Alignment, obws::Error> as serde::de::Visitor>::visit_u64::<serde_json::error::Error>::{closure#1}
Line
Count
Source
73
2
            .and_then(|v| self.visit_u8(v))
Unexecuted instantiation: <obws::serde::bitflags_u8::BitflagsU8Visitor<_, _> as serde::de::Visitor>::visit_u64::<_>::{closure#1}
Unexecuted instantiation: <obws::serde::bitflags_u8::BitflagsU8Visitor<obws::serde::bitflags_u8::tests::Flags, obws::Error> as serde::de::Visitor>::visit_u64::<serde_test::error::Error>::{closure#1}
74
2
    }
<obws::serde::bitflags_u8::BitflagsU8Visitor<obws::common::Alignment, obws::Error> as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Line
Count
Source
67
2
    fn visit_u64<E>(self, v: u64) -> Result<Self::Value, E>
68
2
    where
69
2
        E: de::Error,
70
2
    {
71
2
        u8::try_from(v)
72
2
            .map_err(|e| de::Error::custom(Error::ValueTooLarge(e)))
73
2
            .and_then(|v| self.visit_u8(v))
74
2
    }
Unexecuted instantiation: <obws::serde::bitflags_u8::BitflagsU8Visitor<_, _> as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <obws::serde::bitflags_u8::BitflagsU8Visitor<obws::serde::bitflags_u8::tests::Flags, obws::Error> as serde::de::Visitor>::visit_u64::<serde_test::error::Error>
75
}
76
77
#[cfg(test)]
78
mod tests {
79
    use bitflags::bitflags;
80
    use serde::{Deserialize, Serialize};
81
    use serde_test::{assert_tokens, Token};
82
83
    bitflags! {
84
        struct Flags: u8 {
85
            const ONE = 1;
86
            const TWO = 2;
87
        }
88
    }
89
90
    impl From<Flags> for u8 {
91
1
        fn from(value: Flags) -> Self {
92
1
            value.bits
93
1
        }
94
    }
95
96
    impl TryFrom<u8> for Flags {
97
        type Error = crate::Error;
98
99
2
        fn try_from(value: u8) -> Result<Self, Self::Error> {
100
2
            Self::from_bits(value).ok_or(Self::Error::UnknownFlags(value))
101
2
        }
102
    }
103
104
8
    #[derive(
Debug0
,
PartialEq2
,
Seri1
aliz1
e1
,
D6
ese
rializ0
e)]
Unexecuted instantiation: <obws::serde::bitflags_u8::tests::SimpleFlags as core::cmp::PartialEq>::ne
<obws::serde::bitflags_u8::tests::SimpleFlags as core::cmp::PartialEq>::eq
Line
Count
Source
104
2
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
<obws::serde::bitflags_u8::tests::SimpleFlags as serde::ser::Serialize>::serialize::<&mut serde_test::ser::Serializer>
Line
Count
Source
104
1
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
<<obws::serde::bitflags_u8::tests::SimpleFlags as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<&mut serde_test::ser::Serializer>
Line
Count
Source
104
1
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
Unexecuted instantiation: <<obws::serde::bitflags_u8::tests::SimpleFlags as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::de::value::U32Deserializer<serde_test::error::Error>>
Unexecuted instantiation: <<obws::serde::bitflags_u8::tests::SimpleFlags as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_test::de::BytesDeserializer>
<<obws::serde::bitflags_u8::tests::SimpleFlags as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_test::error::Error>
Line
Count
Source
104
2
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
<<obws::serde::bitflags_u8::tests::SimpleFlags as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<serde_test::de::DeserializerMapVisitor>
Line
Count
Source
104
4
    #[derive(Debug, PartialEq, Serialize, 
D2
eserialize)]
Unexecuted instantiation: <<obws::serde::bitflags_u8::tests::SimpleFlags as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<<obws::serde::bitflags_u8::tests::SimpleFlags as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<&mut serde_test::de::Deserializer>
Unexecuted instantiation: <<<obws::serde::bitflags_u8::tests::SimpleFlags as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde::de::value::SeqAccessDeserializer<serde_test::de::DeserializerSeqVisitor>>
<obws::serde::bitflags_u8::tests::SimpleFlags as serde::de::Deserialize>::deserialize::<&mut serde_test::de::Deserializer>
Line
Count
Source
104
2
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
Unexecuted instantiation: <<<obws::serde::bitflags_u8::tests::SimpleFlags as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde::de::value::MapAccessDeserializer<serde_test::de::DeserializerMapVisitor>>
<<<obws::serde::bitflags_u8::tests::SimpleFlags as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<&mut serde_test::de::Deserializer>
Line
Count
Source
104
2
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
<<obws::serde::bitflags_u8::tests::SimpleFlags as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_test::de::Deserializer>
Line
Count
Source
104
2
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
Unexecuted instantiation: <<obws::serde::bitflags_u8::tests::SimpleFlags as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<serde_test::de::EnumMapVisitor>
Unexecuted instantiation: <<obws::serde::bitflags_u8::tests::SimpleFlags as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<serde_test::de::DeserializerSeqVisitor>
Unexecuted instantiation: <<obws::serde::bitflags_u8::tests::SimpleFlags as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_test::error::Error>
Unexecuted instantiation: <<obws::serde::bitflags_u8::tests::SimpleFlags as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_test::error::Error>
Unexecuted instantiation: <<obws::serde::bitflags_u8::tests::SimpleFlags as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<serde_test::de::DeserializerSeqVisitor>::{closure#0}
Unexecuted instantiation: <<obws::serde::bitflags_u8::tests::SimpleFlags as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::serde::bitflags_u8::tests::SimpleFlags as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::de::value::StrDeserializer<serde_test::error::Error>>
105
    struct SimpleFlags {
106
        #[serde(with = "super")]
107
        value: Flags,
108
    }
109
110
1
    #[test]
111
1
    fn roundtrip() {
112
1
        assert_tokens(
113
1
            &SimpleFlags {
114
1
                value: Flags::ONE | Flags::TWO,
115
1
            },
116
1
            &[
117
1
                Token::Struct {
118
1
                    name: "SimpleFlags",
119
1
                    len: 1,
120
1
                },
121
1
                Token::Str("value"),
122
1
                Token::U8(3),
123
1
                Token::StructEnd,
124
1
            ],
125
1
        );
126
1
    }
127
}
\ No newline at end of file diff --git a/coverage/src/serde/duration_millis.rs.html b/coverage/src/serde/duration_millis.rs.html new file mode 100644 index 0000000..0d30aa8 --- /dev/null +++ b/coverage/src/serde/duration_millis.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/serde/duration_millis.rs
Line
Count
Source (jump to first uncovered line)
1
use std::fmt;
2
3
use serde::{
4
    de::{self, Deserializer, Visitor},
5
    ser::{self, Serializer},
6
};
7
use time::Duration;
8
9
1
#[derive(
Debug0
, thiserror::Error)]
Unexecuted instantiation: <obws::serde::duration_millis::Error as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::serde::duration_millis::Error as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::serde::duration_millis::Error as std::error::Error>::source
Unexecuted instantiation: <obws::serde::duration_millis::Error as core::fmt::Display>::fmt
Unexecuted instantiation: <obws::serde::duration_millis::Error as std::error::Error>::source
<obws::serde::duration_millis::Error as core::fmt::Display>::fmt
Line
Count
Source
9
1
#[derive(Debug, thiserror::Error)]
10
enum Error {
11
    #[error("value is too large for an i64: {0}")]
12
    ValueTooLargeI64(#[source] std::num::TryFromIntError),
13
}
14
15
6
pub fn serialize<S>(value: &Duration, serializer: S) -> Result<S::Ok, S::Error>
16
6
where
17
6
    S: Serializer,
18
6
{
19
6
    let millis = i64::try_from(value.whole_milliseconds())
20
6
        .map_err(|e| 
ser::Error::custom(Error::ValueTooLargeI64(e))0
)
?0
;
Unexecuted instantiation: obws::serde::duration_millis::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>::{closure#0}
Unexecuted instantiation: obws::serde::duration_millis::serialize::<_>::{closure#0}
Unexecuted instantiation: obws::serde::duration_millis::serialize::<&mut serde_test::ser::Serializer>::{closure#0}
21
6
    serializer.serialize_i64(millis)
22
6
}
obws::serde::duration_millis::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
15
5
pub fn serialize<S>(value: &Duration, serializer: S) -> Result<S::Ok, S::Error>
16
5
where
17
5
    S: Serializer,
18
5
{
19
5
    let millis = i64::try_from(value.whole_milliseconds())
20
5
        .map_err(|e| ser::Error::custom(Error::ValueTooLargeI64(e)))
?0
;
21
5
    serializer.serialize_i64(millis)
22
5
}
Unexecuted instantiation: obws::serde::duration_millis::serialize::<_>
obws::serde::duration_millis::serialize::<&mut serde_test::ser::Serializer>
Line
Count
Source
15
1
pub fn serialize<S>(value: &Duration, serializer: S) -> Result<S::Ok, S::Error>
16
1
where
17
1
    S: Serializer,
18
1
{
19
1
    let millis = i64::try_from(value.whole_milliseconds())
20
1
        .map_err(|e| ser::Error::custom(Error::ValueTooLargeI64(e)))
?0
;
21
1
    serializer.serialize_i64(millis)
22
1
}
23
24
45
pub fn deserialize<'de, D>(deserializer: D) -> Result<Duration, D::Error>
25
45
where
26
45
    D: Deserializer<'de>,
27
45
{
28
45
    deserializer.deserialize_i64(DurationMillisVisitor)
29
45
}
obws::serde::duration_millis::deserialize::<serde_json::value::Value>
Line
Count
Source
24
22
pub fn deserialize<'de, D>(deserializer: D) -> Result<Duration, D::Error>
25
22
where
26
22
    D: Deserializer<'de>,
27
22
{
28
22
    deserializer.deserialize_i64(DurationMillisVisitor)
29
22
}
obws::serde::duration_millis::deserialize::<serde::__private::de::content::ContentDeserializer<serde_json::error::Error>>
Line
Count
Source
24
18
pub fn deserialize<'de, D>(deserializer: D) -> Result<Duration, D::Error>
25
18
where
26
18
    D: Deserializer<'de>,
27
18
{
28
18
    deserializer.deserialize_i64(DurationMillisVisitor)
29
18
}
Unexecuted instantiation: obws::serde::duration_millis::deserialize::<_>
Unexecuted instantiation: obws::serde::duration_millis::deserialize::<serde::de::value::SeqAccessDeserializer<serde_test::de::DeserializerSeqVisitor>>
Unexecuted instantiation: obws::serde::duration_millis::deserialize::<serde::de::value::MapAccessDeserializer<serde_test::de::DeserializerMapVisitor>>
obws::serde::duration_millis::deserialize::<&mut serde_test::de::Deserializer>
Line
Count
Source
24
5
pub fn deserialize<'de, D>(deserializer: D) -> Result<Duration, D::Error>
25
5
where
26
5
    D: Deserializer<'de>,
27
5
{
28
5
    deserializer.deserialize_i64(DurationMillisVisitor)
29
5
}
30
31
struct DurationMillisVisitor;
32
33
impl<'de> Visitor<'de> for DurationMillisVisitor {
34
    type Value = Duration;
35
36
0
    fn expecting(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
37
0
        formatter.write_str("a duration in milliseconds")
38
0
    }
Unexecuted instantiation: <obws::serde::duration_millis::DurationMillisVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::serde::duration_millis::DurationMillisVisitor as serde::de::Visitor>::expecting
39
40
50
    fn visit_i64<E>(self, v: i64) -> Result<Self::Value, E>
41
50
    where
42
50
        E: de::Error,
43
50
    {
44
50
        Ok(Duration::milliseconds(v))
45
50
    }
<obws::serde::duration_millis::DurationMillisVisitor as serde::de::Visitor>::visit_i64::<serde_json::error::Error>
Line
Count
Source
40
44
    fn visit_i64<E>(self, v: i64) -> Result<Self::Value, E>
41
44
    where
42
44
        E: de::Error,
43
44
    {
44
44
        Ok(Duration::milliseconds(v))
45
44
    }
Unexecuted instantiation: <obws::serde::duration_millis::DurationMillisVisitor as serde::de::Visitor>::visit_i64::<_>
<obws::serde::duration_millis::DurationMillisVisitor as serde::de::Visitor>::visit_i64::<serde_test::error::Error>
Line
Count
Source
40
6
    fn visit_i64<E>(self, v: i64) -> Result<Self::Value, E>
41
6
    where
42
6
        E: de::Error,
43
6
    {
44
6
        Ok(Duration::milliseconds(v))
45
6
    }
46
47
47
    fn visit_u64<E>(self, v: u64) -> Result<Self::Value, E>
48
47
    where
49
47
        E: de::Error,
50
47
    {
51
47
        i64::try_from(v)
52
47
            .map_err(|e| 
de::Error::custom(Error::ValueTooLargeI64(e))1
)
Unexecuted instantiation: <obws::serde::duration_millis::DurationMillisVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>::{closure#0}
Unexecuted instantiation: <obws::serde::duration_millis::DurationMillisVisitor as serde::de::Visitor>::visit_u64::<_>::{closure#0}
<obws::serde::duration_millis::DurationMillisVisitor as serde::de::Visitor>::visit_u64::<serde_test::error::Error>::{closure#0}
Line
Count
Source
52
1
            .map_err(|e| de::Error::custom(Error::ValueTooLargeI64(e)))
53
47
            .and_then(|v| 
self.visit_i64(v)46
)
<obws::serde::duration_millis::DurationMillisVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>::{closure#1}
Line
Count
Source
53
44
            .and_then(|v| self.visit_i64(v))
Unexecuted instantiation: <obws::serde::duration_millis::DurationMillisVisitor as serde::de::Visitor>::visit_u64::<_>::{closure#1}
<obws::serde::duration_millis::DurationMillisVisitor as serde::de::Visitor>::visit_u64::<serde_test::error::Error>::{closure#1}
Line
Count
Source
53
2
            .and_then(|v| self.visit_i64(v))
54
47
    }
<obws::serde::duration_millis::DurationMillisVisitor as serde::de::Visitor>::visit_u64::<serde_json::error::Error>
Line
Count
Source
47
44
    fn visit_u64<E>(self, v: u64) -> Result<Self::Value, E>
48
44
    where
49
44
        E: de::Error,
50
44
    {
51
44
        i64::try_from(v)
52
44
            .map_err(|e| de::Error::custom(Error::ValueTooLargeI64(e)))
53
44
            .and_then(|v| self.visit_i64(v))
54
44
    }
Unexecuted instantiation: <obws::serde::duration_millis::DurationMillisVisitor as serde::de::Visitor>::visit_u64::<_>
<obws::serde::duration_millis::DurationMillisVisitor as serde::de::Visitor>::visit_u64::<serde_test::error::Error>
Line
Count
Source
47
3
    fn visit_u64<E>(self, v: u64) -> Result<Self::Value, E>
48
3
    where
49
3
        E: de::Error,
50
3
    {
51
3
        i64::try_from(v)
52
3
            .map_err(|e| de::Error::custom(Error::ValueTooLargeI64(e)))
53
3
            .and_then(|v| self.visit_i64(v))
54
3
    }
55
}
56
57
pub mod option {
58
    use super::*;
59
60
4
    pub fn serialize<S>(value: &Option<Duration>, serializer: S) -> Result<S::Ok, S::Error>
61
4
    where
62
4
        S: Serializer,
63
4
    {
64
4
        match value {
65
3
            Some(v) => {
66
3
                let millis = i64::try_from(v.whole_milliseconds())
67
3
                    .map_err(|e| 
ser::Error::custom(Error::ValueTooLargeI64(e))0
)
?0
;
Unexecuted instantiation: obws::serde::duration_millis::option::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>::{closure#0}
Unexecuted instantiation: obws::serde::duration_millis::option::serialize::<_>::{closure#0}
Unexecuted instantiation: obws::serde::duration_millis::option::serialize::<&mut serde_test::ser::Serializer>::{closure#0}
68
3
                serializer.serialize_some(&millis)
69
            }
70
1
            None => serializer.serialize_none(),
71
        }
72
4
    }
obws::serde::duration_millis::option::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Line
Count
Source
60
2
    pub fn serialize<S>(value: &Option<Duration>, serializer: S) -> Result<S::Ok, S::Error>
61
2
    where
62
2
        S: Serializer,
63
2
    {
64
2
        match value {
65
2
            Some(v) => {
66
2
                let millis = i64::try_from(v.whole_milliseconds())
67
2
                    .map_err(|e| ser::Error::custom(Error::ValueTooLargeI64(e)))
?0
;
68
2
                serializer.serialize_some(&millis)
69
            }
70
0
            None => serializer.serialize_none(),
71
        }
72
2
    }
Unexecuted instantiation: obws::serde::duration_millis::option::serialize::<_>
obws::serde::duration_millis::option::serialize::<&mut serde_test::ser::Serializer>
Line
Count
Source
60
2
    pub fn serialize<S>(value: &Option<Duration>, serializer: S) -> Result<S::Ok, S::Error>
61
2
    where
62
2
        S: Serializer,
63
2
    {
64
2
        match value {
65
1
            Some(v) => {
66
1
                let millis = i64::try_from(v.whole_milliseconds())
67
1
                    .map_err(|e| ser::Error::custom(Error::ValueTooLargeI64(e)))
?0
;
68
1
                serializer.serialize_some(&millis)
69
            }
70
1
            None => serializer.serialize_none(),
71
        }
72
2
    }
73
74
8
    pub fn deserialize<'de, D>(deserializer: D) -> Result<Option<Duration>, D::Error>
75
8
    where
76
8
        D: Deserializer<'de>,
77
8
    {
78
8
        deserializer.deserialize_option(DurationMillisOptVisitor)
79
8
    }
obws::serde::duration_millis::option::deserialize::<serde_json::value::Value>
Line
Count
Source
74
4
    pub fn deserialize<'de, D>(deserializer: D) -> Result<Option<Duration>, D::Error>
75
4
    where
76
4
        D: Deserializer<'de>,
77
4
    {
78
4
        deserializer.deserialize_option(DurationMillisOptVisitor)
79
4
    }
Unexecuted instantiation: obws::serde::duration_millis::option::deserialize::<_>
Unexecuted instantiation: obws::serde::duration_millis::option::deserialize::<serde::de::value::SeqAccessDeserializer<serde_test::de::DeserializerSeqVisitor>>
Unexecuted instantiation: obws::serde::duration_millis::option::deserialize::<serde::de::value::MapAccessDeserializer<serde_test::de::DeserializerMapVisitor>>
obws::serde::duration_millis::option::deserialize::<&mut serde_test::de::Deserializer>
Line
Count
Source
74
4
    pub fn deserialize<'de, D>(deserializer: D) -> Result<Option<Duration>, D::Error>
75
4
    where
76
4
        D: Deserializer<'de>,
77
4
    {
78
4
        deserializer.deserialize_option(DurationMillisOptVisitor)
79
4
    }
80
81
    struct DurationMillisOptVisitor;
82
83
    impl<'de> Visitor<'de> for DurationMillisOptVisitor {
84
        type Value = Option<Duration>;
85
86
0
        fn expecting(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
87
0
            formatter.write_str("a duration in milliseconds")
88
0
        }
Unexecuted instantiation: <obws::serde::duration_millis::option::DurationMillisOptVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::serde::duration_millis::option::DurationMillisOptVisitor as serde::de::Visitor>::expecting
89
90
2
        fn visit_none<E>(self) -> Result<Self::Value, E>
91
2
        where
92
2
            E: de::Error,
93
2
        {
94
2
            Ok(None)
95
2
        }
Unexecuted instantiation: <obws::serde::duration_millis::option::DurationMillisOptVisitor as serde::de::Visitor>::visit_none::<serde_json::error::Error>
Unexecuted instantiation: <obws::serde::duration_millis::option::DurationMillisOptVisitor as serde::de::Visitor>::visit_none::<_>
<obws::serde::duration_millis::option::DurationMillisOptVisitor as serde::de::Visitor>::visit_none::<serde_test::error::Error>
Line
Count
Source
90
2
        fn visit_none<E>(self) -> Result<Self::Value, E>
91
2
        where
92
2
            E: de::Error,
93
2
        {
94
2
            Ok(None)
95
2
        }
96
97
6
        fn visit_some<D>(self, deserializer: D) -> Result<Self::Value, D::Error>
98
6
        where
99
6
            D: Deserializer<'de>,
100
6
        {
101
6
            deserializer
102
6
                .deserialize_i64(DurationMillisVisitor)
103
6
                .map(Some)
104
6
        }
<obws::serde::duration_millis::option::DurationMillisOptVisitor as serde::de::Visitor>::visit_some::<serde_json::value::Value>
Line
Count
Source
97
4
        fn visit_some<D>(self, deserializer: D) -> Result<Self::Value, D::Error>
98
4
        where
99
4
            D: Deserializer<'de>,
100
4
        {
101
4
            deserializer
102
4
                .deserialize_i64(DurationMillisVisitor)
103
4
                .map(Some)
104
4
        }
Unexecuted instantiation: <obws::serde::duration_millis::option::DurationMillisOptVisitor as serde::de::Visitor>::visit_some::<_>
<obws::serde::duration_millis::option::DurationMillisOptVisitor as serde::de::Visitor>::visit_some::<&mut serde_test::de::Deserializer>
Line
Count
Source
97
2
        fn visit_some<D>(self, deserializer: D) -> Result<Self::Value, D::Error>
98
2
        where
99
2
            D: Deserializer<'de>,
100
2
        {
101
2
            deserializer
102
2
                .deserialize_i64(DurationMillisVisitor)
103
2
                .map(Some)
104
2
        }
105
    }
106
107
    #[cfg(test)]
108
    mod tests {
109
        use serde::{Deserialize, Serialize};
110
        use serde_test::{assert_de_tokens_error, assert_tokens, Token};
111
        use time::Duration;
112
113
17
        #[derive(
Debug0
,
PartialEq4
,
Seri2
aliz2
e2
,
D13
ese
rializ0
e)]
Unexecuted instantiation: <obws::serde::duration_millis::option::tests::SimpleDuration as core::cmp::PartialEq>::ne
<obws::serde::duration_millis::option::tests::SimpleDuration as core::cmp::PartialEq>::eq
Line
Count
Source
113
4
        #[derive(Debug, PartialEq, Serialize, Deserialize)]
<obws::serde::duration_millis::option::tests::SimpleDuration as serde::ser::Serialize>::serialize::<&mut serde_test::ser::Serializer>
Line
Count
Source
113
2
        #[derive(Debug, PartialEq, Serialize, Deserialize)]
<<obws::serde::duration_millis::option::tests::SimpleDuration as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<&mut serde_test::ser::Serializer>
Line
Count
Source
113
2
        #[derive(Debug, PartialEq, Serialize, Deserialize)]
Unexecuted instantiation: <<<obws::serde::duration_millis::option::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde::de::value::MapAccessDeserializer<serde_test::de::DeserializerMapVisitor>>
Unexecuted instantiation: <<obws::serde::duration_millis::option::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
<<<obws::serde::duration_millis::option::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<&mut serde_test::de::Deserializer>
Line
Count
Source
113
4
        #[derive(Debug, PartialEq, Serialize, Deserialize)]
<<obws::serde::duration_millis::option::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_test::error::Error>
Line
Count
Source
113
4
        #[derive(Debug, PartialEq, Serialize, Deserialize)]
Unexecuted instantiation: <<obws::serde::duration_millis::option::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
<<obws::serde::duration_millis::option::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_test::de::Deserializer>
Line
Count
Source
113
4
        #[derive(Debug, PartialEq, Serialize, Deserialize)]
<obws::serde::duration_millis::option::tests::SimpleDuration as serde::de::Deserialize>::deserialize::<&mut serde_test::de::Deserializer>
Line
Count
Source
113
5
        #[derive(Debug, PartialEq, Serialize, Deserialize)]
Unexecuted instantiation: <<obws::serde::duration_millis::option::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::de::value::StrDeserializer<serde_test::error::Error>>
Unexecuted instantiation: <<obws::serde::duration_millis::option::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<serde_test::de::EnumMapVisitor>
Unexecuted instantiation: <<obws::serde::duration_millis::option::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::de::value::U32Deserializer<serde_test::error::Error>>
Unexecuted instantiation: <<<obws::serde::duration_millis::option::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<&mut serde_test::de::Deserializer>
Unexecuted instantiation: <<obws::serde::duration_millis::option::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_test::error::Error>
Unexecuted instantiation: <<obws::serde::duration_millis::option::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_test::de::BytesDeserializer>
Unexecuted instantiation: <<obws::serde::duration_millis::option::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<serde_test::de::DeserializerSeqVisitor>
Unexecuted instantiation: <<obws::serde::duration_millis::option::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_test::error::Error>
Unexecuted instantiation: <<obws::serde::duration_millis::option::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<serde_test::de::DeserializerSeqVisitor>::{closure#0}
<<obws::serde::duration_millis::option::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<serde_test::de::DeserializerMapVisitor>
Line
Count
Source
113
9
        #[derive(Debug, PartialEq, Serialize, 
D5
eserialize)]
Unexecuted instantiation: <<<obws::serde::duration_millis::option::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde::de::value::SeqAccessDeserializer<serde_test::de::DeserializerSeqVisitor>>
114
        struct SimpleDuration {
115
            #[serde(with = "super")]
116
            value: Option<Duration>,
117
        }
118
119
1
        #[test]
120
1
        fn roundtrip() {
121
1
            assert_tokens(
122
1
                &SimpleDuration {
123
1
                    value: Some(Duration::milliseconds(150)),
124
1
                },
125
1
                &[
126
1
                    Token::Struct {
127
1
                        name: "SimpleDuration",
128
1
                        len: 1,
129
1
                    },
130
1
                    Token::Str("value"),
131
1
                    Token::Some,
132
1
                    Token::I64(150),
133
1
                    Token::StructEnd,
134
1
                ],
135
1
            );
136
1
137
1
            assert_tokens(
138
1
                &SimpleDuration { value: None },
139
1
                &[
140
1
                    Token::Struct {
141
1
                        name: "SimpleDuration",
142
1
                        len: 1,
143
1
                    },
144
1
                    Token::Str("value"),
145
1
                    Token::None,
146
1
                    Token::StructEnd,
147
1
                ],
148
1
            );
149
1
        }
150
151
1
        #[test]
152
1
        fn deser() {
153
1
            assert_de_tokens_error::<SimpleDuration>(
154
1
                &[
155
1
                    Token::Struct {
156
1
                        name: "SimpleDuration",
157
1
                        len: 0,
158
1
                    },
159
1
                    Token::StructEnd,
160
1
                ],
161
1
                "missing field `value`",
162
1
            );
163
1
        }
164
    }
165
}
166
167
#[cfg(test)]
168
mod tests {
169
    use serde::{Deserialize, Serialize};
170
    use serde_test::{assert_de_tokens, assert_de_tokens_error, assert_tokens, Token};
171
    use time::Duration;
172
173
20
    #[derive(
Debug0
,
PartialEq4
,
Seri1
aliz1
e1
,
D15
ese
rializ0
e)]
Unexecuted instantiation: <obws::serde::duration_millis::tests::SimpleDuration as core::cmp::PartialEq>::ne
<obws::serde::duration_millis::tests::SimpleDuration as core::cmp::PartialEq>::eq
Line
Count
Source
173
4
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
<<obws::serde::duration_millis::tests::SimpleDuration as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<&mut serde_test::ser::Serializer>
Line
Count
Source
173
1
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
<obws::serde::duration_millis::tests::SimpleDuration as serde::ser::Serialize>::serialize::<&mut serde_test::ser::Serializer>
Line
Count
Source
173
1
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
Unexecuted instantiation: <<<obws::serde::duration_millis::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde::de::value::MapAccessDeserializer<serde_test::de::DeserializerMapVisitor>>
Unexecuted instantiation: <<obws::serde::duration_millis::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
<<<obws::serde::duration_millis::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<&mut serde_test::de::Deserializer>
Line
Count
Source
173
5
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
<<obws::serde::duration_millis::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<serde_test::de::DeserializerMapVisitor>
Line
Count
Source
173
10
    #[derive(Debug, PartialEq, Serialize, 
D5
eserialize)]
Unexecuted instantiation: <<obws::serde::duration_millis::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::de::value::U32Deserializer<serde_test::error::Error>>
Unexecuted instantiation: <<obws::serde::duration_millis::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_test::error::Error>
Unexecuted instantiation: <<obws::serde::duration_millis::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::de::value::StrDeserializer<serde_test::error::Error>>
Unexecuted instantiation: <<obws::serde::duration_millis::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_test::error::Error>
Unexecuted instantiation: <<obws::serde::duration_millis::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
<<obws::serde::duration_millis::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_test::de::Deserializer>
Line
Count
Source
173
5
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
Unexecuted instantiation: <<obws::serde::duration_millis::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<serde_test::de::EnumMapVisitor>
Unexecuted instantiation: <<<obws::serde::duration_millis::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<&mut serde_test::de::Deserializer>
<obws::serde::duration_millis::tests::SimpleDuration as serde::de::Deserialize>::deserialize::<&mut serde_test::de::Deserializer>
Line
Count
Source
173
5
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
<<obws::serde::duration_millis::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_test::error::Error>
Line
Count
Source
173
5
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
Unexecuted instantiation: <<obws::serde::duration_millis::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<serde_test::de::DeserializerSeqVisitor>::{closure#0}
Unexecuted instantiation: <<obws::serde::duration_millis::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<serde_test::de::DeserializerSeqVisitor>
Unexecuted instantiation: <<<obws::serde::duration_millis::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde::de::value::SeqAccessDeserializer<serde_test::de::DeserializerSeqVisitor>>
Unexecuted instantiation: <<obws::serde::duration_millis::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_test::de::BytesDeserializer>
174
    struct SimpleDuration {
175
        #[serde(with = "super")]
176
        value: Duration,
177
    }
178
179
1
    #[test]
180
1
    fn roundtrip() {
181
1
        assert_tokens(
182
1
            &SimpleDuration {
183
1
                value: Duration::milliseconds(150),
184
1
            },
185
1
            &[
186
1
                Token::Struct {
187
1
                    name: "SimpleDuration",
188
1
                    len: 1,
189
1
                },
190
1
                Token::Str("value"),
191
1
                Token::I64(150),
192
1
                Token::StructEnd,
193
1
            ],
194
1
        );
195
1
    }
196
197
1
    #[test]
198
1
    fn deser() {
199
1
        assert_de_tokens(
200
1
            &SimpleDuration {
201
1
                value: Duration::milliseconds(150),
202
1
            },
203
1
            &[
204
1
                Token::Struct {
205
1
                    name: "SimpleDuration",
206
1
                    len: 1,
207
1
                },
208
1
                Token::Str("value"),
209
1
                Token::U64(150),
210
1
                Token::StructEnd,
211
1
            ],
212
1
        );
213
1
214
1
        assert_de_tokens_error::<SimpleDuration>(
215
1
            &[
216
1
                Token::Struct {
217
1
                    name: "SimpleDuration",
218
1
                    len: 1,
219
1
                },
220
1
                Token::Str("value"),
221
1
                Token::U64(u64::MAX),
222
1
                Token::StructEnd,
223
1
            ],
224
1
            "value is too large for an i64: \
225
1
            out of range integral type conversion attempted",
226
1
        );
227
1
    }
228
}
\ No newline at end of file diff --git a/coverage/src/serde/duration_timecode.rs.html b/coverage/src/serde/duration_timecode.rs.html new file mode 100644 index 0000000..c7f1313 --- /dev/null +++ b/coverage/src/serde/duration_timecode.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/serde/duration_timecode.rs
Line
Count
Source (jump to first uncovered line)
1
use std::fmt;
2
3
use serde::{
4
    de::{self, Deserializer, Visitor},
5
    ser::Serializer,
6
};
7
use time::Duration;
8
9
0
#[derive(Debug, thiserror::Error)]
Unexecuted instantiation: <obws::serde::duration_timecode::Error as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::serde::duration_timecode::Error as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::serde::duration_timecode::Error as core::fmt::Display>::fmt
Unexecuted instantiation: <obws::serde::duration_timecode::Error as core::convert::From<core::num::error::ParseIntError>>::from
Unexecuted instantiation: <obws::serde::duration_timecode::Error as std::error::Error>::source
Unexecuted instantiation: <obws::serde::duration_timecode::Error as std::error::Error>::source
Unexecuted instantiation: <obws::serde::duration_timecode::Error as core::fmt::Display>::fmt
Unexecuted instantiation: <obws::serde::duration_timecode::Error as core::convert::From<core::num::error::ParseIntError>>::from
10
enum Error {
11
    #[error("hours missing")]
12
    HoursMissing,
13
    #[error("minutes missing")]
14
    MinutesMissing,
15
    #[error("seconds missing")]
16
    SecondsMissing,
17
    #[error("milliseconds missing")]
18
    MillisecondsMissing,
19
    #[error("invalid integer")]
20
    InvalidInteger(#[from] std::num::ParseIntError),
21
}
22
23
#[allow(dead_code)]
24
1
pub fn serialize<S>(value: &Duration, serializer: S) -> Result<S::Ok, S::Error>
25
1
where
26
1
    S: Serializer,
27
1
{
28
1
    let whole_secs = value.whole_seconds();
29
1
    let hours = whole_secs / 3600;
30
1
    let minutes = whole_secs % 3600 / 60;
31
1
    let seconds = whole_secs % 3600 % 60;
32
1
    let millis = value.subsec_milliseconds();
33
1
34
1
    serializer.serialize_str(&format!("{hours:02}:{minutes:02}:{seconds:02}.{millis:03}"))
35
1
}
Unexecuted instantiation: obws::serde::duration_timecode::serialize::<_>
obws::serde::duration_timecode::serialize::<&mut serde_test::ser::Serializer>
Line
Count
Source
24
1
pub fn serialize<S>(value: &Duration, serializer: S) -> Result<S::Ok, S::Error>
25
1
where
26
1
    S: Serializer,
27
1
{
28
1
    let whole_secs = value.whole_seconds();
29
1
    let hours = whole_secs / 3600;
30
1
    let minutes = whole_secs % 3600 / 60;
31
1
    let seconds = whole_secs % 3600 % 60;
32
1
    let millis = value.subsec_milliseconds();
33
1
34
1
    serializer.serialize_str(&format!("{hours:02}:{minutes:02}:{seconds:02}.{millis:03}"))
35
1
}
36
37
23
pub fn deserialize<'de, D>(deserializer: D) -> Result<Duration, D::Error>
38
23
where
39
23
    D: Deserializer<'de>,
40
23
{
41
23
    deserializer.deserialize_str(DurationTimecodeVisitor)
42
23
}
obws::serde::duration_timecode::deserialize::<serde_json::value::Value>
Line
Count
Source
37
21
pub fn deserialize<'de, D>(deserializer: D) -> Result<Duration, D::Error>
38
21
where
39
21
    D: Deserializer<'de>,
40
21
{
41
21
    deserializer.deserialize_str(DurationTimecodeVisitor)
42
21
}
Unexecuted instantiation: obws::serde::duration_timecode::deserialize::<_>
Unexecuted instantiation: obws::serde::duration_timecode::deserialize::<serde::de::value::MapAccessDeserializer<serde_test::de::DeserializerMapVisitor>>
obws::serde::duration_timecode::deserialize::<&mut serde_test::de::Deserializer>
Line
Count
Source
37
2
pub fn deserialize<'de, D>(deserializer: D) -> Result<Duration, D::Error>
38
2
where
39
2
    D: Deserializer<'de>,
40
2
{
41
2
    deserializer.deserialize_str(DurationTimecodeVisitor)
42
2
}
Unexecuted instantiation: obws::serde::duration_timecode::deserialize::<serde::de::value::SeqAccessDeserializer<serde_test::de::DeserializerSeqVisitor>>
43
44
struct DurationTimecodeVisitor;
45
46
impl<'de> Visitor<'de> for DurationTimecodeVisitor {
47
    type Value = Duration;
48
49
0
    fn expecting(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
50
0
        formatter.write_str("a duration formatted as 'HH:MM:SS.mmm'")
51
0
    }
Unexecuted instantiation: <obws::serde::duration_timecode::DurationTimecodeVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::serde::duration_timecode::DurationTimecodeVisitor as serde::de::Visitor>::expecting
52
53
23
    fn visit_str<E>(self, v: &str) -> Result<Self::Value, E>
54
23
    where
55
23
        E: de::Error,
56
23
    {
57
23
        let duration = || -> Result<Duration, Error> {
58
23
            let mut hms = v.splitn(3, ':');
59
23
            let hours = hms.next().ok_or(Error::HoursMissing)
?0
.parse()
?0
;
60
23
            let minutes = hms.next().ok_or(Error::MinutesMissing)
?0
.parse()
?0
;
61
23
            let seconds = hms.next().ok_or(Error::SecondsMissing)
?0
;
62
63
23
            let mut sm = seconds.splitn(2, '.');
64
23
            let seconds = sm.next().ok_or(Error::SecondsMissing)
?0
.parse()
?0
;
65
23
            let millis = sm.next().ok_or(Error::MillisecondsMissing)
?0
.parse()
?0
;
66
67
23
            Ok(Duration::hours(hours)
68
23
                + Duration::minutes(minutes)
69
23
                + Duration::seconds(seconds)
70
23
                + Duration::milliseconds(millis))
71
23
        };
<obws::serde::duration_timecode::DurationTimecodeVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>::{closure#0}
Line
Count
Source
57
21
        let duration = || -> Result<Duration, Error> {
58
21
            let mut hms = v.splitn(3, ':');
59
21
            let hours = hms.next().ok_or(Error::HoursMissing)
?0
.parse()
?0
;
60
21
            let minutes = hms.next().ok_or(Error::MinutesMissing)
?0
.parse()
?0
;
61
21
            let seconds = hms.next().ok_or(Error::SecondsMissing)
?0
;
62
63
21
            let mut sm = seconds.splitn(2, '.');
64
21
            let seconds = sm.next().ok_or(Error::SecondsMissing)
?0
.parse()
?0
;
65
21
            let millis = sm.next().ok_or(Error::MillisecondsMissing)
?0
.parse()
?0
;
66
67
21
            Ok(Duration::hours(hours)
68
21
                + Duration::minutes(minutes)
69
21
                + Duration::seconds(seconds)
70
21
                + Duration::milliseconds(millis))
71
21
        };
Unexecuted instantiation: <obws::serde::duration_timecode::DurationTimecodeVisitor as serde::de::Visitor>::visit_str::<_>::{closure#0}
<obws::serde::duration_timecode::DurationTimecodeVisitor as serde::de::Visitor>::visit_str::<serde_test::error::Error>::{closure#0}
Line
Count
Source
57
2
        let duration = || -> Result<Duration, Error> {
58
2
            let mut hms = v.splitn(3, ':');
59
2
            let hours = hms.next().ok_or(Error::HoursMissing)
?0
.parse()
?0
;
60
2
            let minutes = hms.next().ok_or(Error::MinutesMissing)
?0
.parse()
?0
;
61
2
            let seconds = hms.next().ok_or(Error::SecondsMissing)
?0
;
62
63
2
            let mut sm = seconds.splitn(2, '.');
64
2
            let seconds = sm.next().ok_or(Error::SecondsMissing)
?0
.parse()
?0
;
65
2
            let millis = sm.next().ok_or(Error::MillisecondsMissing)
?0
.parse()
?0
;
66
67
2
            Ok(Duration::hours(hours)
68
2
                + Duration::minutes(minutes)
69
2
                + Duration::seconds(seconds)
70
2
                + Duration::milliseconds(millis))
71
2
        };
72
73
23
        duration().map_err(de::Error::custom)
74
23
    }
<obws::serde::duration_timecode::DurationTimecodeVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
53
21
    fn visit_str<E>(self, v: &str) -> Result<Self::Value, E>
54
21
    where
55
21
        E: de::Error,
56
21
    {
57
21
        let duration = || -> Result<Duration, Error> {
58
            let mut hms = v.splitn(3, ':');
59
            let hours = hms.next().ok_or(Error::HoursMissing)?.parse()?;
60
            let minutes = hms.next().ok_or(Error::MinutesMissing)?.parse()?;
61
            let seconds = hms.next().ok_or(Error::SecondsMissing)?;
62
63
            let mut sm = seconds.splitn(2, '.');
64
            let seconds = sm.next().ok_or(Error::SecondsMissing)?.parse()?;
65
            let millis = sm.next().ok_or(Error::MillisecondsMissing)?.parse()?;
66
67
            Ok(Duration::hours(hours)
68
                + Duration::minutes(minutes)
69
                + Duration::seconds(seconds)
70
                + Duration::milliseconds(millis))
71
        };
72
73
21
        duration().map_err(de::Error::custom)
74
21
    }
Unexecuted instantiation: <obws::serde::duration_timecode::DurationTimecodeVisitor as serde::de::Visitor>::visit_str::<_>
<obws::serde::duration_timecode::DurationTimecodeVisitor as serde::de::Visitor>::visit_str::<serde_test::error::Error>
Line
Count
Source
53
2
    fn visit_str<E>(self, v: &str) -> Result<Self::Value, E>
54
2
    where
55
2
        E: de::Error,
56
2
    {
57
2
        let duration = || -> Result<Duration, Error> {
58
            let mut hms = v.splitn(3, ':');
59
            let hours = hms.next().ok_or(Error::HoursMissing)?.parse()?;
60
            let minutes = hms.next().ok_or(Error::MinutesMissing)?.parse()?;
61
            let seconds = hms.next().ok_or(Error::SecondsMissing)?;
62
63
            let mut sm = seconds.splitn(2, '.');
64
            let seconds = sm.next().ok_or(Error::SecondsMissing)?.parse()?;
65
            let millis = sm.next().ok_or(Error::MillisecondsMissing)?.parse()?;
66
67
            Ok(Duration::hours(hours)
68
                + Duration::minutes(minutes)
69
                + Duration::seconds(seconds)
70
                + Duration::milliseconds(millis))
71
        };
72
73
2
        duration().map_err(de::Error::custom)
74
2
    }
75
}
76
77
#[cfg(test)]
78
mod tests {
79
    use serde::{Deserialize, Serialize};
80
    use serde_test::{assert_tokens, Token};
81
    use time::Duration;
82
83
8
    #[derive(
Debug0
,
PartialEq2
,
Seri1
aliz1
e1
,
D6
ese
rializ0
e)]
Unexecuted instantiation: <obws::serde::duration_timecode::tests::SimpleDuration as core::cmp::PartialEq>::ne
<obws::serde::duration_timecode::tests::SimpleDuration as core::cmp::PartialEq>::eq
Line
Count
Source
83
2
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
<obws::serde::duration_timecode::tests::SimpleDuration as serde::ser::Serialize>::serialize::<&mut serde_test::ser::Serializer>
Line
Count
Source
83
1
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
<<obws::serde::duration_timecode::tests::SimpleDuration as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<&mut serde_test::ser::Serializer>
Line
Count
Source
83
1
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
<<obws::serde::duration_timecode::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_test::error::Error>
Line
Count
Source
83
2
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
Unexecuted instantiation: <<obws::serde::duration_timecode::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<serde_test::de::DeserializerSeqVisitor>::{closure#0}
Unexecuted instantiation: <<obws::serde::duration_timecode::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_test::de::BytesDeserializer>
Unexecuted instantiation: <<obws::serde::duration_timecode::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<serde_test::de::EnumMapVisitor>
Unexecuted instantiation: <<obws::serde::duration_timecode::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_test::error::Error>
Unexecuted instantiation: <<obws::serde::duration_timecode::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::de::value::U32Deserializer<serde_test::error::Error>>
Unexecuted instantiation: <<obws::serde::duration_timecode::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_test::error::Error>
Unexecuted instantiation: <<obws::serde::duration_timecode::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
<obws::serde::duration_timecode::tests::SimpleDuration as serde::de::Deserialize>::deserialize::<&mut serde_test::de::Deserializer>
Line
Count
Source
83
2
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
Unexecuted instantiation: <<obws::serde::duration_timecode::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<serde_test::de::DeserializerSeqVisitor>
Unexecuted instantiation: <<<obws::serde::duration_timecode::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde::de::value::SeqAccessDeserializer<serde_test::de::DeserializerSeqVisitor>>
Unexecuted instantiation: <<<obws::serde::duration_timecode::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<&mut serde_test::de::Deserializer>
<<obws::serde::duration_timecode::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_test::de::Deserializer>
Line
Count
Source
83
2
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
<<obws::serde::duration_timecode::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<serde_test::de::DeserializerMapVisitor>
Line
Count
Source
83
4
    #[derive(Debug, PartialEq, Serialize, 
D2
eserialize)]
Unexecuted instantiation: <<obws::serde::duration_timecode::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::serde::duration_timecode::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::de::value::StrDeserializer<serde_test::error::Error>>
Unexecuted instantiation: <<<obws::serde::duration_timecode::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde::de::value::MapAccessDeserializer<serde_test::de::DeserializerMapVisitor>>
<<<obws::serde::duration_timecode::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<&mut serde_test::de::Deserializer>
Line
Count
Source
83
2
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
84
    struct SimpleDuration {
85
        #[serde(with = "super")]
86
        value: Duration,
87
    }
88
89
1
    #[test]
90
1
    fn roundtrip() {
91
1
        assert_tokens(
92
1
            &SimpleDuration {
93
1
                value: Duration::hours(2)
94
1
                    + Duration::minutes(15)
95
1
                    + Duration::seconds(4)
96
1
                    + Duration::milliseconds(310),
97
1
            },
98
1
            &[
99
1
                Token::Struct {
100
1
                    name: "SimpleDuration",
101
1
                    len: 1,
102
1
                },
103
1
                Token::Str("value"),
104
1
                Token::Str("02:15:04.310"),
105
1
                Token::StructEnd,
106
1
            ],
107
1
        );
108
1
    }
109
}
\ No newline at end of file diff --git a/coverage/src/serde/json_string.rs.html b/coverage/src/serde/json_string.rs.html new file mode 100644 index 0000000..48495d5 --- /dev/null +++ b/coverage/src/serde/json_string.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/serde/json_string.rs
Line
Count
Source (jump to first uncovered line)
1
use std::{fmt, marker::PhantomData};
2
3
use serde::{
4
    de::{self, DeserializeOwned, Deserializer, Visitor},
5
    ser::{self, Serialize, Serializer},
6
};
7
8
1
#[derive(
Debug0
, thiserror::Error)]
Unexecuted instantiation: <obws::serde::json_string::Error as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::serde::json_string::Error as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::serde::json_string::Error as core::fmt::Display>::fmt
Unexecuted instantiation: <obws::serde::json_string::Error as std::error::Error>::source
Unexecuted instantiation: <obws::serde::json_string::Error as std::error::Error>::source
<obws::serde::json_string::Error as core::fmt::Display>::fmt
Line
Count
Source
8
1
#[derive(Debug, thiserror::Error)]
9
enum Error {
10
    #[error("failed deserializing JSON string")]
11
    InvalidJson(#[source] serde_json::Error),
12
}
13
14
1
pub fn serialize<S, T>(value: &T, serializer: S) -> Result<S::Ok, S::Error>
15
1
where
16
1
    S: Serializer,
17
1
    T: Serialize,
18
1
{
19
1
    let json = serde_json::to_string(value).map_err(ser::Error::custom)
?0
;
20
1
    serializer.serialize_str(&json)
21
1
}
Unexecuted instantiation: obws::serde::json_string::serialize::<_, _>
obws::serde::json_string::serialize::<&mut serde_test::ser::Serializer, obws::serde::json_string::tests::Inner>
Line
Count
Source
14
1
pub fn serialize<S, T>(value: &T, serializer: S) -> Result<S::Ok, S::Error>
15
1
where
16
1
    S: Serializer,
17
1
    T: Serialize,
18
1
{
19
1
    let json = serde_json::to_string(value).map_err(ser::Error::custom)
?0
;
20
1
    serializer.serialize_str(&json)
21
1
}
22
23
#[allow(dead_code)]
24
3
pub fn deserialize<'de, D, T>(deserializer: D) -> Result<T, D::Error>
25
3
where
26
3
    D: Deserializer<'de>,
27
3
    T: DeserializeOwned,
28
3
{
29
3
    deserializer.deserialize_str(JsonStringVisitor(PhantomData))
30
3
}
Unexecuted instantiation: obws::serde::json_string::deserialize::<_, _>
Unexecuted instantiation: obws::serde::json_string::deserialize::<serde::de::value::SeqAccessDeserializer<serde_test::de::DeserializerSeqVisitor>, obws::serde::json_string::tests::Inner>
Unexecuted instantiation: obws::serde::json_string::deserialize::<serde::de::value::MapAccessDeserializer<serde_test::de::DeserializerMapVisitor>, obws::serde::json_string::tests::Inner>
obws::serde::json_string::deserialize::<&mut serde_test::de::Deserializer, obws::serde::json_string::tests::Inner>
Line
Count
Source
24
3
pub fn deserialize<'de, D, T>(deserializer: D) -> Result<T, D::Error>
25
3
where
26
3
    D: Deserializer<'de>,
27
3
    T: DeserializeOwned,
28
3
{
29
3
    deserializer.deserialize_str(JsonStringVisitor(PhantomData))
30
3
}
31
32
struct JsonStringVisitor<T>(PhantomData<T>);
33
34
impl<'de, T> Visitor<'de> for JsonStringVisitor<T>
35
where
36
    T: DeserializeOwned,
37
{
38
    type Value = T;
39
40
0
    fn expecting(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
41
0
        formatter.write_str("string value that contains JSON")
42
0
    }
Unexecuted instantiation: <obws::serde::json_string::JsonStringVisitor<_> as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::serde::json_string::JsonStringVisitor<obws::serde::json_string::tests::Inner> as serde::de::Visitor>::expecting
43
44
3
    fn visit_str<E>(self, v: &str) -> Result<Self::Value, E>
45
3
    where
46
3
        E: de::Error,
47
3
    {
48
3
        serde_json::from_str(v).map_err(|e| 
de::Error::custom(Error::InvalidJson(e))1
)
Unexecuted instantiation: <obws::serde::json_string::JsonStringVisitor<_> as serde::de::Visitor>::visit_str::<_>::{closure#0}
<obws::serde::json_string::JsonStringVisitor<obws::serde::json_string::tests::Inner> as serde::de::Visitor>::visit_str::<serde_test::error::Error>::{closure#0}
Line
Count
Source
48
1
        serde_json::from_str(v).map_err(|e| de::Error::custom(Error::InvalidJson(e)))
49
3
    }
Unexecuted instantiation: <obws::serde::json_string::JsonStringVisitor<_> as serde::de::Visitor>::visit_str::<_>
<obws::serde::json_string::JsonStringVisitor<obws::serde::json_string::tests::Inner> as serde::de::Visitor>::visit_str::<serde_test::error::Error>
Line
Count
Source
44
3
    fn visit_str<E>(self, v: &str) -> Result<Self::Value, E>
45
3
    where
46
3
        E: de::Error,
47
3
    {
48
3
        serde_json::from_str(v).map_err(|e| de::Error::custom(Error::InvalidJson(e)))
49
3
    }
50
}
51
52
#[cfg(test)]
53
mod tests {
54
    use serde::{Deserialize, Serialize};
55
    use serde_test::{assert_de_tokens_error, assert_tokens, Token};
56
57
6
    #[derive(
Debug0
,
PartialEq2
,
Seri1
aliz1
e1
,
D4
eserialize)]
Unexecuted instantiation: <obws::serde::json_string::tests::Inner as core::cmp::PartialEq>::ne
<obws::serde::json_string::tests::Inner as core::cmp::PartialEq>::eq
Line
Count
Source
57
2
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
Unexecuted instantiation: <<obws::serde::json_string::tests::Inner as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::serde::json_string::tests::Inner as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <<obws::serde::json_string::tests::Inner as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_>
Unexecuted instantiation: <<obws::serde::json_string::tests::Inner as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
<<obws::serde::json_string::tests::Inner as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_json::error::Error>
Line
Count
Source
57
2
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
<<obws::serde::json_string::tests::Inner as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<serde_json::de::MapAccess<serde_json::read::StrRead>>
Line
Count
Source
57
4
    #[derive(Debug, PartialEq, Serialize, 
D2
eserialize)]
<obws::serde::json_string::tests::Inner as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer<serde_json::read::StrRead>>
Line
Count
Source
57
3
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
<<obws::serde::json_string::tests::Inner as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_json::de::MapKey<serde_json::read::StrRead>>
Line
Count
Source
57
2
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
Unexecuted instantiation: <<obws::serde::json_string::tests::Inner as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<serde_json::de::SeqAccess<serde_json::read::StrRead>>
58
    struct Inner {
59
        value: u32,
60
    }
61
62
12
    #[derive(
Debug0
,
PartialEq2
,
Seri1
aliz1
e1
,
D9
ese
rializ0
e)]
Unexecuted instantiation: <obws::serde::json_string::tests::SimpleStruct as core::cmp::PartialEq>::ne
<obws::serde::json_string::tests::SimpleStruct as core::cmp::PartialEq>::eq
Line
Count
Source
62
2
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
<obws::serde::json_string::tests::SimpleStruct as serde::ser::Serialize>::serialize::<&mut serde_test::ser::Serializer>
Line
Count
Source
62
1
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
<<obws::serde::json_string::tests::SimpleStruct as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<&mut serde_test::ser::Serializer>
Line
Count
Source
62
1
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
<<obws::serde::json_string::tests::SimpleStruct as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_test::de::Deserializer>
Line
Count
Source
62
3
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
Unexecuted instantiation: <<obws::serde::json_string::tests::SimpleStruct as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::serde::json_string::tests::SimpleStruct as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_test::error::Error>
Unexecuted instantiation: <<<obws::serde::json_string::tests::SimpleStruct as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<&mut serde_test::de::Deserializer>
Unexecuted instantiation: <<obws::serde::json_string::tests::SimpleStruct as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::de::value::StrDeserializer<serde_test::error::Error>>
Unexecuted instantiation: <<obws::serde::json_string::tests::SimpleStruct as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::de::value::U32Deserializer<serde_test::error::Error>>
<<obws::serde::json_string::tests::SimpleStruct as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_test::error::Error>
Line
Count
Source
62
3
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
Unexecuted instantiation: <<obws::serde::json_string::tests::SimpleStruct as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<serde_test::de::EnumMapVisitor>
Unexecuted instantiation: <<obws::serde::json_string::tests::SimpleStruct as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_test::de::BytesDeserializer>
Unexecuted instantiation: <<obws::serde::json_string::tests::SimpleStruct as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::serde::json_string::tests::SimpleStruct as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<serde_test::de::DeserializerSeqVisitor>
Unexecuted instantiation: <<<obws::serde::json_string::tests::SimpleStruct as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde::de::value::SeqAccessDeserializer<serde_test::de::DeserializerSeqVisitor>>
<obws::serde::json_string::tests::SimpleStruct as serde::de::Deserialize>::deserialize::<&mut serde_test::de::Deserializer>
Line
Count
Source
62
3
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
<<obws::serde::json_string::tests::SimpleStruct as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<serde_test::de::DeserializerMapVisitor>
Line
Count
Source
62
6
    #[derive(Debug, PartialEq, Serialize, 
D3
eserialize)]
Unexecuted instantiation: <<obws::serde::json_string::tests::SimpleStruct as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<serde_test::de::DeserializerSeqVisitor>::{closure#0}
Unexecuted instantiation: <<<obws::serde::json_string::tests::SimpleStruct as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde::de::value::MapAccessDeserializer<serde_test::de::DeserializerMapVisitor>>
<<<obws::serde::json_string::tests::SimpleStruct as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<&mut serde_test::de::Deserializer>
Line
Count
Source
62
3
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
Unexecuted instantiation: <<obws::serde::json_string::tests::SimpleStruct as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_test::error::Error>
63
    struct SimpleStruct {
64
        #[serde(with = "super")]
65
        inner: Inner,
66
    }
67
68
1
    #[test]
69
1
    fn roundtrip() {
70
1
        assert_tokens(
71
1
            &SimpleStruct {
72
1
                inner: Inner { value: 5 },
73
1
            },
74
1
            &[
75
1
                Token::Struct {
76
1
                    name: "SimpleStruct",
77
1
                    len: 1,
78
1
                },
79
1
                Token::Str("inner"),
80
1
                Token::Str(r#"{"value":5}"#),
81
1
                Token::StructEnd,
82
1
            ],
83
1
        )
84
1
    }
85
86
1
    #[test]
87
1
    fn deser() {
88
1
        assert_de_tokens_error::<SimpleStruct>(
89
1
            &[
90
1
                Token::Struct {
91
1
                    name: "SimpleStruct",
92
1
                    len: 1,
93
1
                },
94
1
                Token::Str("inner"),
95
1
                Token::Str(""),
96
1
                Token::StructEnd,
97
1
            ],
98
1
            "failed deserializing JSON string",
99
1
        );
100
1
    }
101
}
\ No newline at end of file diff --git a/coverage/src/serde/rgba8_inverse.rs.html b/coverage/src/serde/rgba8_inverse.rs.html new file mode 100644 index 0000000..63b578a --- /dev/null +++ b/coverage/src/serde/rgba8_inverse.rs.html @@ -0,0 +1 @@ +

Coverage Report

Created: 2022-07-04 16:17

src/serde/rgba8_inverse.rs
Line
Count
Source (jump to first uncovered line)
1
use std::fmt;
2
3
use rgb::RGBA8;
4
use serde::{
5
    de::{self, Deserializer, Visitor},
6
    ser::Serializer,
7
};
8
9
0
#[derive(Debug, thiserror::Error)]
Unexecuted instantiation: <obws::serde::rgba8_inverse::Error as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::serde::rgba8_inverse::Error as core::fmt::Debug>::fmt
Unexecuted instantiation: <obws::serde::rgba8_inverse::Error as std::error::Error>::source
Unexecuted instantiation: <obws::serde::rgba8_inverse::Error as core::fmt::Display>::fmt
Unexecuted instantiation: <obws::serde::rgba8_inverse::Error as std::error::Error>::source
Unexecuted instantiation: <obws::serde::rgba8_inverse::Error as core::fmt::Display>::fmt
10
enum Error {
11
    #[error("value is too large for an u32: {0}")]
12
    ValueTooLarge(#[source] std::num::TryFromIntError),
13
}
14
15
1
pub fn serialize<S>(value: &RGBA8, serializer: S) -> Result<S::Ok, S::Error>
16
1
where
17
1
    S: Serializer,
18
1
{
19
1
    let abgr =
20
1
        (value.a as u32) << 24 | (value.b as u32) << 16 | (value.g as u32) << 8 | (value.r as u32);
21
1
    serializer.serialize_u32(abgr)
22
1
}
Unexecuted instantiation: obws::serde::rgba8_inverse::serialize::<_>
obws::serde::rgba8_inverse::serialize::<&mut serde_test::ser::Serializer>
Line
Count
Source
15
1
pub fn serialize<S>(value: &RGBA8, serializer: S) -> Result<S::Ok, S::Error>
16
1
where
17
1
    S: Serializer,
18
1
{
19
1
    let abgr =
20
1
        (value.a as u32) << 24 | (value.b as u32) << 16 | (value.g as u32) << 8 | (value.r as u32);
21
1
    serializer.serialize_u32(abgr)
22
1
}
23
24
#[allow(dead_code)]
25
2
pub fn deserialize<'de, D>(deserializer: D) -> Result<RGBA8, D::Error>
26
2
where
27
2
    D: Deserializer<'de>,
28
2
{
29
2
    deserializer.deserialize_u32(Rgba8InverseVisitor)
30
2
}
Unexecuted instantiation: obws::serde::rgba8_inverse::deserialize::<_>
obws::serde::rgba8_inverse::deserialize::<&mut serde_test::de::Deserializer>
Line
Count
Source
25
2
pub fn deserialize<'de, D>(deserializer: D) -> Result<RGBA8, D::Error>
26
2
where
27
2
    D: Deserializer<'de>,
28
2
{
29
2
    deserializer.deserialize_u32(Rgba8InverseVisitor)
30
2
}
Unexecuted instantiation: obws::serde::rgba8_inverse::deserialize::<serde::de::value::MapAccessDeserializer<serde_test::de::DeserializerMapVisitor>>
Unexecuted instantiation: obws::serde::rgba8_inverse::deserialize::<serde::de::value::SeqAccessDeserializer<serde_test::de::DeserializerSeqVisitor>>
31
32
struct Rgba8InverseVisitor;
33
34
impl<'de> Visitor<'de> for Rgba8InverseVisitor {
35
    type Value = RGBA8;
36
37
0
    fn expecting(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
38
0
        formatter.write_str("RGBA color encoded as u32 integer in reverse order")
39
0
    }
Unexecuted instantiation: <obws::serde::rgba8_inverse::Rgba8InverseVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <obws::serde::rgba8_inverse::Rgba8InverseVisitor as serde::de::Visitor>::expecting
40
41
0
    fn visit_i64<E>(self, v: i64) -> Result<Self::Value, E>
42
0
    where
43
0
        E: de::Error,
44
0
    {
45
0
        u32::try_from(v)
46
0
            .map_err(|e| de::Error::custom(Error::ValueTooLarge(e)))
Unexecuted instantiation: <obws::serde::rgba8_inverse::Rgba8InverseVisitor as serde::de::Visitor>::visit_i64::<_>::{closure#0}
Unexecuted instantiation: <obws::serde::rgba8_inverse::Rgba8InverseVisitor as serde::de::Visitor>::visit_i64::<serde_test::error::Error>::{closure#0}
47
0
            .and_then(|v| self.visit_u32(v))
Unexecuted instantiation: <obws::serde::rgba8_inverse::Rgba8InverseVisitor as serde::de::Visitor>::visit_i64::<_>::{closure#1}
Unexecuted instantiation: <obws::serde::rgba8_inverse::Rgba8InverseVisitor as serde::de::Visitor>::visit_i64::<serde_test::error::Error>::{closure#1}
48
0
    }
Unexecuted instantiation: <obws::serde::rgba8_inverse::Rgba8InverseVisitor as serde::de::Visitor>::visit_i64::<_>
Unexecuted instantiation: <obws::serde::rgba8_inverse::Rgba8InverseVisitor as serde::de::Visitor>::visit_i64::<serde_test::error::Error>
49
50
2
    fn visit_u32<E>(self, v: u32) -> Result<Self::Value, E>
51
2
    where
52
2
        E: de::Error,
53
2
    {
54
2
        Ok(RGBA8 {
55
2
            r: (v & 0xff) as u8,
56
2
            g: (v >> 8 & 0xff) as u8,
57
2
            b: (v >> 16 & 0xff) as u8,
58
2
            a: (v >> 24 & 0xff) as u8,
59
2
        })
60
2
    }
Unexecuted instantiation: <obws::serde::rgba8_inverse::Rgba8InverseVisitor as serde::de::Visitor>::visit_u32::<_>
<obws::serde::rgba8_inverse::Rgba8InverseVisitor as serde::de::Visitor>::visit_u32::<serde_test::error::Error>
Line
Count
Source
50
2
    fn visit_u32<E>(self, v: u32) -> Result<Self::Value, E>
51
2
    where
52
2
        E: de::Error,
53
2
    {
54
2
        Ok(RGBA8 {
55
2
            r: (v & 0xff) as u8,
56
2
            g: (v >> 8 & 0xff) as u8,
57
2
            b: (v >> 16 & 0xff) as u8,
58
2
            a: (v >> 24 & 0xff) as u8,
59
2
        })
60
2
    }
61
62
0
    fn visit_u64<E>(self, v: u64) -> Result<Self::Value, E>
63
0
    where
64
0
        E: de::Error,
65
0
    {
66
0
        u32::try_from(v)
67
0
            .map_err(|e| de::Error::custom(Error::ValueTooLarge(e)))
Unexecuted instantiation: <obws::serde::rgba8_inverse::Rgba8InverseVisitor as serde::de::Visitor>::visit_u64::<_>::{closure#0}
Unexecuted instantiation: <obws::serde::rgba8_inverse::Rgba8InverseVisitor as serde::de::Visitor>::visit_u64::<serde_test::error::Error>::{closure#0}
68
0
            .and_then(|v| self.visit_u32(v))
Unexecuted instantiation: <obws::serde::rgba8_inverse::Rgba8InverseVisitor as serde::de::Visitor>::visit_u64::<_>::{closure#1}
Unexecuted instantiation: <obws::serde::rgba8_inverse::Rgba8InverseVisitor as serde::de::Visitor>::visit_u64::<serde_test::error::Error>::{closure#1}
69
0
    }
Unexecuted instantiation: <obws::serde::rgba8_inverse::Rgba8InverseVisitor as serde::de::Visitor>::visit_u64::<_>
Unexecuted instantiation: <obws::serde::rgba8_inverse::Rgba8InverseVisitor as serde::de::Visitor>::visit_u64::<serde_test::error::Error>
70
}
71
72
#[cfg(test)]
73
mod tests {
74
    use rgb::RGBA8;
75
    use serde::{Deserialize, Serialize};
76
    use serde_test::{assert_tokens, Token};
77
78
8
    #[derive(
Debug0
,
PartialEq2
,
Seri1
aliz1
e1
,
D6
ese
rializ0
e)]
Unexecuted instantiation: <obws::serde::rgba8_inverse::tests::SimpleDuration as core::cmp::PartialEq>::ne
<obws::serde::rgba8_inverse::tests::SimpleDuration as core::cmp::PartialEq>::eq
Line
Count
Source
78
2
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
<obws::serde::rgba8_inverse::tests::SimpleDuration as serde::ser::Serialize>::serialize::<&mut serde_test::ser::Serializer>
Line
Count
Source
78
1
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
<<obws::serde::rgba8_inverse::tests::SimpleDuration as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<&mut serde_test::ser::Serializer>
Line
Count
Source
78
1
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
Unexecuted instantiation: <<obws::serde::rgba8_inverse::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::de::value::StrDeserializer<serde_test::error::Error>>
<<obws::serde::rgba8_inverse::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_test::de::Deserializer>
Line
Count
Source
78
2
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
Unexecuted instantiation: <<<obws::serde::rgba8_inverse::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde::de::value::SeqAccessDeserializer<serde_test::de::DeserializerSeqVisitor>>
<<obws::serde::rgba8_inverse::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<serde_test::error::Error>
Line
Count
Source
78
2
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
<<<obws::serde::rgba8_inverse::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<&mut serde_test::de::Deserializer>
Line
Count
Source
78
2
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
Unexecuted instantiation: <<obws::serde::rgba8_inverse::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde_test::de::BytesDeserializer>
Unexecuted instantiation: <<obws::serde::rgba8_inverse::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting
Unexecuted instantiation: <<obws::serde::rgba8_inverse::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<serde_test::de::DeserializerSeqVisitor>::{closure#0}
Unexecuted instantiation: <<<obws::serde::rgba8_inverse::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<&mut serde_test::de::Deserializer>
Unexecuted instantiation: <<obws::serde::rgba8_inverse::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<serde_test::de::EnumMapVisitor>
Unexecuted instantiation: <<obws::serde::rgba8_inverse::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting
<obws::serde::rgba8_inverse::tests::SimpleDuration as serde::de::Deserialize>::deserialize::<&mut serde_test::de::Deserializer>
Line
Count
Source
78
2
    #[derive(Debug, PartialEq, Serialize, Deserialize)]
<<obws::serde::rgba8_inverse::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::<serde_test::de::DeserializerMapVisitor>
Line
Count
Source
78
4
    #[derive(Debug, PartialEq, Serialize, 
D2
eserialize)]
Unexecuted instantiation: <<<obws::serde::rgba8_inverse::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<serde::de::value::MapAccessDeserializer<serde_test::de::DeserializerMapVisitor>>
Unexecuted instantiation: <<obws::serde::rgba8_inverse::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<serde_test::error::Error>
Unexecuted instantiation: <<obws::serde::rgba8_inverse::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<serde_test::de::DeserializerSeqVisitor>
Unexecuted instantiation: <<obws::serde::rgba8_inverse::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<serde_test::error::Error>
Unexecuted instantiation: <<obws::serde::rgba8_inverse::tests::SimpleDuration as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<serde::de::value::U32Deserializer<serde_test::error::Error>>
79
    struct SimpleDuration {
80
        #[serde(with = "super")]
81
        value: RGBA8,
82
    }
83
84
1
    #[test]
85
1
    fn roundtrip() {
86
1
        assert_tokens(
87
1
            &SimpleDuration {
88
1
                value: RGBA8::new(1, 2, 3, 4),
89
1
            },
90
1
            &[
91
1
                Token::Struct {
92
1
                    name: "SimpleDuration",
93
1
                    len: 1,
94
1
                },
95
1
                Token::Str("value"),
96
1
                Token::U32(0x04030201),
97
1
                Token::StructEnd,
98
1
            ],
99
1
        );
100
1
    }
101
}
\ No newline at end of file diff --git a/index.html b/index.html index 714440e..db6d2dc 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -

Coverage Report

Created: 2022-05-25 22:28

Click here for information about interpreting this report.

FilenameFunction CoverageLine CoverageRegion CoverageBranch Coverage
client/config.rs
  93.94% (31/33)
  93.58% (102/109)
  92.54% (62/67)
- (0/0)
client/connection.rs
  50.00% (13/26)
  74.34% (84/113)
  48.84% (42/86)
- (0/0)
client/filters.rs
 100.00% (21/21)
 100.00% (91/91)
  95.56% (43/45)
- (0/0)
client/general.rs
  81.25% (13/16)
  73.68% (42/57)
  74.36% (29/39)
- (0/0)
client/inputs.rs
  77.08% (37/48)
  71.12% (133/187)
  74.26% (75/101)
- (0/0)
client/media_inputs.rs
 100.00% (8/8)
 100.00% (41/41)
 100.00% (16/16)
- (0/0)
client/mod.rs
  78.05% (32/41)
  74.35% (200/269)
  56.04% (102/182)
- (0/0)
client/outputs.rs
 100.00% (25/25)
 100.00% (56/56)
 100.00% (50/50)
- (0/0)
client/recording.rs
 100.00% (16/16)
 100.00% (29/29)
 100.00% (32/32)
- (0/0)
client/scene_items.rs
  88.10% (37/42)
  78.85% (123/156)
  87.06% (74/85)
- (0/0)
client/scenes.rs
 100.00% (25/25)
 100.00% (70/70)
 100.00% (50/50)
- (0/0)
client/sources.rs
 100.00% (7/7)
 100.00% (17/17)
 100.00% (14/14)
- (0/0)
client/streaming.rs
  18.18% (2/11)
  14.29% (3/21)
  18.18% (4/22)
- (0/0)
client/transitions.rs
 100.00% (20/20)
 100.00% (65/65)
  97.62% (41/42)
- (0/0)
client/ui.rs
  35.71% (5/14)
  38.89% (14/36)
  35.71% (10/28)
- (0/0)
common.rs
  43.75% (7/16)
  45.00% (9/20)
  51.85% (14/27)
- (0/0)
de.rs
  65.85% (27/41)
  88.89% (224/252)
  66.28% (57/86)
- (0/0)
events.rs
  40.00% (6/15)
  40.00% (6/15)
  51.22% (21/41)
- (0/0)
lib.rs
  33.33% (1/3)
  33.33% (1/3)
  20.00% (1/5)
- (0/0)
requests/mod.rs
  50.79% (32/63)
  61.83% (81/131)
  55.15% (91/165)
- (0/0)
requests/ser.rs
 100.00% (2/2)
  92.86% (13/14)
  80.00% (4/5)
- (0/0)
responses/mod.rs
  42.65% (58/136)
  47.62% (70/147)
  62.61% (273/436)
- (0/0)
Totals
  67.57% (425/629)
  77.62% (1474/1899)
  68.04% (1105/1624)
- (0/0)
Generated by llvm-cov -- llvm version 14.0.0-rust-1.61.0-stable
\ No newline at end of file +

Coverage Report

Created: 2022-07-04 16:17

Click here for information about interpreting this report.

FilenameFunction CoverageLine CoverageRegion CoverageBranch Coverage
client/config.rs
 100.00% (15/15)
 100.00% (46/46)
  96.77% (30/31)
- (0/0)
client/connection.rs
  50.00% (13/26)
  74.34% (84/113)
  50.00% (43/86)
- (0/0)
client/filters.rs
 100.00% (21/21)
 100.00% (66/66)
  95.56% (43/45)
- (0/0)
client/general.rs
  75.00% (6/8)
  52.94% (18/34)
  68.18% (15/22)
- (0/0)
client/hotkeys.rs
 100.00% (7/7)
 100.00% (17/17)
 100.00% (14/14)
- (0/0)
client/inputs.rs
  77.08% (37/48)
  70.55% (103/146)
  74.26% (75/101)
- (0/0)
client/media_inputs.rs
 100.00% (8/8)
 100.00% (18/18)
 100.00% (16/16)
- (0/0)
client/mod.rs
  81.25% (39/48)
  77.08% (232/301)
  58.25% (113/194)
- (0/0)
client/outputs.rs
 100.00% (17/17)
 100.00% (42/42)
  97.14% (34/35)
- (0/0)
client/profiles.rs
 100.00% (15/15)
 100.00% (33/33)
 100.00% (30/30)
- (0/0)
client/recording.rs
 100.00% (17/17)
 100.00% (33/33)
 100.00% (34/34)
- (0/0)
client/replay_buffer.rs
 100.00% (15/15)
 100.00% (30/30)
 100.00% (30/30)
- (0/0)
client/scene_collections.rs
  77.78% (7/9)
  81.25% (13/16)
  77.78% (14/18)
- (0/0)
client/scene_items.rs
  95.24% (40/42)
  90.27% (102/113)
  94.12% (80/85)
- (0/0)
client/scenes.rs
 100.00% (25/25)
 100.00% (61/61)
 100.00% (50/50)
- (0/0)
client/sources.rs
 100.00% (7/7)
 100.00% (15/15)
 100.00% (14/14)
- (0/0)
client/streaming.rs
  18.18% (2/11)
  14.29% (3/21)
  18.18% (4/22)
- (0/0)
client/transitions.rs
 100.00% (20/20)
 100.00% (55/55)
  97.62% (41/42)
- (0/0)
client/ui.rs
  66.67% (12/18)
  71.15% (37/52)
  66.67% (24/36)
- (0/0)
client/virtual_cam.rs
 100.00% (10/10)
 100.00% (20/20)
 100.00% (20/20)
- (0/0)
common.rs
  50.00% (9/18)
  42.31% (11/26)
  62.07% (18/29)
- (0/0)
events.rs
  66.67% (10/15)
  66.67% (10/15)
  65.85% (27/41)
- (0/0)
lib.rs
  33.33% (1/3)
  33.33% (1/3)
  20.00% (1/5)
- (0/0)
requests/config.rs
  75.00% (6/8)
  89.47% (17/19)
  72.22% (13/18)
- (0/0)
requests/custom/source_settings.rs
   0.00% (0/44)
   0.00% (0/197)
   0.00% (0/150)
- (0/0)
requests/custom/transitions.rs
   0.00% (0/27)
   0.00% (0/37)
   0.00% (0/49)
- (0/0)
requests/filters.rs
  58.33% (7/12)
  64.29% (9/14)
  64.29% (18/28)
- (0/0)
requests/general.rs
  50.00% (2/4)
  66.67% (4/6)
  40.00% (4/10)
- (0/0)
requests/hotkeys.rs
 100.00% (4/4)
 100.00% (6/6)
  80.00% (8/10)
- (0/0)
requests/inputs.rs
  57.14% (4/7)
  66.67% (6/9)
  52.94% (9/17)
- (0/0)
requests/media_inputs.rs
 100.00% (2/2)
 100.00% (4/4)
  80.00% (4/5)
- (0/0)
requests/mod.rs
  60.00% (6/10)
  92.00% (69/75)
  70.91% (39/55)
- (0/0)
requests/outputs.rs
 100.00% (2/2)
 100.00% (4/4)
  80.00% (4/5)
- (0/0)
requests/profiles.rs
  75.00% (3/4)
  83.33% (5/6)
  70.00% (7/10)
- (0/0)
requests/recording.rs
 100.00% (2/2)
 100.00% (4/4)
 100.00% (3/3)
- (0/0)
requests/replay_buffer.rs
 100.00% (2/2)
 100.00% (4/4)
 100.00% (3/3)
- (0/0)
requests/scene_collections.rs
 100.00% (2/2)
 100.00% (4/4)
  80.00% (4/5)
- (0/0)
requests/scene_items.rs
  44.83% (13/29)
  26.79% (15/56)
  49.33% (37/75)
- (0/0)
requests/scenes.rs
  75.00% (3/4)
  83.33% (5/6)
  70.00% (7/10)
- (0/0)
requests/sources.rs
  80.00% (4/5)
  85.71% (6/7)
  71.43% (10/14)
- (0/0)
requests/streaming.rs
 100.00% (2/2)
 100.00% (4/4)
  60.00% (3/5)
- (0/0)
requests/transitions.rs
 100.00% (2/2)
 100.00% (4/4)
  80.00% (4/5)
- (0/0)
requests/ui.rs
  76.47% (13/17)
  87.50% (70/80)
  75.68% (28/37)
- (0/0)
requests/virtual_cam.rs
 100.00% (2/2)
 100.00% (4/4)
 100.00% (3/3)
- (0/0)
responses/config.rs
  50.00% (3/6)
  50.00% (3/6)
  68.18% (15/22)
- (0/0)
responses/filters.rs
  42.86% (3/7)
  42.86% (3/7)
  73.68% (14/19)
- (0/0)
responses/general.rs
  33.33% (2/6)
  33.33% (2/6)
  61.11% (22/36)
- (0/0)
responses/hotkeys.rs
  50.00% (1/2)
  50.00% (1/2)
  75.00% (3/4)
- (0/0)
responses/inputs.rs
  37.50% (9/24)
  37.50% (9/24)
  50.82% (31/61)
- (0/0)
responses/media_inputs.rs
  40.00% (2/5)
  40.00% (2/5)
  63.64% (7/11)
- (0/0)
responses/mod.rs
  50.00% (9/18)
  72.41% (21/29)
  54.67% (41/75)
- (0/0)
responses/outputs.rs
  50.00% (6/12)
  50.00% (6/12)
  80.43% (37/46)
- (0/0)
responses/profiles.rs
  50.00% (2/4)
  50.00% (2/4)
  42.86% (6/14)
- (0/0)
responses/recording.rs
  50.00% (4/8)
  50.00% (4/8)
  80.00% (16/20)
- (0/0)
responses/replay_buffer.rs
  50.00% (2/4)
  50.00% (2/4)
  75.00% (6/8)
- (0/0)
responses/scene_collections.rs
  50.00% (1/2)
  50.00% (1/2)
  42.86% (3/7)
- (0/0)
responses/scene_items.rs
  45.45% (10/22)
  45.45% (10/22)
  77.94% (53/68)
- (0/0)
responses/scenes.rs
  50.00% (6/12)
  50.00% (6/12)
  68.75% (22/32)
- (0/0)
responses/sources.rs
  50.00% (2/4)
  50.00% (2/4)
  77.78% (7/9)
- (0/0)
responses/streaming.rs
  25.00% (1/4)
  25.00% (1/4)
  64.71% (11/17)
- (0/0)
responses/transitions.rs
  50.00% (5/10)
  50.00% (5/10)
  77.78% (28/36)
- (0/0)
responses/ui.rs
  50.00% (5/10)
  50.00% (5/10)
  76.00% (19/25)
- (0/0)
responses/virtual_cam.rs
  50.00% (1/2)
  50.00% (1/2)
  75.00% (3/4)
- (0/0)
serde/bitflags_u8.rs
  57.14% (12/21)
  75.68% (56/74)
  52.78% (19/36)
- (0/0)
serde/duration_millis.rs
  78.12% (25/32)
  93.57% (160/171)
  78.33% (47/60)
- (0/0)
serde/duration_timecode.rs
  69.23% (9/13)
  91.04% (61/67)
  64.58% (31/48)
- (0/0)
serde/json_string.rs
  78.95% (15/19)
  91.04% (61/67)
  77.78% (28/36)
- (0/0)
serde/rgba8_inverse.rs
  44.44% (8/18)
  63.38% (45/71)
  42.86% (12/28)
- (0/0)
Totals
  65.64% (577/879)
  71.99% (1763/2449)
  65.16% (1459/2239)
- (0/0)
Generated by llvm-cov -- llvm version 14.0.5-rust-1.62.0-stable
\ No newline at end of file