core: Keep track of telemetry for the current emulation session.

This commit is contained in:
bunnei 2017-05-02 00:09:15 -04:00
parent a4760e939f
commit f3e14cae1e
5 changed files with 83 additions and 0 deletions

View file

@ -9,6 +9,7 @@
#include "common/common_types.h"
#include "core/memory.h"
#include "core/perf_stats.h"
#include "core/telemetry_session.h"
class EmuWindow;
class ARM_Interface;
@ -80,6 +81,14 @@ public:
return cpu_core != nullptr;
}
/**
* Returns a reference to the telemetry session for this emulation session.
* @returns Reference to the telemetry session.
*/
Core::TelemetrySession& TelemetrySession() const {
return *telemetry_session;
}
/// Prepare the core emulation for a reschedule
void PrepareReschedule();
@ -117,6 +126,9 @@ private:
/// When true, signals that a reschedule should happen
bool reschedule_pending{};
/// Telemetry session for this emulation session
std::unique_ptr<Core::TelemetrySession> telemetry_session;
static System s_instance;
};
@ -124,4 +136,8 @@ inline ARM_Interface& CPU() {
return System::GetInstance().CPU();
}
inline TelemetrySession& Telemetry() {
return System::GetInstance().TelemetrySession();
}
} // namespace Core