summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/cardTypeHandlerInfo.hpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/include/cardTypeHandlerInfo.hpp b/include/cardTypeHandlerInfo.hpp
new file mode 100644
index 0000000..155633c
--- /dev/null
+++ b/include/cardTypeHandlerInfo.hpp
@@ -0,0 +1,27 @@
+#include <functional>
+#include <string>
+
+class CardTypeHandlerInfo {
+ public:
+ CardTypeHandlerInfo() = default;
+ ~CardTypeHandlerInfo() = default;
+ CardTypeHandlerInfo(const CardTypeHandlerInfo &) = delete;
+ CardTypeHandlerInfo(CardTypeHandlerInfo &&) = default;
+ // TODO: rule of 5 ? delete copy operator ? how to call it I forgot
+ CardTypeHandlerInfo(
+ const std::vector<std::string> &kCardTypeVector,
+ const std::vector<std::string> &kCardValueRegexVector,
+ const std::vector<std::function<const std::string(const std::string &)>>
+ kJSONToSQLConverterVector);
+
+ void addCardInfo(const std::string &kCardType,
+ const std::string &kCardValueRegex,
+ const std::function<const std::string(const std::string &)>
+ kJSONToSQLConverter);
+
+ private:
+ std::vector<std::string> mCardType;
+ std::vector<std::string> mCardValueRegex;
+ std::vector<std::function<const std::string(const std::string &)>>
+ mJSONToSQLConverter;
+};