/*! * * 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 MAdjustDGSerialNumberResponse.cpp * \author (last) Behrouz NematiPour * \date (last) 13-Jun-2021 * \author (original) Behrouz NematiPour * \date (original) 13-Jun-2021 * */ #include "MAdjustDGSerialNumberResponse.h" using namespace Model; QVariantList MAdjustSerialNumberDGResponse::parameters() const { return { _data.mSerialNumber }; } /** * \brief MAdjustSerialNumberDGResponse::isValid * \details Checks if character meets DG serial constraints. (Alphanumeric or '-') * \param vChar - the character. * \return bool - whether character is valid. */ bool MAdjustSerialNumberDGResponse::isValid(const QChar &vChar) { return vChar.isLetterOrNumber() || vChar == '-'; } /** * \brief MAdjustSerialNumberDGResponse::fromByteArray * \details Removes any invalid characters from DG serial string. * \param vByteArray - DG serial string represented as a byte array. * \return true if serial contains any valid characters. */ bool MAdjustSerialNumberDGResponse::fromByteArray(const QByteArray &vByteArray, int *) { // only keep valid characters from serial and stop if end of line reached QString serial; for ( char c: vByteArray ) { 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(); } MAdjustSerialNumberDGResponse::Data MAdjustSerialNumberDGResponse::data() const { return _data; }