#pragma once #include #include #include #include enum EDeviceCommandParamDataType { INT, DOUBLE, DATE, TEXT, BINARY }; struct DeviceCommandParam { std::string Name; std::string Description; uint32_t Offset; uint32_t Order; int32_t Width; // если -1 то данные могут быть любой длинны EDeviceCommandParamDataType DataType; QByteArray Data; // используется для заполения данных клиентом, а также в том случае если имеется фиксированный параметр (например, подкод команды) QList Options; bool OptionsContains(QByteArray data) { for (auto it = Options.begin(); it != Options.end(); it++) { if (it->compare(data) == 0) { return true; } } return false; } };