1#![no_std]
8
9use trussed_core::{CryptoClient, FilesystemClient, ManagementClient, UiClient};
10
11#[macro_use]
12extern crate delog;
13generate_macros!();
14
15mod admin;
16mod config;
17pub mod migrations;
18
19pub use admin::{App, Reboot, StatusBytes};
20pub use config::{
21 Config, ConfigError, ConfigField, ConfigValueMut, FieldType, ResetConfigResult, ResetSignal,
22 ResetSignalAllocation,
23};
24use trussed_manage::ManageClient;
25#[cfg(feature = "se050")]
26use trussed_se050_manage::Se050ManageClient;
27
28#[cfg(not(feature = "se050"))]
29pub trait Client:
30 CryptoClient + FilesystemClient + ManagementClient + UiClient + ManageClient
31{
32}
33#[cfg(not(feature = "se050"))]
34impl<C: CryptoClient + FilesystemClient + ManagementClient + UiClient + ManageClient> Client for C {}
35
36#[cfg(feature = "se050")]
37pub trait Client:
38 CryptoClient + FilesystemClient + ManagementClient + UiClient + Se050ManageClient + ManageClient
39{
40}
41#[cfg(feature = "se050")]
42impl<
43 C: CryptoClient
44 + FilesystemClient
45 + ManagementClient
46 + UiClient
47 + Se050ManageClient
48 + ManageClient,
49 > Client for C
50{
51}