/*! * * Copyright (c) 2021-2022 Diality Inc. - All Rights Reserved. * \copyright * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * \file MAdjustHDSerialNumberResponse.cpp * \author (last) Behrouz NematiPour * \date (last) 13-Jun-2021 * \author (original) Behrouz NematiPour * \date (original) 13-Jun-2021 * */ #include "MAdjustHDSerialNumberResponse.h" using namespace Model; QVariantList MAdjustSerialNumberHDResponse::parameters() const { return { _data.mSerialNumber }; } /** * \brief MAdjustSerialNumberHDResponse::isValid * \details Checks if character meets HD serial constraints. (alphanumeric or '-') * \param vChar - the character. * \return bool - whether character is valid. */ bool MAdjustSerialNumberHDResponse::isValid(const QChar &vChar) { return vChar.isLetterOrNumber() || vChar == '-'; } /** * \brief MAdjustSerialNumberHDResponse::fromByteArray * \details Removes any invalid characters from HD serial string. * \param vByteArray - HD serial string represented as a byte array. * \return bool - whether serial contains any valid characters. */ bool MAdjustSerialNumberHDResponse::fromByteArray(const QByteArray &vByteArray, int *) { QString serial; for ( char c: vByteArray ) { // stop if end of file found while iterating through serial if ( !c ) break; QChar ch(c); if ( isValid(ch) ) { serial += ch; } } // whitespace cannot be in serial and empty serial is invalid _data.mSerialNumber = serial.trimmed(); return ! _data.mSerialNumber.isEmpty(); } MAdjustSerialNumberHDResponse::Data MAdjustSerialNumberHDResponse::data() const { return _data; }