Keyple Plugin Stub C++ Library - 2.2.2
Component of the Keyple C++ middleware
StubPluginFactoryAdapter.cpp
Go to the documentation of this file.
1/******************************************************************************
2 * Copyright (c) 2025 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 *
6 * https://opensource.org/licenses/MIT. *
7 * *
8 * SPDX-License-Identifier: MIT *
9 ******************************************************************************/
10
11#include "keyple/plugin/stub/StubPluginFactoryAdapter.hpp"
12
13#include "keyple/core/common/CommonApiProperties.hpp"
14#include "keyple/core/plugin/PluginApiProperties.hpp"
15#include "keyple/plugin/stub/StubPluginAdapter.hpp"
16
17namespace keyple {
18namespace plugin {
19namespace stub {
20
21using keyple::core::common::CommonApiProperties_VERSION;
22using keyple::core::plugin::PluginApiProperties_VERSION;
23
24/* STUB READER CONFIGURATION
25 * -------------------------------------------------------------------- */
26
27StubPluginFactoryAdapter::StubReaderConfiguration::StubReaderConfiguration(
28 const std::string& name,
29 const bool isContactless,
30 std::shared_ptr<StubSmartCard> card)
31: mName(name)
32, mIsContactless(isContactless)
33, mCard(card)
34{
35}
36
37const std::string&
38StubPluginFactoryAdapter::StubReaderConfiguration::getName() const
39{
40 return mName;
41}
42
43bool
44StubPluginFactoryAdapter::StubReaderConfiguration::getContactless() const
45{
46 return mIsContactless;
47}
48
49std::shared_ptr<StubSmartCard>
50StubPluginFactoryAdapter::StubReaderConfiguration::getCard() const
51{
52 return mCard;
53}
54
55/* STUB PLUGIN FACTORY ADAPTER
56 * ------------------------------------------------------------------ */
57
58StubPluginFactoryAdapter::StubPluginFactoryAdapter(
59 const std::string& pluginName,
60 const std::vector<std::shared_ptr<StubReaderConfiguration>>&
61 readerConfigurations,
62 const int monitoringCycleDuration)
63: mReaderConfigurations(readerConfigurations)
64, mMonitoringCycleDuration(monitoringCycleDuration)
65, mPluginName(pluginName)
66{
67}
68
69const std::string
70StubPluginFactoryAdapter::getPluginApiVersion() const
71{
72 return PluginApiProperties_VERSION;
73}
74
75const std::string
76StubPluginFactoryAdapter::getCommonApiVersion() const
77{
78 return CommonApiProperties_VERSION;
79}
80
81const std::string&
82StubPluginFactoryAdapter::getPluginName() const
83{
84 return mPluginName;
85}
86
87std::shared_ptr<PluginSpi>
88StubPluginFactoryAdapter::getPlugin()
89{
90 return std::make_shared<StubPluginAdapter>(
91 mPluginName, mReaderConfigurations, mMonitoringCycleDuration);
92}
93
94} /* namespace stub */
95} /* namespace plugin */
96} /* namespace keyple */