rodecomp/Source/Resource/ResourceFailures.h
2026-10-24 00:35:19 +00:00

30 lines
747 B
C++

#ifndef RAGNAROK_SOURCE_RESOURCE_RESOURCEFAILURES_H
#define RAGNAROK_SOURCE_RESOURCE_RESOURCEFAILURES_H
#include <set>
#include <string>
#include <windows.h>
class ResourceMessages {
public:
virtual void Message(const char* text, unsigned color) = 0;
protected:
~ResourceMessages() = default;
};
// Original failure owner's critical section+4 and set+28. Actual manager
// message routing is explicit; missing-resource diagnostics are not discarded.
class ResourceFailures {
public:
explicit ResourceFailures(ResourceMessages& messages);
~ResourceFailures();
void Report(std::string requested, std::string resolved);
private:
CRITICAL_SECTION m_lock;
std::set<std::string> m_reported;
ResourceMessages* m_messages;
};
#endif