From a4760e939fe40138e6591093a3ec128ab0d29962 Mon Sep 17 00:00:00 2001 From: bunnei Date: Tue, 2 May 2017 00:07:46 -0400 Subject: common: Add a generic interface for logging telemetry fields. --- src/common/telemetry.cpp | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 src/common/telemetry.cpp (limited to 'src/common/telemetry.cpp') diff --git a/src/common/telemetry.cpp b/src/common/telemetry.cpp new file mode 100644 index 000000000..bf1f54886 --- /dev/null +++ b/src/common/telemetry.cpp @@ -0,0 +1,40 @@ +// Copyright 2017 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include +#include "common/telemetry.h" + +namespace Telemetry { + +void FieldCollection::Accept(VisitorInterface& visitor) const { + for (const auto& field : fields) { + field.second->Accept(visitor); + } +} + +void FieldCollection::AddField(std::unique_ptr field) { + fields[field->GetName()] = std::move(field); +} + +template +void Field::Accept(VisitorInterface& visitor) const { + visitor.Visit(*this); +} + +template class Field; +template class Field; +template class Field; +template class Field; +template class Field; +template class Field; +template class Field; +template class Field; +template class Field; +template class Field; +template class Field; +template class Field; +template class Field; +template class Field; + +} // namespace Telemetry -- cgit v1.2.3