/
e-face
/
SuperPuperTerminal
Обзор
Документация
Войти
/
e-face
/
SuperPuperTerminal
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
src/script.target.h
126 строк
4 KB
e-face
First one
14 фев 2026, 19:38
14 фев 2026, 19:38
87f499b
Код
Авторство
О чём код?
#ifndef SCRIPTTARGET_H #define SCRIPTTARGET_H #include <QString> #include <QMap> //--------------------------------------------------------- class ScriptTarget { typedef QMap<QString, bool> BoolMap; typedef QMap<QString, int> IntMap; typedef QMap<QString, float> FloatMap; typedef QMap<QString, QString> StringMap; private: BoolMap _arrBool; IntMap _arrInt; FloatMap _arrFloat; StringMap _arrString; QByteArray _result; public: ScriptTarget(); ~ScriptTarget(); void reset(); inline QByteArray result() const { return _result; } // вывод записи в журнал и отладочную консоль void aLog(QString msg); // работа с буфером общедоступных переменных bool getBool(QString name); void setBool(QString name, bool value); int getInt(QString name); void setInt(QString name, int value); float getReal(QString name); void setReal(QString name, float value); QString getString(QString name); void setString(QString name, QString value); void clear(); int count(); void setHex(QString value); void addHex(QString value); void setUtf8(QString value); void addUtf8(QString value); void setCp1251(QString value); void addCp1251(QString value); void setInt8(int number, int value); void setInt16(int number, int value); void setInt32(int number, int value); void setUInt8(int number, uint value); void setUInt16(int number, uint value); void setUInt32(int number, uint value); void setFloat(int number, float value); void addInt8(int value); void addInt16(int value); void addInt32(int value); void addUInt8(uint value); void addUInt16(uint value); void addUInt32(uint value); void addFloat(float value); int bit(int byte, int bit); void setBit(int byte, int bit, int value); void replaceHex(int start, int end, QString before, QString after); void crc16Modbus(int start, int end, int insertTo); void crc16Trs(int start, int end, int insertTo); }; //--------------------------------------------------------- // регистрируем функции в виртуальной машине LUA #define REGISTRATE_SCRIPT_FUNCTIONS \ PROXY_1(void, aLog, QString) \ PROXY_1(bool, getBool, QString) \ PROXY_2(void, setBool, QString, bool) \ PROXY_1(int, getInt, QString) \ PROXY_2(void, setInt, QString, int) \ PROXY_1(float, getReal, QString) \ PROXY_2(void, setReal, QString, float) \ PROXY_1(QString, getString, QString) \ PROXY_2(void, setString, QString, QString) \ PROXY_0(void, clear) \ PROXY_0(int, count) \ PROXY_1(void, setHex, QString) \ PROXY_1(void, addHex, QString) \ PROXY_1(void, setUtf8, QString) \ PROXY_1(void, addUtf8, QString) \ PROXY_1(void, setCp1251, QString) \ PROXY_1(void, addCp1251, QString) \ PROXY_2(void, setInt8, int, int) \ PROXY_2(void, setInt16, int, int) \ PROXY_2(void, setInt32, int, int) \ PROXY_2(void, setUInt8, int, uint) \ PROXY_2(void, setUInt16, int, uint) \ PROXY_2(void, setUInt32, int, uint) \ PROXY_2(void, setFloat, int, float) \ PROXY_1(void, addInt8, int) \ PROXY_1(void, addInt16, int) \ PROXY_1(void, addInt32, int) \ PROXY_1(void, addUInt8, uint) \ PROXY_1(void, addUInt16, uint) \ PROXY_1(void, addUInt32, uint) \ PROXY_1(void, addFloat, float) \ PROXY_2(int, bit, int, int) \ PROXY_3(void, setBit, int, int, int) \ PROXY_4(void, replaceHex, int, int, QString, QString) \ PROXY_3(void, crc16Modbus, int, int, int) \ PROXY_3(void, crc16Trs, int, int, int) //--------------------------------------------------------- // регистрируем значения перечислений в виртуальной машине LUA #define REGISTRATE_SCRIPT_ENUMVALUES \ //--------------------------------------------------------- #endif // SCRIPTTARGET_H