fidl_fuchsia_bluetooth_avdtp_test__common/
fidl_fuchsia_bluetooth_avdtp_test__common.rs1#![warn(clippy::all)]
4#![allow(unused_parens, unused_mut, unused_imports, nonstandard_style)]
5
6use bitflags::bitflags;
7use fidl::encoding::{MessageBufFor, ProxyChannelBox, ResourceDialect};
8use futures::future::{self, MaybeDone, TryFutureExt};
9use zx_status;
10
11pub const MAX_PICONET_SIZE: u64 = 8;
14
15#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
17#[repr(u32)]
18pub enum PeerError {
19 UnknownFailure = 1,
21 ProtocolError = 2,
23}
24
25impl PeerError {
26 #[inline]
27 pub fn from_primitive(prim: u32) -> Option<Self> {
28 match prim {
29 1 => Some(Self::UnknownFailure),
30 2 => Some(Self::ProtocolError),
31 _ => None,
32 }
33 }
34
35 #[inline]
36 pub const fn into_primitive(self) -> u32 {
37 self as u32
38 }
39}
40
41#[derive(Clone, Debug, PartialEq)]
42pub struct PeerManagerConnectedPeersResponse {
43 pub peer_ids: Vec<fidl_fuchsia_bluetooth__common::PeerId>,
44}
45
46impl fidl::Persistable for PeerManagerConnectedPeersResponse {}
47
48#[derive(Clone, Debug, PartialEq)]
49pub struct PeerManagerOnPeerConnectedRequest {
50 pub peer_id: fidl_fuchsia_bluetooth__common::PeerId,
51}
52
53impl fidl::Persistable for PeerManagerOnPeerConnectedRequest {}
54
55mod internal {
56 use super::*;
57 unsafe impl fidl::encoding::TypeMarker for PeerError {
58 type Owned = Self;
59
60 #[inline(always)]
61 fn inline_align(_context: fidl::encoding::Context) -> usize {
62 std::mem::align_of::<u32>()
63 }
64
65 #[inline(always)]
66 fn inline_size(_context: fidl::encoding::Context) -> usize {
67 std::mem::size_of::<u32>()
68 }
69
70 #[inline(always)]
71 fn encode_is_copy() -> bool {
72 true
73 }
74
75 #[inline(always)]
76 fn decode_is_copy() -> bool {
77 false
78 }
79 }
80
81 impl fidl::encoding::ValueTypeMarker for PeerError {
82 type Borrowed<'a> = Self;
83 #[inline(always)]
84 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
85 *value
86 }
87 }
88
89 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for PeerError {
90 #[inline]
91 unsafe fn encode(
92 self,
93 encoder: &mut fidl::encoding::Encoder<'_, D>,
94 offset: usize,
95 _depth: fidl::encoding::Depth,
96 ) -> fidl::Result<()> {
97 encoder.debug_check_bounds::<Self>(offset);
98 encoder.write_num(self.into_primitive(), offset);
99 Ok(())
100 }
101 }
102
103 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for PeerError {
104 #[inline(always)]
105 fn new_empty() -> Self {
106 Self::UnknownFailure
107 }
108
109 #[inline]
110 unsafe fn decode(
111 &mut self,
112 decoder: &mut fidl::encoding::Decoder<'_, D>,
113 offset: usize,
114 _depth: fidl::encoding::Depth,
115 ) -> fidl::Result<()> {
116 decoder.debug_check_bounds::<Self>(offset);
117 let prim = decoder.read_num::<u32>(offset);
118
119 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
120 Ok(())
121 }
122 }
123
124 impl fidl::encoding::ValueTypeMarker for PeerManagerConnectedPeersResponse {
125 type Borrowed<'a> = &'a Self;
126 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
127 value
128 }
129 }
130
131 unsafe impl fidl::encoding::TypeMarker for PeerManagerConnectedPeersResponse {
132 type Owned = Self;
133
134 #[inline(always)]
135 fn inline_align(_context: fidl::encoding::Context) -> usize {
136 8
137 }
138
139 #[inline(always)]
140 fn inline_size(_context: fidl::encoding::Context) -> usize {
141 16
142 }
143 }
144
145 unsafe impl<D: fidl::encoding::ResourceDialect>
146 fidl::encoding::Encode<PeerManagerConnectedPeersResponse, D>
147 for &PeerManagerConnectedPeersResponse
148 {
149 #[inline]
150 unsafe fn encode(
151 self,
152 encoder: &mut fidl::encoding::Encoder<'_, D>,
153 offset: usize,
154 _depth: fidl::encoding::Depth,
155 ) -> fidl::Result<()> {
156 encoder.debug_check_bounds::<PeerManagerConnectedPeersResponse>(offset);
157 fidl::encoding::Encode::<PeerManagerConnectedPeersResponse, D>::encode(
159 (
160 <fidl::encoding::Vector<fidl_fuchsia_bluetooth__common::PeerId, 8> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_ids),
161 ),
162 encoder, offset, _depth
163 )
164 }
165 }
166 unsafe impl<
167 D: fidl::encoding::ResourceDialect,
168 T0: fidl::encoding::Encode<
169 fidl::encoding::Vector<fidl_fuchsia_bluetooth__common::PeerId, 8>,
170 D,
171 >,
172 > fidl::encoding::Encode<PeerManagerConnectedPeersResponse, D> for (T0,)
173 {
174 #[inline]
175 unsafe fn encode(
176 self,
177 encoder: &mut fidl::encoding::Encoder<'_, D>,
178 offset: usize,
179 depth: fidl::encoding::Depth,
180 ) -> fidl::Result<()> {
181 encoder.debug_check_bounds::<PeerManagerConnectedPeersResponse>(offset);
182 self.0.encode(encoder, offset + 0, depth)?;
186 Ok(())
187 }
188 }
189
190 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
191 for PeerManagerConnectedPeersResponse
192 {
193 #[inline(always)]
194 fn new_empty() -> Self {
195 Self {
196 peer_ids: fidl::new_empty!(fidl::encoding::Vector<fidl_fuchsia_bluetooth__common::PeerId, 8>, D),
197 }
198 }
199
200 #[inline]
201 unsafe fn decode(
202 &mut self,
203 decoder: &mut fidl::encoding::Decoder<'_, D>,
204 offset: usize,
205 _depth: fidl::encoding::Depth,
206 ) -> fidl::Result<()> {
207 decoder.debug_check_bounds::<Self>(offset);
208 fidl::decode!(fidl::encoding::Vector<fidl_fuchsia_bluetooth__common::PeerId, 8>, D, &mut self.peer_ids, decoder, offset + 0, _depth)?;
210 Ok(())
211 }
212 }
213
214 impl fidl::encoding::ValueTypeMarker for PeerManagerOnPeerConnectedRequest {
215 type Borrowed<'a> = &'a Self;
216 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
217 value
218 }
219 }
220
221 unsafe impl fidl::encoding::TypeMarker for PeerManagerOnPeerConnectedRequest {
222 type Owned = Self;
223
224 #[inline(always)]
225 fn inline_align(_context: fidl::encoding::Context) -> usize {
226 8
227 }
228
229 #[inline(always)]
230 fn inline_size(_context: fidl::encoding::Context) -> usize {
231 8
232 }
233 }
234
235 unsafe impl<D: fidl::encoding::ResourceDialect>
236 fidl::encoding::Encode<PeerManagerOnPeerConnectedRequest, D>
237 for &PeerManagerOnPeerConnectedRequest
238 {
239 #[inline]
240 unsafe fn encode(
241 self,
242 encoder: &mut fidl::encoding::Encoder<'_, D>,
243 offset: usize,
244 _depth: fidl::encoding::Depth,
245 ) -> fidl::Result<()> {
246 encoder.debug_check_bounds::<PeerManagerOnPeerConnectedRequest>(offset);
247 fidl::encoding::Encode::<PeerManagerOnPeerConnectedRequest, D>::encode(
249 (
250 <fidl_fuchsia_bluetooth__common::PeerId as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_id),
251 ),
252 encoder, offset, _depth
253 )
254 }
255 }
256 unsafe impl<
257 D: fidl::encoding::ResourceDialect,
258 T0: fidl::encoding::Encode<fidl_fuchsia_bluetooth__common::PeerId, D>,
259 > fidl::encoding::Encode<PeerManagerOnPeerConnectedRequest, D> for (T0,)
260 {
261 #[inline]
262 unsafe fn encode(
263 self,
264 encoder: &mut fidl::encoding::Encoder<'_, D>,
265 offset: usize,
266 depth: fidl::encoding::Depth,
267 ) -> fidl::Result<()> {
268 encoder.debug_check_bounds::<PeerManagerOnPeerConnectedRequest>(offset);
269 self.0.encode(encoder, offset + 0, depth)?;
273 Ok(())
274 }
275 }
276
277 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
278 for PeerManagerOnPeerConnectedRequest
279 {
280 #[inline(always)]
281 fn new_empty() -> Self {
282 Self { peer_id: fidl::new_empty!(fidl_fuchsia_bluetooth__common::PeerId, D) }
283 }
284
285 #[inline]
286 unsafe fn decode(
287 &mut self,
288 decoder: &mut fidl::encoding::Decoder<'_, D>,
289 offset: usize,
290 _depth: fidl::encoding::Depth,
291 ) -> fidl::Result<()> {
292 decoder.debug_check_bounds::<Self>(offset);
293 fidl::decode!(
295 fidl_fuchsia_bluetooth__common::PeerId,
296 D,
297 &mut self.peer_id,
298 decoder,
299 offset + 0,
300 _depth
301 )?;
302 Ok(())
303 }
304 }
305}