44 virtual std::vector<uint8_t>
getApdu()
const = 0;
63 virtual const std::string&
getInfo()
const = 0;
70 const std::vector<uint8_t> apdu = ars.
getApdu();
73 std::stringstream ssApdu;
74 for (
const auto val : apdu) {
75 ssApdu << std::uppercase << std::hex << std::setfill(
'0')
76 << std::setw(2) <<
static_cast<int>(val);
79 std::stringstream ssSw;
80 for (
auto it = std::begin(sw); it != std::end(sw); ++it) {
81 ssSw << std::uppercase << std::hex << std::setfill(
'0')
82 << std::setw(4) <<
static_cast<int>(*it);
83 if (it != sw.end() - 1) {
88 os <<
"APDU_REQUEST_SPI: {"
89 <<
"APDU: " << ssApdu.str() <<
", "
90 <<
"SUCCESSFUL_STATUS_WORD: " << ssSw.str() <<
", "
91 <<
"INFO: " << ars.
getInfo() <<
"}";
100 operator<<(std::ostream& os,
const std::shared_ptr<ApduRequestSpi> ars) {
112 const std::vector<std::shared_ptr<ApduRequestSpi>>& arss) {
113 os <<
"APDU_REQUEST_SPIS: {";
115 for (
auto it = std::begin(arss); it != std::end(arss); ++it) {
117 if (it != arss.end() - 1) {
virtual ~ApduRequestSpi()=default
virtual const std::string & getInfo() const =0
virtual const std::vector< int > & getSuccessfulStatusWords() const =0
virtual std::vector< uint8_t > getApdu() const =0
friend std::ostream & operator<<(std::ostream &os, const ApduRequestSpi &ars)