22 #ifndef OR_INTERNALS_IO_STREAM_H_ 23 #define OR_INTERNALS_IO_STREAM_H_ 25 #include <sys/types.h> 32 #include <libopenraw/consts.h> 44 typedef std::shared_ptr<Stream> Ptr;
48 Stream(
const char *filename);
58 virtual Error
open() = 0;
60 virtual int close() = 0;
62 virtual int seek(off_t offset,
int whence) = 0;
64 virtual int read(
void *buf,
size_t count) = 0;
65 virtual off_t filesize() = 0;
80 uint8_t readByte() noexcept(
false);
82 void set_error(Error error)
94 std::string m_fileName;
CIFF is the container for CRW files. It is an attempt from Canon to make this a standard. I guess it failed.
virtual int seek(off_t offset, int whence)=0
virtual int read(void *buf, size_t count)=0
const std::string & get_path() const
Stream(const char *filename)
base virtual class for IO