mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-26 22:22:16 +03:00
Оптимизируем работу со строками через параметры функции
This commit is contained in:
@@ -8,7 +8,7 @@ class ExprAST {
|
||||
virtual ~ExprAST();
|
||||
virtual IoTValue *exec();
|
||||
virtual int setValue(IoTValue *val, bool generateEvent); // ret 0 - установка значения не поддерживается наследником
|
||||
virtual bool hasEventIdName(String eventIdName);
|
||||
virtual bool hasEventIdName(const String& eventIdName);
|
||||
};
|
||||
|
||||
class IoTScenario {
|
||||
@@ -93,7 +93,7 @@ class IoTScenario {
|
||||
|
||||
public:
|
||||
void loadScenario(String fileName);
|
||||
void exec(String eventIdName);
|
||||
void exec(const String& eventIdName);
|
||||
|
||||
IoTScenario();
|
||||
~IoTScenario();
|
||||
|
||||
@@ -37,7 +37,7 @@ enum Token {
|
||||
ExprAST::~ExprAST() {}
|
||||
IoTValue *ExprAST::exec() { return nullptr; }
|
||||
int ExprAST::setValue(IoTValue *val, bool generateEvent) { return 0; } // 0 - установка значения не поддерживается наследником
|
||||
bool ExprAST::hasEventIdName(String eventIdName) { return false; } // по умолчанию все узлы не связаны с ИД события, для которого выполняется сценарий
|
||||
bool ExprAST::hasEventIdName(const String& eventIdName) { return false; } // по умолчанию все узлы не связаны с ИД события, для которого выполняется сценарий
|
||||
// struct IoTValue zeroIotVal;
|
||||
|
||||
/// NumberExprAST - Класс узла выражения для числовых литералов (Например, "1.0").
|
||||
@@ -543,7 +543,7 @@ class IfExprAST : public ExprAST {
|
||||
_IDNames = "";
|
||||
}
|
||||
|
||||
bool hasEventIdName(String eventIdName) {
|
||||
bool hasEventIdName(const String& eventIdName) {
|
||||
// Serial.printf("Call from BinaryExprAST _IDNames:%s\n", _IDNames.c_str());
|
||||
return _IDNames.indexOf(" " + eventIdName + " ") >= 0; // определяем встречался ли ИД, для которого исполняем сценарий в выражении IF
|
||||
}
|
||||
@@ -1026,7 +1026,7 @@ void IoTScenario::loadScenario(String fileName) { // подготавливае
|
||||
}
|
||||
}
|
||||
|
||||
void IoTScenario::exec(String eventIdName) { // посимвольно считываем и сразу интерпретируем сценарий в дерево AST
|
||||
void IoTScenario::exec(const String& eventIdName) { // посимвольно считываем и сразу интерпретируем сценарий в дерево AST
|
||||
if (mode == 0 && !file) return;
|
||||
|
||||
LastChar = 0;
|
||||
|
||||
Reference in New Issue
Block a user