use serde::{de::DeserializeOwned, Serialize};
#[cfg(feature = "mockhsm")]
use crate::serialization::serialize;
mod code;
mod message;
pub use self::code::ResponseCode;
pub(crate) use self::message::ResponseMessage;
use crate::command::CommandCode;
pub(crate) trait Response: Serialize + DeserializeOwned + Sized {
const COMMAND_CODE: CommandCode;
#[cfg(feature = "mockhsm")]
fn serialize(&self) -> ResponseMessage {
ResponseMessage::success(Self::COMMAND_CODE, serialize(self).unwrap())
}
}