Keyple Card Calypso C++ Library 2.2.5.6
Reference Terminal Reader API for C++
CmdSamReadKeyParameters.h
Go to the documentation of this file.
1/**************************************************************************************************
2 * Copyright (c) 2023 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 <map>
17#include <ostream>
18#include <vector>
19
20/* Keyple Card Calypso */
21#include "AbstractSamCommand.h"
22
23namespace keyple {
24namespace card {
25namespace calypso {
26
34public:
38 enum class SourceRef {
43
48 };
49
53 enum class NavControl {
57 FIRST,
58
62 NEXT
63 };
64
72 CmdSamReadKeyParameters(const std::shared_ptr<CalypsoSamAdapter> calypsoSam);
73
82 CmdSamReadKeyParameters(const std::shared_ptr<CalypsoSamAdapter> calypsoSam,
83 const uint8_t kif);
84
94 CmdSamReadKeyParameters(const std::shared_ptr<CalypsoSamAdapter> calypsoSam,
95 const uint8_t kif,
96 const uint8_t kvc);
97
107 CmdSamReadKeyParameters(const std::shared_ptr<CalypsoSamAdapter> calypsoSam,
108 const SourceRef sourceKeyRef,
109 const int recordNumber);
110
120 CmdSamReadKeyParameters(const std::shared_ptr<CalypsoSamAdapter> calypsoSam,
121 const uint8_t kif,
122 const NavControl navControl);
123
131 const std::vector<uint8_t> getKeyParameters() const;
132
136 friend std::ostream& operator<<(std::ostream& os, const SourceRef& sr);
140 friend std::ostream& operator<<(std::ostream& os, const NavControl& nc);
141
147 const std::map<const int, const std::shared_ptr<StatusProperties>>& getStatusTable() const
148 override;
149
150private:
154 static const CalypsoSamCommand mCommand;
155
159 static const int MAX_WORK_KEY_REC_NUMB;
160
164 static const std::map<const int, const std::shared_ptr<StatusProperties>> STATUS_TABLE;
165
169 static const std::map<const int, const std::shared_ptr<StatusProperties>> initStatusTable();
170};
171
172}
173}
174}
CmdSamReadKeyParameters(const std::shared_ptr< CalypsoSamAdapter > calypsoSam)
const std::map< const int, const std::shared_ptr< StatusProperties > > & getStatusTable() const override
friend std::ostream & operator<<(std::ostream &os, const SourceRef &sr)
const std::vector< uint8_t > getKeyParameters() const