bool A3MLGM5600ReaderProvider::refreshReaderList() { d_readers.clear(); d_readers.push_back(createReaderUnit()); return true; }
std::shared_ptr<ISO7816ReaderUnit> STidSTRReaderProvider::createReaderUnit(std::string readerunitname) { auto ru = std::dynamic_pointer_cast<STidSTRReaderUnit>(createReaderUnit()); auto dt = std::make_shared<STidSTRDataTransport>(readerunitname); dt->setPortBaudRate(38400); ru->setDataTransport(dt); return ru; }
void ACSACR1222LReaderUnit::establish_background_connection() { kill_background_connection(); LLA_LOG_CTX("Setting up feedback PCSC connection for ACSACR1222L."); auto provider = std::dynamic_pointer_cast<PCSCReaderProvider>(getReaderProvider()); assert(provider); assert(getACSACR1222LConfiguration()); auto name = getACSACR1222LConfiguration()->getUserFeedbackReader(); if (name.empty()) { LOG(WARNINGS) << "Cannot fetch name for the reader unit that would be used as " << "a background connection for ACSACR1222L"; return; } try { sam_used_as_perma_connection_ = std::dynamic_pointer_cast<PCSCReaderUnit>( provider->createReaderUnit(name)); assert(sam_used_as_perma_connection_); sam_used_as_perma_connection_->setup_pcsc_connection(SC_DIRECT); } catch (const std::exception &e) { LOG(ERRORS) << "Failed to establish PCSC connection when establishing " << "background connection for ACSACR1222L: " << e.what(); sam_used_as_perma_connection_ = nullptr; return; } auto lcd = std::make_shared<ACSACR1222LLCDDisplay>(); lcd->setReaderCardAdapter( sam_used_as_perma_connection_->getDefaultReaderCardAdapter()); sam_used_as_perma_connection_->setLCDDisplay(lcd); auto ledbuzzer = std::make_shared<ACSACR1222LLEDBuzzerDisplay>(); ledbuzzer->setReaderCardAdapter( sam_used_as_perma_connection_->getDefaultReaderCardAdapter()); sam_used_as_perma_connection_->setLEDBuzzerDisplay(ledbuzzer); }
std::shared_ptr<ISO7816ReaderUnit> RplethReaderProvider::createReaderUnit(std::string /*readerunitname*/) { return std::dynamic_pointer_cast<ISO7816ReaderUnit>(createReaderUnit()); }