14#include "keyple/core/service/ApduResponseAdapter.hpp"
21#include "keyple/core/util/cpp/Arrays.hpp"
22#include "keyple/core/util/cpp/KeypleStd.hpp"
28using keyple::core::util::cpp::Arrays;
30ApduResponseAdapter::ApduResponseAdapter(
const std::vector<uint8_t>& apdu)
33 ((apdu[apdu.size() - 2] & 0x000000FF) << 8)
34 + (apdu[apdu.size() - 1] & 0x000000FF))
38const std::vector<uint8_t>&
39ApduResponseAdapter::getApdu()
const
45ApduResponseAdapter::setApdu(
const std::vector<std::uint8_t>& apdu)
51ApduResponseAdapter::getDataOut()
const
53 return Arrays::copyOfRange(mApdu, 0,
static_cast<int>(mApdu.size()) - 2);
57ApduResponseAdapter::getStatusWord()
const
63operator<<(std::ostream& os,
const ApduResponseAdapter& ara)
65 std::stringstream ssSw;
66 ssSw << std::uppercase << std::hex << std::setfill(
'0') << std::setw(4)
69 os <<
"APDU_RESPONSE_ADAPTER: {"
70 <<
"APDU = " << ara.mApdu <<
", "
71 <<
"STATUS_WORD = " << ssSw.str() <<
"}";
77operator<<(std::ostream& os,
const std::shared_ptr<ApduResponseAdapter> ara)
std::ostream & operator<<(std::ostream &os, const std::shared_ptr< ApduResponseAdapter > ara)