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

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

@@ -10,14 +10,14 @@ struct IoTValue {
class IoTItem {
public:
IoTItem(String parameters);
IoTItem(const String &parameters);
virtual ~IoTItem() {}
virtual void loop();
virtual void doByInterval();
virtual IoTValue execute(String command, std::vector<IoTValue>& param);
virtual void regEvent(String value, String consoleInfo, bool error = false);
virtual void regEvent(float value, String consoleInfo, bool error = false);
virtual void regEvent(const String& value, const String& consoleInfo, bool error = false);
virtual void regEvent(float value, const String& consoleInfo, bool error = false);
String getSubtype();
@@ -38,8 +38,8 @@ class IoTItem {
bool enableDoByInt = true;
virtual IoTGpio* getGpioDriver();
virtual void setValue(IoTValue Value, bool generateEvent = true);
virtual void setValue(String valStr, bool generateEvent = true);
virtual void setValue(const IoTValue& Value, bool generateEvent = true);
virtual void setValue(const String& valStr, bool generateEvent = true);
String getRoundValue();
//методы для графиков
@@ -66,15 +66,15 @@ class IoTItem {
bool _global = false; // характеристика айтема, что ему нужно слать и принимать события из внешнего мира
};
IoTItem* findIoTItem(String name); // поиск экземпляра элемента модуля по имени
String getItemValue(String name); // поиск плюс получение значения
bool isItemExist(String name); // существует ли айтем
IoTItem* findIoTItem(const String& name); // поиск экземпляра элемента модуля по имени
String getItemValue(const String& name); // поиск плюс получение значения
bool isItemExist(const String& name); // существует ли айтем
StaticJsonDocument<JSON_BUFFER_SIZE>* getLocalItemsAsJSON(); // сбор всех локальных значений Items
class externalVariable : IoTItem { // объект, создаваемый при получении информации о событии на другом контроллере для хранения информации о событии указанное время
public:
externalVariable(String parameters);
externalVariable(const String& parameters);
~externalVariable();
void doByInterval(); // для данного класса doByInterval+int выполняет роль счетчика обратного отсчета до уничтожения
};

View File

@@ -10,20 +10,20 @@ extern String jsonWriteInt(String& json, String name, int value, bool e = true);
extern String jsonWriteFloat(String& json, String name, float value, bool e = true);
extern String jsonWriteBool(String& json, String name, boolean value, bool e = true);
extern bool jsonRead(String& json, String key, unsigned long& value, bool e = true);
extern bool jsonRead(String& json, String key, float& value, bool e = true);
extern bool jsonRead(String& json, String key, String& value, bool e = true);
extern bool jsonRead(String& json, String key, bool& value, bool e = true);
extern bool jsonRead(String& json, String key, int& value, bool e = true);
extern bool jsonRead(const String& json, String key, unsigned long& value, bool e = true);
extern bool jsonRead(const String& json, String key, float& value, bool e = true);
extern bool jsonRead(const String& json, String key, String& value, bool e = true);
extern bool jsonRead(const String& json, String key, bool& value, bool e = true);
extern bool jsonRead(const String& json, String key, int& value, bool e = true);
extern String jsonReadStr(String& json, String name, bool e = true);
extern int jsonReadInt(String& json, String name, bool e = true);
extern boolean jsonReadBool(String& json, String name, bool e = true);
extern String jsonReadStr(const String& json, String name, bool e = true);
extern int jsonReadInt(const String& json, String name, bool e = true);
extern boolean jsonReadBool(const String& json, String name, bool e = true);
extern bool jsonWriteStr_(String& json, String name, String value, bool e = true);
extern bool jsonWriteBool_(String& json, String name, bool value, bool e = true);
extern bool jsonWriteInt_(String& json, String name, int value, bool e = true);
extern bool jsonWriteFloat_(String& json, String name, float value, bool e = true);
extern bool jsonWriteStr_(String& json, const String& name, const String& value, bool e = true);
extern bool jsonWriteBool_(String& json, const String& name, bool value, bool e = true);
extern bool jsonWriteInt_(String& json, const String& name, int value, bool e = true);
extern bool jsonWriteFloat_(String& json, const String& name, float value, bool e = true);
void writeUint8tValueToJsonString(uint8_t* payload, size_t length, size_t headerLenth, String& json);
extern bool jsonMergeObjects(String& json1, String& json2, bool e = true);
extern void jsonMergeDocs(JsonObject dest, JsonObjectConst src);