summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorAdmiral H. Curtiss <pikachu025@gmail.com>2022-09-09 22:35:51 +0200
committerAdmiral H. Curtiss <pikachu025@gmail.com>2022-09-09 22:35:51 +0200
commitb51d37fe49f568a6dfb9a7631f0e8907bb0750df (patch)
treefd2b688912470d2c84c466747c83ec2a7b598f2b /Source/Core
parent426b5b1927e6954f7efc6e6e43da7bc39b5e38ae (diff)
HW: Convert FileMonitor::Log into a class.
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/Core/HW/DVD/DVDThread.cpp4
-rw-r--r--Source/Core/Core/HW/DVD/FileMonitor.cpp15
-rw-r--r--Source/Core/Core/HW/DVD/FileMonitor.h22
3 files changed, 25 insertions, 16 deletions
diff --git a/Source/Core/Core/HW/DVD/DVDThread.cpp b/Source/Core/Core/HW/DVD/DVDThread.cpp
index 6c0ff43452..2cd0e35246 100644
--- a/Source/Core/Core/HW/DVD/DVDThread.cpp
+++ b/Source/Core/Core/HW/DVD/DVDThread.cpp
@@ -90,6 +90,8 @@ struct DVDThreadState::Data
std::map<u64, ReadResult> result_map;
std::unique_ptr<DiscIO::Volume> disc;
+
+ FileMonitor::FileLogger file_logger;
};
DVDThreadState::DVDThreadState() : m_data(std::make_unique<Data>())
@@ -411,7 +413,7 @@ static void DVDThread()
ReadRequest request;
while (state.request_queue.Pop(request))
{
- FileMonitor::Log(*state.disc, request.partition, request.dvd_offset);
+ state.file_logger.Log(*state.disc, request.partition, request.dvd_offset);
std::vector<u8> buffer(request.length);
if (!state.disc->Read(request.dvd_offset, request.length, buffer.data(), request.partition))
diff --git a/Source/Core/Core/HW/DVD/FileMonitor.cpp b/Source/Core/Core/HW/DVD/FileMonitor.cpp
index f6fb511f67..6e08006a6a 100644
--- a/Source/Core/Core/HW/DVD/FileMonitor.cpp
+++ b/Source/Core/Core/HW/DVD/FileMonitor.cpp
@@ -20,9 +20,6 @@
namespace FileMonitor
{
-static DiscIO::Partition s_previous_partition;
-static u64 s_previous_file_offset;
-
// Filtered files
static bool IsSoundFile(const std::string& filename)
{
@@ -49,7 +46,11 @@ static bool IsSoundFile(const std::string& filename)
return extensions.find(extension) != extensions.end();
}
-void Log(const DiscIO::Volume& volume, const DiscIO::Partition& partition, u64 offset)
+FileLogger::FileLogger() = default;
+
+FileLogger::~FileLogger() = default;
+
+void FileLogger::Log(const DiscIO::Volume& volume, const DiscIO::Partition& partition, u64 offset)
{
// Do nothing if the log isn't selected
if (!Common::Log::LogManager::GetInstance()->IsEnabled(Common::Log::LogType::FILEMON,
@@ -73,7 +74,7 @@ void Log(const DiscIO::Volume& volume, const DiscIO::Partition& partition, u64 o
const u64 file_offset = file_info->GetOffset();
// Do nothing if we found the same file again
- if (s_previous_partition == partition && s_previous_file_offset == file_offset)
+ if (m_previous_partition == partition && m_previous_file_offset == file_offset)
return;
const std::string size_string = ThousandSeparate(file_info->GetSize() / 1000, 7);
@@ -85,8 +86,8 @@ void Log(const DiscIO::Volume& volume, const DiscIO::Partition& partition, u64 o
WARN_LOG_FMT(FILEMON, "{}", log_string);
// Update the last accessed file
- s_previous_partition = partition;
- s_previous_file_offset = file_offset;
+ m_previous_partition = partition;
+ m_previous_file_offset = file_offset;
}
} // namespace FileMonitor
diff --git a/Source/Core/Core/HW/DVD/FileMonitor.h b/Source/Core/Core/HW/DVD/FileMonitor.h
index 2f42ce56e9..0b29d30fb1 100644
--- a/Source/Core/Core/HW/DVD/FileMonitor.h
+++ b/Source/Core/Core/HW/DVD/FileMonitor.h
@@ -4,14 +4,20 @@
#pragma once
#include "Common/CommonTypes.h"
-
-namespace DiscIO
-{
-struct Partition;
-class Volume;
-} // namespace DiscIO
+#include "DiscIO/Volume.h"
namespace FileMonitor
{
-void Log(const DiscIO::Volume& volume, const DiscIO::Partition& partition, u64 offset);
-}
+class FileLogger
+{
+public:
+ FileLogger();
+ ~FileLogger();
+
+ void Log(const DiscIO::Volume& volume, const DiscIO::Partition& partition, u64 offset);
+
+private:
+ DiscIO::Partition m_previous_partition;
+ u64 m_previous_file_offset;
+};
+} // namespace FileMonitor