std::string OK5553ReaderUnit::getName() const { return getDataTransport()->getName(); }
void OSDPReaderUnit::disconnectFromReader() { getDataTransport()->disconnect(); }
std::vector<unsigned char> RplethReaderCardAdapter::sendRplethCommand(const std::vector<unsigned char>& data, long timeout) { COM_("Send Rpleth Command : %s", BufferHelper::getHex(data).c_str()); std::vector<unsigned char> res; boost::shared_ptr<RplethDataTransport> dt = boost::dynamic_pointer_cast<RplethDataTransport>(getDataTransport()); if (dt) { if (adaptCommand(data).size() > 0) { dt->sendll(adaptCommand(data)); } res = adaptAnswer(dt->receive(timeout)); } else { ERROR_SIMPLE_("Not a Rpleth data transport."); } return res; }
void OK5553ReaderUnit::disconnectFromReader() { LOG(LogLevel::INFOS) << "Starting disconnection to reader..."; getDataTransport()->disconnect(); }
void AxessTMCLegicReaderUnit::disconnectFromReader() { getDataTransport()->disconnect(); }
std::string AxessTMCLegicReaderUnit::getName() const { return getDataTransport()->getName(); }
bool AxessTMCLegicReaderUnit::connectToReader() { getDataTransport()->setReaderUnit(shared_from_this()); return getDataTransport()->connect(); }
std::vector<unsigned char> GunneboReaderCardAdapter::adaptAnswer(const std::vector<unsigned char>& answer) { LOG(LogLevel::COMS) << "Processing the received command buffer " << BufferHelper::getHex(answer) << " command size {" << answer.size() << "}..."; std::shared_ptr<GunneboReaderUnit> ru = std::dynamic_pointer_cast<GunneboReaderUnit>(getDataTransport()->getReaderUnit()); EXCEPTION_ASSERT_WITH_LOG(answer.size() >= 3, std::invalid_argument, "A valid command buffer size must be at least 3 bytes long"); EXCEPTION_ASSERT_WITH_LOG(answer[0] == STX, std::invalid_argument, "The supplied command buffer is not valid (bad STX)"); size_t foolen = 2; if (answer[1] == 0x31 && answer[2] == 0x46) { foolen = 1; } EXCEPTION_ASSERT_WITH_LOG(answer[answer.size() - foolen] == ETX, std::invalid_argument, "The supplied command buffer is not valid (bad ETX)"); // Gunnebo ID is like that: [STX - 1 byte][id - x bytes][ETX - 1 byte][checksum - 1 byte] // We don't calculate the checksum ! Who cares ?!? :) return std::vector<unsigned char>(answer.begin() + 1, answer.end() - 2); }
std::string DeisterReaderUnit::getName() const { return getDataTransport()->getName(); }
void DeisterReaderUnit::disconnectFromReader() { getDataTransport()->disconnect(); }
bool DeisterReaderUnit::connectToReader() { getDataTransport()->setReaderUnit(shared_from_this()); return getDataTransport()->connect(); }