34
30
namespace mrl = mir::report::logging;
35
31
namespace ml = mir::logging;
36
namespace mrli = mir::report::legacy_input;
40
char const* const component = "android-input";
42
class LegacyInputReport;
45
std::shared_ptr<LegacyInputReport> the_legacy_input_report;
47
class LegacyInputReport
50
LegacyInputReport(std::shared_ptr<ml::Logger> const& logger) :
55
void log(int prio, char const* buffer)
59
case ANDROID_LOG_UNKNOWN:
60
case ANDROID_LOG_DEFAULT:
61
case ANDROID_LOG_VERBOSE:
62
case ANDROID_LOG_DEBUG:
63
logger->log(ml::Severity::debug, buffer, component);
66
case ANDROID_LOG_INFO:
67
logger->log(ml::Severity::informational, buffer, component);
70
case ANDROID_LOG_WARN:
71
logger->log(ml::Severity::warning, buffer, component);
74
case ANDROID_LOG_ERROR:
75
logger->log(ml::Severity::error, buffer, component);
80
std::shared_ptr<ml::Logger> const logger;
83
void my_write_to_log(int prio, char const* buffer)
85
std::unique_lock<std::mutex> lock(mutex);
86
the_legacy_input_report->log(prio, buffer);
91
void mrli::initialize(std::shared_ptr<ml::Logger> const& logger)
93
std::unique_lock<std::mutex> lock(mutex);
94
::the_legacy_input_report = std::make_shared<LegacyInputReport>(logger);
96
mir::write_to_log = my_write_to_log;
100
33
mrl::InputReport::InputReport(const std::shared_ptr<ml::Logger>& logger)