#pragma once #ifndef FSPP_DIR_H_ #define FSPP_DIR_H_ #include #include #include namespace fspp { class Device; class File; class Dir: public virtual Node { public: virtual ~Dir() {} virtual std::unique_ptr createFile(const std::string &name, mode_t mode) = 0; virtual std::unique_ptr createDir(const std::string &name, mode_t mode) = 0; virtual void rmdir() = 0; virtual std::unique_ptr> children() const = 0; }; } /* namespace fspp */ #endif /* FSPP_DIR_H_ */