use anyhow::Result;
mod cloud;
mod connection;
mod ingress;
mod iothub;
mod persistence;
mod remote_access;
#[doc(hidden)]
pub use ingress::CloudToDeviceMessage;
pub use ingress::{
Compression, DesiredProperties, DesiredPropertiesUpdatedCallback, DeviceClient,
DeviceClientBuilder, MessageContext, ProvisioningOperation,
ProvisioningOperationDisplayHandler,
};
pub(crate) mod utils;
pub trait ProcessSignalsSource: Send + Sync {
fn check_signals(&self) -> Result<()>;
}
pub(crate) struct EmptyProcessSignalsSource {
_private: (),
}
const EMPTY_PROCESS_SIGNALS_SOURCE: EmptyProcessSignalsSource =
EmptyProcessSignalsSource { _private: () };
impl EmptyProcessSignalsSource {
pub fn instance() -> &'static Self {
&EMPTY_PROCESS_SIGNALS_SOURCE
}
}
impl ProcessSignalsSource for EmptyProcessSignalsSource {
fn check_signals(&self) -> Result<()> {
Ok(())
}
}