Fix various issues and crashes

This commit is contained in:
Lion Kortlepel
2021-12-06 12:28:52 +01:00
parent 279c93179c
commit 0f74eca2ee
9 changed files with 96 additions and 66 deletions

View File

@@ -82,9 +82,32 @@ public:
static std::array<uint8_t, 3> VersionStrToInts(const std::string& str);
static bool IsOutdated(const Version& Current, const Version& Newest);
static void InitializeConsole() {
if (!mConsole) {
mConsole = std::make_unique<TConsole>();
}
}
enum class Status {
Starting,
Good,
Bad,
};
using SystemStatusMap = std::unordered_map<std::string /* system name */, Status /* status */>;
static const SystemStatusMap& GetSubsystemStatuses() {
return mSystemStatusMap;
}
static void SetSubsystemStatus(const std::string& Subsystem, Status status) {
mSystemStatusMap[Subsystem] = status;
}
private:
static inline SystemStatusMap mSystemStatusMap {};
static inline std::string mPPS;
static std::unique_ptr<TConsole> mConsole;
static inline std::unique_ptr<TConsole> mConsole;
static inline std::mutex mShutdownHandlersMutex {};
static inline std::deque<TShutdownHandler> mShutdownHandlers {};