Files
IoTManager/include/Bus/BusScannerFactory.h
Dmitry Borisenko b653ce1e87 start version
2020-07-26 23:48:19 +02:00

24 lines
599 B
C++

#pragma once
#include "Bus/BusScanner.h"
#include "Bus/I2CScanner.h"
#include "Bus/OneWireScanner.h"
#include "Consts.h"
#include "Utils/JsonUtils.h"
class BusScannerFactory {
public:
static BusScanner* get(String& config, BusScanner_t type, String& str) {
switch (type) {
case BS_I2C:
return new I2CScanner(str);
case BS_ONE_WIRE: {
uint8_t pin = jsonReadInt(config, TAG_ONE_WIRE_PIN);
return new OneWireScanner(str, pin);
}
default:
return nullptr;
}
}
};