#pragma once #include #include #include class CardReader { public: virtual bool isNewCardPresent() = 0; virtual String getCardUid() = 0; }; class MFRC522CardReader : public CardReader { private: MFRC522* iReader; public: explicit MFRC522CardReader(MFRC522 *reader); bool isNewCardPresent() override; String getCardUid() override; }; class RDM6300CardReader : public CardReader { private: Rdm6300* iReader; public: explicit RDM6300CardReader(Rdm6300 *reader); bool isNewCardPresent() override; String getCardUid() override; };