libBeatsaber/include/beatsaber-impl/filereader.h

22 lines
449 B
C++

#pragma once
#include <istream>
#include <memory>
#include <string>
#include <vector>
// this classes form a abstraction to read from folders and zipfiles the same way. Maybe add other sources too?
namespace Beatsaber {
//Interface
class FileReader {
public:
virtual ~FileReader() {}
virtual std::shared_ptr<std::istream> getFileStream(const std::string& filename) = 0;
virtual void getEntrys(std::vector<std::string>& out) const = 0;
};
}