1
Fork 0
mirror of https://github.com/redstrate/Novus.git synced 2025-04-23 12:37:45 +00:00
novus/common/include/filecache.h

26 lines
576 B
C
Raw Normal View History

// SPDX-FileCopyrightText: 2023 Joshua Goins <josh@redstrate.com>
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
#include <QHash>
#include <QMap>
#include <QMutex>
#include <QString>
#include <physis.hpp>
struct GameData;
class FileCache {
public:
explicit FileCache(GameData& data);
bool fileExists(const QLatin1String &path);
2023-09-26 00:37:55 -04:00
physis_Buffer &lookupFile(const QLatin1String &path);
private:
2023-09-26 00:37:55 -04:00
QMap<QLatin1String, physis_Buffer> cachedBuffers;
QHash<QLatin1String, bool> cachedExist;
GameData& data;
QMutex bufferMutex, existMutex;
};