use crate::iso7816_4::apduresponse::APDUResponse;
use crate::iso7816_4::apducommand::APDUCommand;
use error::Result;
pub mod crypto;
pub mod iso7816_4;
pub mod desfire;
pub mod error;
pub trait Card {
///
/// Connect to Smartcard
///
fn connect(&mut self) -> Result<()>;
///
/// Disconnect from Smartcard
///
fn disconnect(&mut self) -> Result<()>;
///
/// Transmit APDU Command to Smartcard
///
/// Application Protocol Data Unit Command - ISO 7816
/// Application Protocol Data Unit Response - ISO 7816
fn transmit(&self, apdu_cmd: APDUCommand) -> Result;
}