#pragma once #ifndef CRYFS_LIB_CRYFILE_H_ #define CRYFS_LIB_CRYFILE_H_ #include #include #include "CryNode.h" namespace cryfs { class CryFile: public fspp::File, CryNode { public: CryFile(CryDevice *device, std::unique_ptr parent, const blockstore::Key &key); virtual ~CryFile(); void stat(struct ::stat *result) const override; std::unique_ptr open(int flags) const override; void truncate(off_t size) const override; void unlink() override; private: CryDevice *_device; std::unique_ptr _parent; blockstore::Key _key; DISALLOW_COPY_AND_ASSIGN(CryFile); }; } #endif