14#include "keyple/core/service/resource/PoolPluginsConfigurator.hpp"
16#include "keyple/core/util/KeypleAssert.hpp"
17#include "keyple/core/util/cpp/Arrays.hpp"
18#include "keyple/core/util/cpp/exception/IllegalStateException.hpp"
25using keyple::core::util::Assert;
26using keyple::core::util::cpp::Arrays;
27using keyple::core::util::cpp::exception::IllegalStateException;
34PoolPluginsConfigurator::Builder::usePoolFirst()
36 if (mUsePoolFirstConfigured ==
true) {
37 throw IllegalStateException(
"Pool plugins priority already configured");
41 mUsePoolFirstConfigured =
true;
47PoolPluginsConfigurator::Builder::addPoolPlugin(
48 std::shared_ptr<PoolPlugin> poolPlugin)
50 Assert::getInstance().notNull(poolPlugin,
"poolPlugin");
52 if (Arrays::contains(mPoolPlugins, poolPlugin)) {
53 throw IllegalStateException(
"Pool plugin already configured");
56 mPoolPlugins.push_back(poolPlugin);
61std::shared_ptr<PoolPluginsConfigurator>
62PoolPluginsConfigurator::Builder::build()
64 if (mPoolPlugins.empty()) {
65 throw IllegalStateException(
"No pool plugin was configured");
68 if (mUsePoolFirstConfigured ==
false) {
69 mUsePoolFirst =
false;
72 return std::make_shared<PoolPluginsConfigurator>(
this);
76: mUsePoolFirstConfigured(false)
83PoolPluginsConfigurator::isUsePoolFirst()
const
88const std::vector<std::shared_ptr<PoolPlugin>>&
89PoolPluginsConfigurator::getPoolPlugins()
const
95PoolPluginsConfigurator::builder()
100PoolPluginsConfigurator::PoolPluginsConfigurator(
const Builder* builder)
101: mUsePoolFirst(builder->mUsePoolFirst)
102, mPoolPlugins(builder->mPoolPlugins)
CardResourceProfileConfigurator::Builder Builder