#pragma once #include #include #include #include "types.hpp" #include "zone.hpp" namespace phosphor { namespace fan { namespace control { using ZoneMap = std::map>; /** * @class Fan control manager */ class Manager { public: Manager() = delete; Manager(const Manager&) = delete; Manager(Manager&&) = default; Manager& operator=(const Manager&) = delete; Manager& operator=(Manager&&) = delete; ~Manager() = default; /** * Constructor * Creates the Zone objects based on the * _zoneLayouts data. * * @param[in] bus - The dbus object */ Manager(sdbusplus::bus::bus& bus); private: /** * The dbus object */ sdbusplus::bus::bus& _bus; /** * The fan zones in the system */ ZoneMap _zones; /** * The fan zone layout for the system. * This is generated data. */ static const std::vector _zoneLayouts; }; } } }