Keyple Card Calypso C++ Library 2.1.0
Reference Terminal Reader API for C++
CardCommandManager.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/* Keyple Core Util */
16#include "LoggerFactory.h"
17
18/* Keyple Card Calypso */
19#include "AbstractCardCommand.h"
20
21/* Calypsonet Terminal Calypso */
22#include "SvOperation.h"
23
24namespace keyple {
25namespace card {
26namespace calypso {
27
28using namespace calypsonet::terminal::calypso::transaction;
29using namespace keyple::core::util::cpp;
30
48public:
54
62 void addRegularCommand(const std::shared_ptr<AbstractCardCommand> command);
63
82 void addStoredValueCommand(const std::shared_ptr<AbstractCardCommand> command,
83 const SvOperation svOperation);
84
95
102 const std::vector<std::shared_ptr<AbstractCardCommand>>& getCardCommands() const;
103
110 bool hasCommands() const;
122
123private:
127 const std::unique_ptr<Logger> mLogger = LoggerFactory::getLogger(typeid(CardCommandManager));
128
132 std::vector<std::shared_ptr<AbstractCardCommand>> mCardCommands;
133
137 CalypsoCardCommand mSvLastCommand;
138
142 SvOperation mSvOperation;
143
147 bool mSvOperationComplete;
148};
149
150}
151}
152}
void addStoredValueCommand(const std::shared_ptr< AbstractCardCommand > command, const SvOperation svOperation)
const std::vector< std::shared_ptr< AbstractCardCommand > > & getCardCommands() const
void addRegularCommand(const std::shared_ptr< AbstractCardCommand > command)