libBeatsaber/include/beatsaber-impl/filereaderimpl.h

40 lines
849 B
C
Raw Normal View History

2021-06-01 21:05:33 +02:00
#pragma once
#include "filereader.h"
#if BEATSABERZIPSUPPORT == 1
#include <zipios/zipfile.hpp>
#endif
namespace Beatsaber {
//implementation for folders
class FolderReader : public FileReader {
protected:
std::string path;
public:
FolderReader(const std::string& path);
virtual ~FolderReader();
virtual std::shared_ptr<std::istream> getFileStream(const std::string& filename) override;
2021-06-04 13:15:13 +02:00
virtual void getEntrys(std::vector<std::string>& out) const override;
2021-06-01 21:05:33 +02:00
};
#if BEATSABERZIPSUPPORT == 1
//implementation for zipfiles
class ZipReader : public FileReader {
protected:
zipios::ZipFile file;
public:
ZipReader(const std::string& path);
virtual ~ZipReader();
virtual std::shared_ptr<std::istream> getFileStream(const std::string& filename) override;
2021-06-04 13:15:13 +02:00
virtual void getEntrys(std::vector<std::string>& out) const override;
2021-06-01 21:05:33 +02:00
};
#endif
}