summaryrefslogtreecommitdiff
path: root/src/common/telemetry.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/telemetry.cpp')
-rw-r--r--src/common/telemetry.cpp40
1 files changed, 40 insertions, 0 deletions
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 @@
1// Copyright 2017 Citra Emulator Project
2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included.
4
5#include <algorithm>
6#include "common/telemetry.h"
7
8namespace Telemetry {
9
10void FieldCollection::Accept(VisitorInterface& visitor) const {
11 for (const auto& field : fields) {
12 field.second->Accept(visitor);
13 }
14}
15
16void FieldCollection::AddField(std::unique_ptr<FieldInterface> field) {
17 fields[field->GetName()] = std::move(field);
18}
19
20template <class T>
21void Field<T>::Accept(VisitorInterface& visitor) const {
22 visitor.Visit(*this);
23}
24
25template class Field<bool>;
26template class Field<double>;
27template class Field<float>;
28template class Field<u8>;
29template class Field<u16>;
30template class Field<u32>;
31template class Field<u64>;
32template class Field<s8>;
33template class Field<s16>;
34template class Field<s32>;
35template class Field<s64>;
36template class Field<std::string>;
37template class Field<const char*>;
38template class Field<std::chrono::microseconds>;
39
40} // namespace Telemetry