Оптимизируем работу с передачей строк через парамтеры функций

This commit is contained in:
2022-10-28 22:19:18 +03:00
parent a292f17285
commit 7dc21ee914
12 changed files with 54 additions and 59 deletions

View File

@@ -68,7 +68,7 @@ class ButtonIn : public IoTItem {
_lastButtonState = _reading;
}
void setValue(IoTValue Value, bool generateEvent = true) {
void setValue(const IoTValue& Value, bool generateEvent = true) {
value = Value;
if (generateEvent) regEvent((String)(int)value.valD, "ButtonIn");
}

View File

@@ -37,7 +37,7 @@ class ButtonOut : public IoTItem {
return {}; // команда поддерживает возвращаемое значения. Т.е. по итогу выполнения команды или общения с внешней системой, можно вернуть значение в сценарий для дальнейшей обработки
}
void setValue(IoTValue Value, bool generateEvent = true) {
void setValue(const IoTValue& Value, bool generateEvent = true) {
value = Value;
IoTgpio.digitalWrite(_pin, _inv?!value.valD:value.valD);
if (generateEvent) regEvent((String)(int)value.valD, "ButtonOut");

View File

@@ -52,7 +52,7 @@ class IoTServo : public IoTItem {
return {};
}
void setValue(IoTValue Value, bool generateEvent = true) {
void setValue(const IoTValue& Value, bool generateEvent = true) {
value = Value;
if (value.isDecimal & (_oldValue != value.valD)) {
_oldValue = value.valD;

View File

@@ -54,7 +54,7 @@ class Pwm32 : public IoTItem {
}
}
void setValue(IoTValue Value, bool generateEvent = true) {
void setValue(const IoTValue& Value, bool generateEvent = true) {
value = Value;
ledcWrite(_ledChannel, value.valD);
if (generateEvent) regEvent(value.valD, "Pwm32");

View File

@@ -44,7 +44,7 @@ class Pwm8266 : public IoTItem {
}
}
void setValue(IoTValue Value, bool generateEvent = true) {
void setValue(const IoTValue& Value, bool generateEvent = true) {
value = Value;
IoTgpio.analogWrite(_pin, value.valD);
if (generateEvent) regEvent(value.valD, "Pwm8266");

View File

@@ -263,7 +263,7 @@ class Loging : public IoTItem {
}
}
void regEvent(String value, String consoleInfo, bool error = false) {
void regEvent(const String& value, const String& consoleInfo, bool error = false) {
String userDate = getItemValue(id + "-date");
String currentDate = getTodayDateDotFormated();
//отправляем в график данные только когда выбран сегодняшний день
@@ -306,12 +306,12 @@ class Date : public IoTItem {
value.isDecimal = false;
}
void setValue(String valStr) {
void setValue(const String& valStr) {
value.valS = valStr;
setValue(value);
}
void setValue(IoTValue Value, bool generateEvent = true) {
void setValue(const IoTValue& Value, bool generateEvent = true) {
value = Value;
if (generateEvent) regEvent(value.valS, "");
//отправка данных при изменении даты

View File

@@ -6,7 +6,7 @@ class VButton : public IoTItem {
public:
VButton(String parameters): IoTItem(parameters) { }
void setValue(IoTValue Value, bool generateEvent = true) {
void setValue(const IoTValue& Value, bool generateEvent = true) {
value = Value;
if (generateEvent) regEvent((String)(int)value.valD, "VButton");
}

View File

@@ -9,7 +9,7 @@ class Variable : public IoTItem {
}
// особенность данного модуля - просто хранение значения для сценария, нет событий
// void setValue(IoTValue Value, bool generateEvent = true) {
// void setValue(const IoTValue& Value, bool generateEvent = true) {
// value = Value;
// }