mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-26 22:22:16 +03:00
Добавляем поиск элемента по части ИД
This commit is contained in:
@@ -24,6 +24,7 @@ class IoTItem {
|
||||
String getSubtype();
|
||||
|
||||
String getID();
|
||||
bool isStrInID(const String& str);
|
||||
int getIntFromNet();
|
||||
virtual String getValue();
|
||||
long getInterval();
|
||||
@@ -91,6 +92,7 @@ class IoTItem {
|
||||
};
|
||||
|
||||
IoTItem* findIoTItem(const String& name); // поиск экземпляра элемента модуля по имени
|
||||
IoTItem* findIoTItemByPartOfName(const String& partName); // поиск элемента модуля в существующей конфигурации по части имени
|
||||
String getItemValue(const String& name); // поиск плюс получение значения
|
||||
bool isItemExist(const String& name); // существует ли айтем
|
||||
//StaticJsonDocument<JSON_BUFFER_SIZE>* getLocalItemsAsJSON(); // сбор всех локальных значений Items
|
||||
|
||||
@@ -200,6 +200,10 @@ String IoTItem::getID() {
|
||||
return _id;
|
||||
};
|
||||
|
||||
bool IoTItem::isStrInID(const String& str) {
|
||||
return _id.indexOf(str) != -1;
|
||||
}
|
||||
|
||||
void IoTItem::setInterval(long interval) {
|
||||
_interval = interval;
|
||||
}
|
||||
@@ -245,6 +249,17 @@ IoTItem* findIoTItem(const String& name) {
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
// поиск элемента модуля в существующей конфигурации по части имени
|
||||
IoTItem* findIoTItemByPartOfName(const String& partName) {
|
||||
if (partName == "") return nullptr;
|
||||
for (std::list<IoTItem*>::iterator it = IoTItems.begin(); it != IoTItems.end(); ++it) {
|
||||
if ((*it)->isStrInID(partName)) return *it;
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
// поиск плюс получение значения
|
||||
String getItemValue(const String& name) {
|
||||
IoTItem* tmp = findIoTItem(name);
|
||||
|
||||
Reference in New Issue
Block a user