1 #pragma once 2 3 #include <stdio.h> 4 5 #include "accessor.h" 6 7 /* A host filesystem file accessor, providing flexpages corresponding to file 8 regions. */ 9 10 class HostFileAccessor : public Accessor 11 { 12 protected: 13 const char *_path; 14 FILE *_fp; 15 16 /* Data transfer helper methods. */ 17 18 virtual void fill_populated(Flexpage *flexpage); 19 20 virtual void flush_populated(Flexpage *flexpage); 21 22 public: 23 explicit HostFileAccessor(const char *path, fileid_t fileid); 24 25 virtual void close(); 26 27 virtual void open(); 28 }; 29 30 // vim: tabstop=4 expandtab shiftwidth=4