AtCore  1.0.72
AtCore is a API to manage the serial connection between the computer and 3D Printers.
ifirmware.h
Go to the documentation of this file.
1 /* AtCore KDE Libary for 3D Printers
2  SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
3  SPDX-FileCopyrightText: 2016, 2018 Tomaz Canabrava <tcanabrava@kde.org>
4  SPDX-FileCopyrightText: 2016-2019 Chris Rizzitello <rizzitello@kde.org>
5  SPDX-FileCopyrightText: 2016-2019 Patrick José Pereira <patrickjp@kde.org>
6  SPDX-FileCopyrightText: 2016, 2019 Lays Rodrigues <lays.rodrigues@kde.org>
7  SPDX-FileCopyrightText: 2018 Leandro Santiago <leandrosansilva@gmail.com>
8 */
9 
10 #pragma once
11 
12 #include <QObject>
13 #include <QString>
14 
15 #include "atcore_export.h"
16 
17 class Temperature;
18 class AtCore;
19 
24 class ATCORE_EXPORT IFirmware : public QObject
25 {
26  Q_OBJECT
27  Q_PROPERTY(QString name READ name CONSTANT)
28  Q_PROPERTY(bool sdSupport READ isSdSupported CONSTANT)
29 public:
30  IFirmware();
31  void init(AtCore *parent);
32  ~IFirmware() override;
33 
38  virtual bool isSdSupported() const = 0;
39 
46  virtual QString name() const = 0;
47 
52  virtual void validateCommand(const QString &lastMessage);
53 
61  virtual QByteArray translate(const QString &command);
62 
67  AtCore *core() const;
68 
69 private:
70  struct IFirmwarePrivate;
72 public slots:
77  void checkCommand(const QByteArray &lastMessage);
78 signals:
82  void readyForCommand(void);
83 };
84 
85 Q_DECLARE_INTERFACE(IFirmware, "org.kde.atelier.core.firmware")
The AtCore class aims to provides a high level interface for serial based gcode devices
Definition: atcore.h:45
The IFirmware class Base Class for Firmware Plugins.
Definition: ifirmware.h:25
IFirmwarePrivate * d
Definition: ifirmware.h:70
virtual bool isSdSupported() const =0
Check for plugin support of sd cards.
void readyForCommand(void)
emit when firmware is ready for a command
virtual QString name() const =0
Virtual name to be reimplemented by Firmware plugin.
The Temperature class.
Definition: temperature.h:21
The IFirmwarePrivate struct.
Definition: ifirmware.cpp:16