33 lines
916 B
C
33 lines
916 B
C
|
#ifndef DRACO_IO_FILE_READER_INTERFACE_H_
|
||
|
#define DRACO_IO_FILE_READER_INTERFACE_H_
|
||
|
|
||
|
#include <cstddef>
|
||
|
#include <cstdint>
|
||
|
#include <vector>
|
||
|
|
||
|
namespace draco {
|
||
|
|
||
|
class FileReaderInterface {
|
||
|
public:
|
||
|
FileReaderInterface() = default;
|
||
|
FileReaderInterface(const FileReaderInterface &) = delete;
|
||
|
FileReaderInterface &operator=(const FileReaderInterface &) = delete;
|
||
|
|
||
|
FileReaderInterface(FileReaderInterface &&) = default;
|
||
|
FileReaderInterface &operator=(FileReaderInterface &&) = default;
|
||
|
|
||
|
// Closes the file.
|
||
|
virtual ~FileReaderInterface() = default;
|
||
|
|
||
|
// Reads the entire contents of the input file into |buffer| and returns true.
|
||
|
virtual bool ReadFileToBuffer(std::vector<char> *buffer) = 0;
|
||
|
virtual bool ReadFileToBuffer(std::vector<uint8_t> *buffer) = 0;
|
||
|
|
||
|
// Returns the size of the file.
|
||
|
virtual size_t GetFileSize() = 0;
|
||
|
};
|
||
|
|
||
|
} // namespace draco
|
||
|
|
||
|
#endif // DRACO_IO_FILE_READER_INTERFACE_H_
|