1#ifndef H_EXTENSIONS_CUTEHMI_DATAACQUISITION_1_INCLUDE_CUTEHMI_DATAACQUISITION_ABSTRACTWRITER_HPP
2#define H_EXTENSIONS_CUTEHMI_DATAACQUISITION_1_INCLUDE_CUTEHMI_DATAACQUISITION_ABSTRACTWRITER_HPP
7#include <cutehmi/services/Serviceable.hpp>
10#include <cutehmi/workarounds/qt5compatibility/qsizetype.hpp>
14#include <QQmlListProperty>
18namespace dataacquisition {
20class AbstractWriterAttachedType;
32 QML_UNCREATABLE(
"AbstractWriter is an abstract class")
38 Q_CLASSINFO("DefaultProperty", "values")
40 Q_PROPERTY(
cutehmi::dataacquisition::
Schema * schema READ schema WRITE setSchema NOTIFY schemaChanged)
50 void setSchema(
Schema * schema);
54 Q_INVOKABLE
void appendValue(
cutehmi::dataacquisition::
TagValue * value);
56 Q_INVOKABLE
void clearValues();
64 Q_SIGNAL
void broke();
66 Q_SIGNAL
void started();
68 Q_SIGNAL
void stopped();
70 Q_SIGNAL
void databaseConnected();
72 Q_SIGNAL
void schemaValidated();
74 virtual
void onValueAppend(
TagValue * value) = 0;
76 virtual
void onValueRemove(
TagValue * value) = 0;
81 void onSchemaValidated(
bool result);
101 valueList(p_parent, & values, & AbstractWriter::ValueListAppend, & AbstractWriter::ValueListCount, & AbstractWriter::ValueListAt, & AbstractWriter::ValueListClear),
Definition: AbstractWriterAttachedType.hpp:20
Abstract database writer.
Definition: AbstractWriter.hpp:28
Database schema.
Definition: Schema.hpp:18
Tag value.
Definition: TagValue.hpp:19