pub trait TpmDeviceProxyInterface: Send + Sync {
type GetDeviceIdResponseFut: Future<Output = Result<TpmDeviceGetDeviceIdResult, Error>> + Send;
type ExecuteVendorCommandResponseFut: Future<Output = Result<TpmDeviceExecuteVendorCommandResult, Error>> + Send;
type ExecuteCommandResponseFut: Future<Output = Result<TpmDeviceExecuteCommandResult, Error>> + Send;
// Required methods
fn get_device_id(&self) -> Self::GetDeviceIdResponseFut;
fn execute_vendor_command(
&self,
command_code: u16,
data: &[u8],
) -> Self::ExecuteVendorCommandResponseFut;
fn execute_command(&self, data: &[u8]) -> Self::ExecuteCommandResponseFut;
}