Keyple Card Calypso C++ Library 2.1.0
Reference Terminal Reader API for C++
CardSelectorAdapter.h
Go to the documentation of this file.
1/**************************************************************************************************
2 * Copyright (c) 2022 Calypso Networks Association https://calypsonet.org/ *
3 * *
4 * See the NOTICE file(s) distributed with this work for additional information regarding *
5 * copyright ownership. *
6 * *
7 * This program and the accompanying materials are made available under the terms of the Eclipse *
8 * Public License 2.0 which is available at http://www.eclipse.org/legal/epl-2.0 *
9 * *
10 * SPDX-License-Identifier: EPL-2.0 *
11 **************************************************************************************************/
12
13#pragma once
14
15#include <cstdint>
16#include <vector>
17
18/* Calypsonet Terminal Card */
19#include "CardSelectorSpi.h"
20
21namespace keyple {
22namespace card {
23namespace calypso {
24
25using namespace calypsonet::terminal::card::spi;
26
29
36class CardSelectorAdapter final : public CardSelectorSpi {
37public:
47
57 CardSelectorSpi& filterByCardProtocol(const std::string& cardProtocol);
58
70 CardSelectorSpi& filterByPowerOnData(const std::string& powerOnDataRegex);
71
83 CardSelectorSpi& filterByDfName(const std::vector<uint8_t>& aid);
84
97 CardSelectorSpi& filterByDfName(const std::string& aid);
98
108 CardSelectorSpi& setFileOccurrence(const FileOccurrence fileOccurrence);
109
119 CardSelectorSpi& setFileControlInformation(const FileControlInformation fileControlInformation);
120
131 CardSelectorSpi& addSuccessfulStatusWord(const int statusWord);
132
138 const std::string& getCardProtocol() const final;
139
145 const std::string& getPowerOnDataRegex() const override;
146
152 const std::vector<uint8_t>& getAid() const override;
153
159 FileOccurrence getFileOccurrence() const override;
160
167
173 const std::vector<int>& getSuccessfulSelectionStatusWords() const override;
174
175private:
179 static const int DEFAULT_SUCCESSFUL_CODE;
180
184 std::string mCardProtocol;
185
189 std::string mPowerOnDataRegex;
190
194 std::vector<uint8_t> mAid;
195
199 FileOccurrence mFileOccurrence;
200
204 FileControlInformation mFileControlInformation;
205
209 std::vector<int> mSuccessfulSelectionStatusWords;
210};
211
212}
213}
214}
const std::string & getPowerOnDataRegex() const override
CardSelectorSpi & addSuccessfulStatusWord(const int statusWord)
const std::vector< int > & getSuccessfulSelectionStatusWords() const override
CardSelectorSpi & setFileOccurrence(const FileOccurrence fileOccurrence)
const std::vector< uint8_t > & getAid() const override
CardSelectorSpi & filterByCardProtocol(const std::string &cardProtocol)
CardSelectorSpi & filterByDfName(const std::vector< uint8_t > &aid)
CardSelectorSpi & setFileControlInformation(const FileControlInformation fileControlInformation)
FileOccurrence getFileOccurrence() const override
const std::string & getCardProtocol() const final
FileControlInformation getFileControlInformation() const override
CardSelectorSpi & filterByPowerOnData(const std::string &powerOnDataRegex)
CardSelectorSpi::FileOccurrence FileOccurrence
CardSelectorSpi::FileControlInformation FileControlInformation