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, Data, StatusBytes};
20pub use config::{Config, ConfigError, ConfigField, ConfigValueMut, FieldType, ResetConfigResult};
21use trussed_manage::ManageClient;
22#[cfg(feature = "se050")]
23use trussed_se050_manage::Se050ManageClient;
24
25#[cfg(not(feature = "se050"))]
26pub trait Client:
27 CryptoClient + FilesystemClient + ManagementClient + UiClient + ManageClient
28{
29}
30#[cfg(not(feature = "se050"))]
31impl<C: CryptoClient + FilesystemClient + ManagementClient + UiClient + ManageClient> Client for C {}
32
33#[cfg(feature = "se050")]
34pub trait Client:
35 CryptoClient + FilesystemClient + ManagementClient + UiClient + Se050ManageClient + ManageClient
36{
37}
38#[cfg(feature = "se050")]
39impl<
40 C: CryptoClient
41 + FilesystemClient
42 + ManagementClient
43 + UiClient
44 + Se050ManageClient
45 + ManageClient,
46 > Client for C
47{
48}