14 class LocalFileSystem;
21 class CPPFS_API LocalFileHandle :
public AbstractFileHandleBackend
33 LocalFileHandle(std::shared_ptr<LocalFileSystem> fs,
const std::string & path);
39 virtual ~LocalFileHandle();
42 virtual std::unique_ptr<AbstractFileHandleBackend> clone()
const override;
43 virtual AbstractFileSystem * fs()
const override;
44 virtual void updateFileInfo()
override;
45 virtual std::string path()
const override;
46 virtual bool exists()
const override;
47 virtual bool isFile()
const override;
48 virtual bool isDirectory()
const override;
49 virtual bool isSymbolicLink()
const override;
50 virtual std::vector<std::string> listFiles()
const override;
51 virtual std::unique_ptr<AbstractFileIteratorBackend> begin()
const override;
52 virtual unsigned int size()
const override;
53 virtual unsigned int accessTime()
const override;
54 virtual unsigned int modificationTime()
const override;
55 virtual unsigned int userId()
const override;
56 virtual void setUserId(
unsigned int uid)
override;
57 virtual unsigned int groupId()
const override;
58 virtual void setGroupId(
unsigned int gid)
override;
59 virtual unsigned long permissions()
const override;
60 virtual void setPermissions(
unsigned long permissions)
override;
61 virtual bool createDirectory()
override;
62 virtual bool removeDirectory()
override;
63 virtual bool copy(AbstractFileHandleBackend & dest)
override;
64 virtual bool move(AbstractFileHandleBackend & dest)
override;
65 virtual bool createLink(AbstractFileHandleBackend & dest)
override;
66 virtual bool createSymbolicLink(AbstractFileHandleBackend & dest)
override;
67 virtual bool rename(
const std::string & filename)
override;
68 virtual bool remove()
override;
69 virtual std::unique_ptr<std::istream> createInputStream(std::ios_base::openmode mode)
const override;
70 virtual std::unique_ptr<std::ostream> createOutputStream(std::ios_base::openmode mode)
override;
74 void readFileInfo()
const;
78 std::shared_ptr<LocalFileSystem> m_fs;
80 mutable void * m_fileInfo;
Definition: AbstractFileHandleBackend.h:14