Keypop Reader C++ API 2.0.0
Reference Reader API for C++
CardSelectionManager.hpp
Go to the documentation of this file.
1/**************************************************************************************************
2 * Copyright (c) 2024 Calypso Networks Association https://calypsonet.org/ *
3 * *
4 * This program and the accompanying materials are made available under the *
5 * terms of the MIT License which is available at https://opensource.org/licenses/MIT. *
6 * *
7 * SPDX-License-Identifier: MIT *
8 **************************************************************************************************/
9
10#pragma once
11
12#include <memory>
13#include <string>
14
20
21namespace keypop {
22namespace reader {
23namespace selection {
24
28using keypop::reader::selection::CardSelector;
30
71public:
75 virtual ~CardSelectionManager() = default;
76
85 virtual void setMultipleSelectionMode() = 0;
86
102 virtual int prepareSelection(
103 const std::shared_ptr<CardSelector> cardSelector,
104 const std::shared_ptr<spi::CardSelectionExtension> cardSelectionExtension)
105 = 0;
106
116 virtual void prepareReleaseChannel() = 0;
117
128 virtual const std::string exportCardSelectionScenario() const = 0;
129
142 virtual int importCardSelectionScenario(const std::string& cardSelectionScenario) = 0;
143
159 virtual const std::shared_ptr<CardSelectionResult>
160 processCardSelectionScenario(std::shared_ptr<CardReader> reader) = 0;
161
178 std::shared_ptr<ObservableCardReader> observableCardReader,
179 const ObservableCardReader::NotificationMode notificationMode)
180 = 0;
181
193 virtual std::shared_ptr<calypsonet::reader::selection::CardSelectionResult>
194 parseScheduledCardSelectionsResponse(const std::shared_ptr<ScheduledCardSelectionsResponse>
195 scheduledCardSelectionsResponse) const
196 = 0;
197
224 virtual const std::string& exportProcessedCardSelectionScenario() const = 0;
225
251 virtual const std::shared_ptr<CardSelectionResult>
252 importProcessedCardSelectionScenario(const std::string& processedCardSelectionScenario) const
253 = 0;
254};
255
256} /* namespace selection */
257} /* namespace reader */
258} /* namespace keypop */
virtual int importCardSelectionScenario(const std::string &cardSelectionScenario)=0
virtual const std::shared_ptr< CardSelectionResult > importProcessedCardSelectionScenario(const std::string &processedCardSelectionScenario) const =0
virtual void scheduleCardSelectionScenario(std::shared_ptr< ObservableCardReader > observableCardReader, const ObservableCardReader::NotificationMode notificationMode)=0
virtual std::shared_ptr< calypsonet::reader::selection::CardSelectionResult > parseScheduledCardSelectionsResponse(const std::shared_ptr< ScheduledCardSelectionsResponse > scheduledCardSelectionsResponse) const =0
virtual const std::shared_ptr< CardSelectionResult > processCardSelectionScenario(std::shared_ptr< CardReader > reader)=0
virtual const std::string & exportProcessedCardSelectionScenario() const =0
virtual const std::string exportCardSelectionScenario() const =0
virtual int prepareSelection(const std::shared_ptr< CardSelector > cardSelector, const std::shared_ptr< spi::CardSelectionExtension > cardSelectionExtension)=0