X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/8ef240801bf66e543cdea9df3b32fc09cebcc7e5..a3b666437785e7b6b97fa9de31e82867cea407ea:/lib/base/rawfile.h?ds=sidebyside diff --git a/lib/base/rawfile.h b/lib/base/rawfile.h index 5d15e85d..a1c73d6a 100644 --- a/lib/base/rawfile.h +++ b/lib/base/rawfile.h @@ -9,7 +9,7 @@ public: eRawFile(); ~eRawFile(); - int open(const char *filename); + int open(const char *filename, int cached = 0); void setfd(int fd); off_t lseek(off_t offset, int whence); int close(); @@ -17,14 +17,18 @@ public: off_t length(); int valid(); private: - int m_fd; + int m_fd; /* for uncached */ + FILE *m_file; /* for cached */ + + int m_cached; std::string m_basename; - off_t m_splitsize, m_totallength, m_current_offset, m_base_offset; + off_t m_splitsize, m_totallength, m_current_offset, m_base_offset, m_last_offset; int m_nrfiles; void scan(); int m_current_file; int switchOffset(off_t off); - int openFile(int nr); + FILE *openFileCached(int nr); + int openFileUncached(int nr); }; #endif