1
Fork 0
mirror of https://github.com/redstrate/Novus.git synced 2025-04-22 03:57:45 +00:00
novus/common/include/filecache.h
Joshua Goins 2844231996
Enable Windows and Linux packaging
The Windows version isn't super working yet, but this is a good step forward
2024-04-25 02:31:40 +00:00

29 lines
No EOL
604 B
C++

// 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>
#include "novuscommon_export.h"
struct GameData;
class NOVUSCOMMON_EXPORT FileCache
{
public:
explicit FileCache(GameData &data);
bool fileExists(const QString &path);
physis_Buffer &lookupFile(const QString &path);
private:
QMap<QString, physis_Buffer> cachedBuffers;
QHash<QString, bool> cachedExist;
GameData &data;
QMutex bufferMutex, existMutex;
};