1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
#[macro_use] extern crate crossbeam_channel; #[macro_use] extern crate failure; #[macro_use] extern crate log; extern crate byteorder; extern crate serialport; extern crate uuid; extern crate xio_base_datatypes; use uuid::Uuid; use byteorder::LittleEndian as Endian; use std::io; use xio_base_datatypes as base; mod error; pub use error::{Error, ErrorKind}; mod messages; pub use messages::*; mod data_type; use data_type::{DataTypeReaderExt, DataTypeWriterExt}; mod data_value; use data_value::{DataValueReaderExt, DataValueWriterExt}; mod device_capability; pub use device_capability::DeviceCapability; use device_capability::DeviceCapabilityReaderExt; mod error_code; use error_code::{ErrorCodeReaderExt, ErrorCodeWriterExt}; mod connection; pub use connection::{Connection, Handle, NotificationItem, ResponseItem, SendAndReceive}; mod job_stopped_reason; use job_stopped_reason::{JobStoppedReasonReaderExt, JobStoppedReasonWriterExt}; mod job_set_info; pub use job_set_info::JobSetInfo; use job_set_info::JobSetInfoReaderExt; mod module_state; use module_state::{ModuleStateReaderExt, ModuleStateWriterExt}; mod parameter_value; use parameter_value::{ParameterValueReaderExt, ParameterValueWriteMode, ParameterValueWriterExt}; mod rxhandle; pub use rxhandle::{RegisteredSenders, RxHandle, SenderRegistration}; mod with_fixed_payload_length; pub(crate) use with_fixed_payload_length::WithFixedPayloadLength; pub type Result<T> = std::result::Result<T, Error>; pub trait PreliminaryTryFrom<T>: Sized { type Error: failure::Fail; fn try_from(value: T) -> std::result::Result<Self, Self::Error>; } pub trait PreliminaryTryInto<T: Sized> { type Error: failure::Fail; fn try_into(self) -> std::result::Result<T, Self::Error>; } impl<T, U> PreliminaryTryInto<U> for T where U: PreliminaryTryFrom<T>, { type Error = <U as PreliminaryTryFrom<T>>::Error; fn try_into(self) -> std::result::Result<U, Self::Error> { U::try_from(self) } }