Dynalib Utils
ICacheFile.h
Go to the documentation of this file.
1 //
2 // Created by Ken Kopelson on 27/04/18.
3 //
4 
5 #ifndef HR1FIRMWARE_ICACHEFILE_H
6 #define HR1FIRMWARE_ICACHEFILE_H
7 
8 #include "TypeDefs.h"
9 #include "ICacheConst.h"
10 
11 template <class T> class ICacheFile {
12 public:
13  ICacheFile() = default;
14  virtual ~ICacheFile() = default;
15  virtual void setFileName(const String& name) = 0;
16  virtual String getFileName() = 0;
17  virtual void init() = 0;
18  virtual bool isOpen() = 0;
19  virtual void clearCache() = 0;
20 
21  virtual void open() = 0;
22  virtual void close() = 0;
23  virtual bool isNewFile() = 0;
24  virtual void resizeFile(index_t pageCount) = 0;
25  virtual int getMaxCachePages() = 0;
26  virtual void purgePages(double removePercent) = 0;
27  virtual index_t getPageCount() = 0;
28  virtual index_t getUsedPages() = 0;
29  virtual bool isUserHeaderDirty() = 0;
30  virtual void setMaxCachePages(int maxPages) = 0;
31  virtual void setUsedPages(index_t usedPaged) = 0;
32  virtual void flushPage(T* page) = 0;
33  virtual void flush() = 0;
34  virtual void getUserHeader() = 0;
35  virtual void writeUserHeader() = 0;
36  virtual void printFileReport(bool longRep) = 0;
37  virtual void printStatReport() = 0;
38 };
39 
40 #endif //HR1FIRMWARE_ICACHEFILE_H
virtual int getMaxCachePages()=0
virtual void setFileName(const String &name)=0
virtual String getFileName()=0
virtual void flush()=0
virtual void init()=0
virtual index_t getUsedPages()=0
Definition: String.h:60
virtual void writeUserHeader()=0
ICacheFile()=default
virtual ~ICacheFile()=default
int64_t index_t
Definition: ICacheConst.h:19
virtual void setMaxCachePages(int maxPages)=0
virtual bool isOpen()=0
Definition: ICacheFile.h:11
virtual bool isUserHeaderDirty()=0
virtual void open()=0
virtual void clearCache()=0
virtual index_t getPageCount()=0
virtual void getUserHeader()=0
virtual void setUsedPages(index_t usedPaged)=0
virtual void close()=0
virtual void printStatReport()=0
virtual void flushPage(T *page)=0
virtual void resizeFile(index_t pageCount)=0
virtual bool isNewFile()=0
virtual void purgePages(double removePercent)=0
virtual void printFileReport(bool longRep)=0