/* * LampFactory.cpp * * Created on: December 28, 2019 * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #include #include "LampFactory.h" #include "output/items/detail/Lamp.h" namespace flippR_driver { namespace output { LampFactory::LampFactory(nlohmann::json &object) : Factory(object) {} std::map> LampFactory::getItemMap() { auto lamps = object.at("lamps"); std::map> lamp_map; for (auto lamp : lamps) { auto name = lamp.at("name").get(); auto address = lamp.at("address").get(); auto extender = lamp.at("extender").get(); auto pin_base = this->get_extender_pin_base(extender); auto lamp_item = std::make_shared(std::static_pointer_cast(this->pin_controller), address, pin_base, name); lamp_map.emplace(name, lamp_item); } return lamp_map; } } }