File indexing completed on 2024-05-12 04:41:10
0001 /* AtCore KDE Libary for 3D Printers 0002 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0003 SPDX-FileCopyrightText: 2016, 2018 Tomaz Canabrava <tcanabrava@kde.org> 0004 SPDX-FileCopyrightText: 2016-2018 Chris Rizzitello <rizzitello@kde.org> 0005 SPDX-FileCopyrightText: 2018 Patrick José Pereira <patrickjp@kde.org> 0006 SPDX-FileCopyrightText: 2018 Leandro Santiago <leandrosansilva@gmail.com> 0007 */ 0008 0009 #include "ifirmware.h" 0010 #include "atcore.h" 0011 0012 /** 0013 * @brief The IFirmwarePrivate struct 0014 * @param parent: parent of this object 0015 */ 0016 struct IFirmware::IFirmwarePrivate { 0017 AtCore *parent; 0018 /** 0019 * @brief command finished string 0020 */ 0021 static const QString _ok; 0022 }; 0023 0024 const QString IFirmware::IFirmwarePrivate::_ok = QStringLiteral("ok"); 0025 0026 IFirmware::IFirmware() 0027 : d(new IFirmwarePrivate) 0028 { 0029 } 0030 0031 void IFirmware::init(AtCore *parent) 0032 { 0033 setParent(parent); 0034 d->parent = parent; 0035 connect(d->parent, &AtCore::receivedMessage, this, &IFirmware::checkCommand); 0036 } 0037 0038 IFirmware::~IFirmware() 0039 { 0040 delete d; 0041 } 0042 0043 AtCore *IFirmware::core() const 0044 { 0045 return d->parent; 0046 } 0047 0048 void IFirmware::checkCommand(const QByteArray &lastMessage) 0049 { 0050 validateCommand(QString::fromLatin1(lastMessage)); 0051 } 0052 0053 void IFirmware::validateCommand(const QString &lastMessage) 0054 { 0055 if (lastMessage.contains(IFirmwarePrivate::_ok)) { 0056 Q_EMIT readyForCommand(); 0057 } 0058 } 0059 0060 QByteArray IFirmware::translate(const QString &command) 0061 { 0062 return command.toLocal8Bit(); 0063 }