19
19
#ifndef MIR_DISPLAYCONFIGURATIONREPORT_H
20
20
#define MIR_DISPLAYCONFIGURATIONREPORT_H
22
#include "mir/graphics/display_configuration_report.h"
22
#include "mir/graphics/display_configuration_observer.h"
28
namespace logging { class Logger; }
28
namespace logging { class Logger; enum class Severity; }
34
class DisplayConfigurationReport : public mir::graphics::DisplayConfigurationReport
34
class DisplayConfigurationReport : public mir::graphics::DisplayConfigurationObserver
37
37
DisplayConfigurationReport(std::shared_ptr<mir::logging::Logger> const& logger);
38
38
~DisplayConfigurationReport();
40
virtual void initial_configuration(graphics::DisplayConfiguration const& configuration) override;
42
virtual void new_configuration(graphics::DisplayConfiguration const& configuration) override;
40
void configuration_applied(
41
std::shared_ptr<graphics::DisplayConfiguration const> const& config) override;
43
void configuration_failed(
44
std::shared_ptr<graphics::DisplayConfiguration const> const& attempted,
45
std::exception const& error) override;
47
void initial_configuration(
48
std::shared_ptr<graphics::DisplayConfiguration const> const& configuration) override;
50
void catastrophic_configuration_error(
51
std::shared_ptr<graphics::DisplayConfiguration const> const& failed_fallback,
52
std::exception const& error) override;
45
void log_configuration(graphics::DisplayConfiguration const& configuration) const;
55
void log_configuration(
56
mir::logging::Severity severity,
57
graphics::DisplayConfiguration const& configuration) const;
46
58
std::shared_ptr<mir::logging::Logger> const logger;