// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_ASH_POWER_AUTO_SCREEN_BRIGHTNESS_MODEL_CONFIG_H_
#define CHROME_BROWSER_ASH_POWER_AUTO_SCREEN_BRIGHTNESS_MODEL_CONFIG_H_
#include <memory>
#include <string>
#include <vector>
namespace ash {
namespace power {
namespace auto_screen_brightness {
// Model customization config.
struct ModelConfig {
double auto_brightness_als_horizon_seconds = -1.0;
bool enabled = false;
std::vector<double> log_lux;
std::vector<double> brightness;
std::string metrics_key;
double model_als_horizon_seconds = -1.0;
ModelConfig();
ModelConfig(const ModelConfig& config);
~ModelConfig();
bool operator==(const ModelConfig& config) const;
};
bool IsValidModelConfig(const ModelConfig& model_config);
} // namespace auto_screen_brightness
} // namespace power
} // namespace ash
#endif // CHROME_BROWSER_ASH_POWER_AUTO_SCREEN_BRIGHTNESS_MODEL_CONFIG_H_