14#include "keyple/core/service/InternalDto.hpp"
21#include "keyple/core/util/cpp/exception/UnsupportedOperationException.hpp"
27using keyple::core::util::cpp::exception::UnsupportedOperationException;
32InternalDto::CardSelectionAdapter::CardSelectionAdapter(
33 const std::shared_ptr<CardSelectionExtensionSpi> src)
34: mCardSelectionRequest(
35 std::unique_ptr<CardSelectionRequest>(
36 new CardSelectionRequest(src->getCardSelectionRequest())))
40std::unique_ptr<CardSelectionRequestSpi>
41InternalDto::CardSelectionAdapter::getCardSelectionRequest()
43 return std::move(mCardSelectionRequest);
46std::shared_ptr<SmartCardSpi>
47InternalDto::CardSelectionAdapter::parse(
48 const std::shared_ptr<
49 CardSelectionResponseApi>& )
51 throw UnsupportedOperationException(
52 "Method not supported for internal DTO");
58InternalDto::CardSelectionRequest::CardSelectionRequest(
59 const std::shared_ptr<CardSelectionRequestSpi> src)
61 if (src->getCardRequest() !=
nullptr) {
62 mCardRequest = std::make_shared<CardRequest>(src->getCardRequest());
65 mSuccessfulSelectionStatusWords = src->getSuccessfulSelectionStatusWords();
68const std::vector<int>&
69InternalDto::CardSelectionRequest::getSuccessfulSelectionStatusWords()
const
71 return mSuccessfulSelectionStatusWords;
74const std::shared_ptr<CardRequestSpi>
75InternalDto::CardSelectionRequest::getCardRequest()
const
83InternalDto::CardRequest::CardRequest(
const std::shared_ptr<CardRequestSpi> src)
85 for (
const auto& apduRequestSpi : src->getApduRequests()) {
86 mApduRequests.push_back(std::make_shared<ApduRequest>(apduRequestSpi));
89 mStopOnUnsuccessfulStatusWord = src->stopOnUnsuccessfulStatusWord();
92const std::vector<std::shared_ptr<ApduRequestSpi>>&
93InternalDto::CardRequest::getApduRequests()
const
99InternalDto::CardRequest::stopOnUnsuccessfulStatusWord()
const
101 return mStopOnUnsuccessfulStatusWord;
107InternalDto::ApduRequest::ApduRequest(
const std::shared_ptr<ApduRequestSpi> src)
108: mApdu(src->getApdu())
109, mSuccessfulStatusWords(src->getSuccessfulStatusWords())
110, mInfo(src->getInfo())
114const std::vector<uint8_t>&
115InternalDto::ApduRequest::getApdu()
const
121InternalDto::ApduRequest::setApdu(
const std::vector<uint8_t>& apdu)
126const std::vector<int>&
127InternalDto::ApduRequest::getSuccessfulStatusWords()
const
129 return mSuccessfulStatusWords;
133InternalDto::ApduRequest::getInfo()
const