blob: 6395eac31c4ac7756597cad90325b590bd118e6c [file] [log] [blame]
## This file is a template, the comment below is emitted into the generated file
/* This is an auto generated file. Do not edit. */
#pragma once
#include <array>
#include <memory>
#include <optional>
#include <string>
#include "anyof.hpp"
#include "fallback.hpp"
#include "fan.hpp"
#include "gpio.hpp"
#include "tach.hpp"
using namespace std::string_literals;
namespace phosphor
{
namespace fan
{
namespace presence
{
struct ConfigPolicy;
struct ConfigSensors
{
using Sensors = std::array<std::unique_ptr<PresenceSensor>, ${len(sensors)}>;
static auto& get()
{
static const Sensors sensors =
{
% for s in sensors:
${s.construct(loader, indent=indent +3)},
% endfor
};
return sensors;
}
};
struct ConfigFans
{
using Fans = std::array<Fan, ${len(fans)}>;
static auto& get()
{
static const Fans fans =
{
{
% for f in fans:
Fans::value_type{
"${f.name}"s,
"${f.path}"s,
std::nullopt
},
% endfor
}
};
return fans;
}
};
struct ConfigPolicy
{
using Policies = std::array<std::unique_ptr<RedundancyPolicy>, ${len(policies)}>;
static auto& get()
{
static const Policies policies =
{
% for p in policies:
${p.construct(loader, indent=indent +3)},
% endfor
};
return policies;
}
};
} // namespace presence
} // namespace fan
} // namespace phosphor