1#![allow(missing_docs, trivial_casts, unused_variables, unused_mut, unused_imports, unused_extern_crates, non_camel_case_types)]
2
3use futures::Stream;
4use std::io::Error;
5
6#[deprecated(note = "Import swagger-rs directly")]
7pub use swagger::{ApiError, ContextWrapper};
8#[deprecated(note = "Import futures directly")]
9pub use futures::Future;
10
11pub const BASE_PATH: &'static str = "";
12pub const API_VERSION: &'static str = "0.1.9";
13
14#[derive(Debug, PartialEq)]
15#[must_use]
16pub enum I2cBusApiResponse {
17 OK
19 (String)
20 ,
21 FileNotFound
23 (String)
24}
25
26#[derive(Debug, PartialEq)]
27pub enum I2cBusListResponse {
28 OK
30 (Vec<models::I2cBusList>)
31}
32
33#[derive(Debug, PartialEq)]
34#[must_use]
35pub enum I2cBusReadByteResponse {
36 OK
38 (models::I2cBusRead)
39 ,
40 BadRequest
42 (models::I2cBusArg)
43 ,
44 TransactionFailed
46 (models::I2cBusError)
47}
48
49#[derive(Debug, PartialEq)]
50#[must_use]
51pub enum I2cBusReadBytesResponse {
52 OK
54 (models::I2cBusRead)
55 ,
56 BadRequest
58 (models::I2cBusArg)
59 ,
60 TransactionFailed
62 (models::I2cBusError)
63}
64
65#[derive(Debug, PartialEq)]
66#[must_use]
67pub enum I2cBusReadRegResponse {
68 OK
70 (models::I2cBusRead)
71 ,
72 BadRequest
74 (models::I2cBusArg)
75 ,
76 TransactionFailed
78 (models::I2cBusError)
79}
80
81#[derive(Debug, PartialEq)]
82#[must_use]
83pub enum I2cBusWriteByteResponse {
84 OK
86 (models::I2cBusOk)
87 ,
88 BadRequest
90 (models::I2cBusArg)
91 ,
92 TransactionFailed
94 (models::I2cBusError)
95}
96
97#[derive(Debug, PartialEq)]
98#[must_use]
99pub enum I2cBusWriteByteRegResponse {
100 OK
102 (models::I2cBusOk)
103 ,
104 BadRequest
106 (models::I2cBusArg)
107 ,
108 TransactionFailed
110 (models::I2cBusError)
111}
112
113#[derive(Debug, PartialEq)]
114#[must_use]
115pub enum I2cBusWriteBytesResponse {
116 OK
118 (models::I2cBusOk)
119 ,
120 BadRequest
122 (models::I2cBusArg)
123 ,
124 TransactionFailed
126 (models::I2cBusError)
127}
128
129#[derive(Debug, PartialEq)]
130#[must_use]
131pub enum I2cBusWriteBytesRegResponse {
132 OK
134 (models::I2cBusOk)
135 ,
136 BadRequest
138 (models::I2cBusArg)
139 ,
140 TransactionFailed
142 (models::I2cBusError)
143}
144
145pub trait Api<C> {
147 fn i2c_bus_api(
148 &self,
149 context: &C) -> Box<dyn Future<Item=I2cBusApiResponse, Error=ApiError> + Send>;
150
151 fn i2c_bus_list(
152 &self,
153 context: &C) -> Box<dyn Future<Item=I2cBusListResponse, Error=ApiError> + Send>;
154
155 fn i2c_bus_read_byte(
156 &self,
157 bus_id: i32,
158 addr: i32,
159 context: &C) -> Box<dyn Future<Item=I2cBusReadByteResponse, Error=ApiError> + Send>;
160
161 fn i2c_bus_read_bytes(
162 &self,
163 bus_id: i32,
164 addr: i32,
165 num_bytes: i32,
166 context: &C) -> Box<dyn Future<Item=I2cBusReadBytesResponse, Error=ApiError> + Send>;
167
168 fn i2c_bus_read_reg(
169 &self,
170 bus_id: i32,
171 addr: i32,
172 reg: i32,
173 num_bytes: i32,
174 context: &C) -> Box<dyn Future<Item=I2cBusReadRegResponse, Error=ApiError> + Send>;
175
176 fn i2c_bus_write_byte(
177 &self,
178 bus_id: i32,
179 addr: i32,
180 value: i32,
181 context: &C) -> Box<dyn Future<Item=I2cBusWriteByteResponse, Error=ApiError> + Send>;
182
183 fn i2c_bus_write_byte_reg(
184 &self,
185 bus_id: i32,
186 addr: i32,
187 reg: i32,
188 value: i32,
189 context: &C) -> Box<dyn Future<Item=I2cBusWriteByteRegResponse, Error=ApiError> + Send>;
190
191 fn i2c_bus_write_bytes(
192 &self,
193 bus_id: i32,
194 addr: i32,
195 values: models::Values,
196 context: &C) -> Box<dyn Future<Item=I2cBusWriteBytesResponse, Error=ApiError> + Send>;
197
198 fn i2c_bus_write_bytes_reg(
199 &self,
200 bus_id: i32,
201 addr: i32,
202 reg: i32,
203 values: models::Values,
204 context: &C) -> Box<dyn Future<Item=I2cBusWriteBytesRegResponse, Error=ApiError> + Send>;
205
206}
207
208pub trait ApiNoContext {
210 fn i2c_bus_api(
211 &self,
212 ) -> Box<dyn Future<Item=I2cBusApiResponse, Error=ApiError> + Send>;
213
214 fn i2c_bus_list(
215 &self,
216 ) -> Box<dyn Future<Item=I2cBusListResponse, Error=ApiError> + Send>;
217
218 fn i2c_bus_read_byte(
219 &self,
220 bus_id: i32,
221 addr: i32,
222 ) -> Box<dyn Future<Item=I2cBusReadByteResponse, Error=ApiError> + Send>;
223
224 fn i2c_bus_read_bytes(
225 &self,
226 bus_id: i32,
227 addr: i32,
228 num_bytes: i32,
229 ) -> Box<dyn Future<Item=I2cBusReadBytesResponse, Error=ApiError> + Send>;
230
231 fn i2c_bus_read_reg(
232 &self,
233 bus_id: i32,
234 addr: i32,
235 reg: i32,
236 num_bytes: i32,
237 ) -> Box<dyn Future<Item=I2cBusReadRegResponse, Error=ApiError> + Send>;
238
239 fn i2c_bus_write_byte(
240 &self,
241 bus_id: i32,
242 addr: i32,
243 value: i32,
244 ) -> Box<dyn Future<Item=I2cBusWriteByteResponse, Error=ApiError> + Send>;
245
246 fn i2c_bus_write_byte_reg(
247 &self,
248 bus_id: i32,
249 addr: i32,
250 reg: i32,
251 value: i32,
252 ) -> Box<dyn Future<Item=I2cBusWriteByteRegResponse, Error=ApiError> + Send>;
253
254 fn i2c_bus_write_bytes(
255 &self,
256 bus_id: i32,
257 addr: i32,
258 values: models::Values,
259 ) -> Box<dyn Future<Item=I2cBusWriteBytesResponse, Error=ApiError> + Send>;
260
261 fn i2c_bus_write_bytes_reg(
262 &self,
263 bus_id: i32,
264 addr: i32,
265 reg: i32,
266 values: models::Values,
267 ) -> Box<dyn Future<Item=I2cBusWriteBytesRegResponse, Error=ApiError> + Send>;
268
269}
270
271pub trait ContextWrapperExt<'a, C> where Self: Sized {
273 fn with_context(self: &'a Self, context: C) -> ContextWrapper<'a, Self, C>;
275}
276
277impl<'a, T: Api<C> + Sized, C> ContextWrapperExt<'a, C> for T {
278 fn with_context(self: &'a T, context: C) -> ContextWrapper<'a, T, C> {
279 ContextWrapper::<T, C>::new(self, context)
280 }
281}
282
283impl<'a, T: Api<C>, C> ApiNoContext for ContextWrapper<'a, T, C> {
284 fn i2c_bus_api(
285 &self,
286 ) -> Box<dyn Future<Item=I2cBusApiResponse, Error=ApiError> + Send>
287 {
288 self.api().i2c_bus_api(&self.context())
289 }
290
291 fn i2c_bus_list(
292 &self,
293 ) -> Box<dyn Future<Item=I2cBusListResponse, Error=ApiError> + Send>
294 {
295 self.api().i2c_bus_list(&self.context())
296 }
297
298 fn i2c_bus_read_byte(
299 &self,
300 bus_id: i32,
301 addr: i32,
302 ) -> Box<dyn Future<Item=I2cBusReadByteResponse, Error=ApiError> + Send>
303 {
304 self.api().i2c_bus_read_byte(bus_id, addr, &self.context())
305 }
306
307 fn i2c_bus_read_bytes(
308 &self,
309 bus_id: i32,
310 addr: i32,
311 num_bytes: i32,
312 ) -> Box<dyn Future<Item=I2cBusReadBytesResponse, Error=ApiError> + Send>
313 {
314 self.api().i2c_bus_read_bytes(bus_id, addr, num_bytes, &self.context())
315 }
316
317 fn i2c_bus_read_reg(
318 &self,
319 bus_id: i32,
320 addr: i32,
321 reg: i32,
322 num_bytes: i32,
323 ) -> Box<dyn Future<Item=I2cBusReadRegResponse, Error=ApiError> + Send>
324 {
325 self.api().i2c_bus_read_reg(bus_id, addr, reg, num_bytes, &self.context())
326 }
327
328 fn i2c_bus_write_byte(
329 &self,
330 bus_id: i32,
331 addr: i32,
332 value: i32,
333 ) -> Box<dyn Future<Item=I2cBusWriteByteResponse, Error=ApiError> + Send>
334 {
335 self.api().i2c_bus_write_byte(bus_id, addr, value, &self.context())
336 }
337
338 fn i2c_bus_write_byte_reg(
339 &self,
340 bus_id: i32,
341 addr: i32,
342 reg: i32,
343 value: i32,
344 ) -> Box<dyn Future<Item=I2cBusWriteByteRegResponse, Error=ApiError> + Send>
345 {
346 self.api().i2c_bus_write_byte_reg(bus_id, addr, reg, value, &self.context())
347 }
348
349 fn i2c_bus_write_bytes(
350 &self,
351 bus_id: i32,
352 addr: i32,
353 values: models::Values,
354 ) -> Box<dyn Future<Item=I2cBusWriteBytesResponse, Error=ApiError> + Send>
355 {
356 self.api().i2c_bus_write_bytes(bus_id, addr, values, &self.context())
357 }
358
359 fn i2c_bus_write_bytes_reg(
360 &self,
361 bus_id: i32,
362 addr: i32,
363 reg: i32,
364 values: models::Values,
365 ) -> Box<dyn Future<Item=I2cBusWriteBytesRegResponse, Error=ApiError> + Send>
366 {
367 self.api().i2c_bus_write_bytes_reg(bus_id, addr, reg, values, &self.context())
368 }
369
370}
371
372#[cfg(feature = "client")]
373pub mod client;
374
375#[cfg(feature = "client")]
377pub use client::Client;
378
379#[cfg(feature = "server")]
380pub mod server;
381
382#[cfg(feature = "server")]
384pub use self::server::Service;
385
386#[cfg(feature = "server")]
387pub mod context;
388
389pub mod models;
390
391#[cfg(any(feature = "client", feature = "server"))]
392pub(crate) mod header;
393
394#[derive(Debug)]
395pub enum ExtraInfoOk {
396 Yaml ( models::Yaml ),
397 List ( Vec<models::I2cBusList> ),
398 Read ( models::I2cBusRead ),
399 OK ( models::I2cBusOk ),
400}
401
402#[derive(Debug)]
403pub enum ExtraInfoError {
404 FileNotFound ( models::Error ),
405 Arg ( models::I2cBusArg ),
406 Error ( models::I2cBusError ),
407}
408
409pub trait OkOrOther {
410 fn ok_or_other(&self) -> Result<ExtraInfoOk, ExtraInfoError>;
411}
412
413impl OkOrOther for I2cBusApiResponse {
414 fn ok_or_other(&self) -> Result<ExtraInfoOk, ExtraInfoError> {
415 match *self {
416 I2cBusApiResponse::OK(ref x) => Ok(ExtraInfoOk::Yaml(x.clone().into())),
417 I2cBusApiResponse::FileNotFound(ref x) => Err(ExtraInfoError::FileNotFound(x.clone().into())),
418 }
419 }
420}
421
422impl OkOrOther for I2cBusListResponse {
423 fn ok_or_other(&self) -> Result<ExtraInfoOk, ExtraInfoError>{
424 match *self {
425 I2cBusListResponse::OK(ref x) => Ok(ExtraInfoOk::List(x.clone())),
426 }
427 }
428}
429
430impl OkOrOther for I2cBusReadByteResponse {
431 fn ok_or_other(&self) -> Result<ExtraInfoOk, ExtraInfoError>{
432 match *self {
433 I2cBusReadByteResponse::OK(ref x) => Ok(ExtraInfoOk::Read(x.clone())),
434 I2cBusReadByteResponse::BadRequest(ref x) => Err(ExtraInfoError::Arg(x.clone())),
435 I2cBusReadByteResponse::TransactionFailed(ref x) => Err(ExtraInfoError::Error(x.clone())),
436 }
437 }
438}
439
440impl OkOrOther for I2cBusReadBytesResponse {
441 fn ok_or_other(&self) -> Result<ExtraInfoOk, ExtraInfoError>{
442 match *self {
443 I2cBusReadBytesResponse::OK(ref x) => Ok(ExtraInfoOk::Read(x.clone())),
444 I2cBusReadBytesResponse::BadRequest(ref x) => Err(ExtraInfoError::Arg(x.clone())),
445 I2cBusReadBytesResponse::TransactionFailed(ref x) => Err(ExtraInfoError::Error(x.clone())),
446 }
447 }
448}
449
450impl OkOrOther for I2cBusReadRegResponse {
451 fn ok_or_other(&self) -> Result<ExtraInfoOk, ExtraInfoError>{
452 match *self {
453 I2cBusReadRegResponse::OK(ref x) => Ok(ExtraInfoOk::Read(x.clone())),
454 I2cBusReadRegResponse::BadRequest(ref x) => Err(ExtraInfoError::Arg(x.clone())),
455 I2cBusReadRegResponse::TransactionFailed(ref x) => Err(ExtraInfoError::Error(x.clone())),
456 }
457 }
458}
459
460impl OkOrOther for I2cBusWriteByteResponse {
461 fn ok_or_other(&self) -> Result<ExtraInfoOk, ExtraInfoError>{
462 match *self {
463 I2cBusWriteByteResponse::OK(ref x) => Ok(ExtraInfoOk::OK(x.clone())),
464 I2cBusWriteByteResponse::BadRequest(ref x) => Err(ExtraInfoError::Arg(x.clone())),
465 I2cBusWriteByteResponse::TransactionFailed(ref x) => Err(ExtraInfoError::Error(x.clone())),
466 }
467 }
468}
469
470impl OkOrOther for I2cBusWriteByteRegResponse {
471 fn ok_or_other(&self) -> Result<ExtraInfoOk, ExtraInfoError>{
472 match *self {
473 I2cBusWriteByteRegResponse::OK(ref x) => Ok(ExtraInfoOk::OK(x.clone())),
474 I2cBusWriteByteRegResponse::BadRequest(ref x) => Err(ExtraInfoError::Arg(x.clone())),
475 I2cBusWriteByteRegResponse::TransactionFailed(ref x) => Err(ExtraInfoError::Error(x.clone())),
476 }
477 }
478}
479
480impl OkOrOther for I2cBusWriteBytesResponse {
481 fn ok_or_other(&self) -> Result<ExtraInfoOk, ExtraInfoError>{
482 match *self {
483 I2cBusWriteBytesResponse::OK(ref x) => Ok(ExtraInfoOk::OK(x.clone())),
484 I2cBusWriteBytesResponse::BadRequest(ref x) => Err(ExtraInfoError::Arg(x.clone())),
485 I2cBusWriteBytesResponse::TransactionFailed(ref x) => Err(ExtraInfoError::Error(x.clone())),
486 }
487 }
488}
489
490impl OkOrOther for I2cBusWriteBytesRegResponse {
491 fn ok_or_other(&self) -> Result<ExtraInfoOk, ExtraInfoError>{
492 match *self {
493 I2cBusWriteBytesRegResponse::OK(ref x) => Ok(ExtraInfoOk::OK(x.clone())),
494 I2cBusWriteBytesRegResponse::BadRequest(ref x) => Err(ExtraInfoError::Arg(x.clone())),
495 I2cBusWriteBytesRegResponse::TransactionFailed(ref x) => Err(ExtraInfoError::Error(x.clone())),
496 }
497 }
498}