20#include "CalypsoSam.h"
21#include "CardSecuritySetting.h"
22#include "WriteAccessLevel.h"
25#include "CardReader.h"
34using namespace calypsonet::terminal::calypso;
35using namespace calypsonet::terminal::calypso::sam;
36using namespace calypsonet::terminal::calypso::transaction;
37using namespace calypsonet::terminal::reader;
58 CardSecuritySetting& setSamResource(
const std::shared_ptr<CardReader> samReader,
59 const std::shared_ptr<CalypsoSam> calypsoSam)
override;
110 const uint8_t kif)
override;
118 const uint8_t kif)
override;
126 const uint8_t kvc)
override;
166 std::shared_ptr<CardReader> getSamReader()
const;
176 std::shared_ptr<CalypsoSam> getCalypsoSam()
const;
185 bool isMultipleSessionEnabled()
const;
194 bool isRatificationMechanismEnabled()
const;
203 bool isPinPlainTransmissionEnabled()
const;
212 bool isTransactionAuditEnabled()
const;
221 bool isSvLoadAndDebitLogEnabled()
const;
230 bool isSvNegativeBalanceAuthorized()
const;
242 const std::shared_ptr<uint8_t> getKif(
const WriteAccessLevel writeAccessLevel,
243 const uint8_t kvc)
const;
254 const std::shared_ptr<uint8_t> getDefaultKif(
const WriteAccessLevel writeAccessLevel)
const;
265 const std::shared_ptr<uint8_t> getDefaultKvc(
const WriteAccessLevel writeAccessLevel)
const;
276 bool isSessionKeyAuthorized(
const std::shared_ptr<uint8_t> kif,
277 const std::shared_ptr<uint8_t> kvc)
const;
288 bool isSvKeyAuthorized(
const std::shared_ptr<uint8_t> kif,
289 const std::shared_ptr<uint8_t> kvc)
const;
298 const std::shared_ptr<uint8_t> getPinVerificationCipheringKif()
const;
307 const std::shared_ptr<uint8_t> getPinVerificationCipheringKvc()
const;
316 const std::shared_ptr<uint8_t> getPinModificationCipheringKif()
const;
325 const std::shared_ptr<uint8_t> getPinModificationCipheringKvc()
const;
331 static const std::string WRITE_ACCESS_LEVEL;
336 std::shared_ptr<CardReader> mSamReader;
341 std::shared_ptr<CalypsoSam> mCalypsoSam;
346 bool mIsMultipleSessionEnabled;
351 bool mIsRatificationMechanismEnabled;
356 bool mIsPinPlainTransmissionEnabled;
361 bool mIsTransactionAuditEnabled;
366 bool mIsSvLoadAndDebitLogEnabled;
371 bool mIsSvNegativeBalanceAuthorized;
376 std::map<WriteAccessLevel, std::map<uint8_t, uint8_t>> mKifMap;
381 std::map<WriteAccessLevel, uint8_t> mDefaultKifMap;
386 std::map<WriteAccessLevel, uint8_t> mDefaultKvcMap;
391 std::vector<int> mAuthorizedSessionKeys;
396 std::vector<int> mAuthorizedSvKeys;
401 std::shared_ptr<uint8_t> mPinVerificationCipheringKif;
406 std::shared_ptr<uint8_t> mPinVerificationCipheringKvc;
411 std::shared_ptr<uint8_t> mPinModificationCipheringKif;
416 std::shared_ptr<uint8_t> mPinModificationCipheringKvc;
#define KEYPLECARDCALYPSO_API