//======================================================================= // Copyright Baptiste Wicht 2013-2014. // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) //======================================================================= #ifndef VFS_FILE_SYSTEM_H #define VFS_FILE_SYSTEM_H #include #include #include #include "file.hpp" namespace vfs { struct file_system { virtual ~file_system(){}; virtual size_t statfs(statfs_info& file) = 0; virtual size_t read(const std::vector& file_path, char* buffer, size_t count, size_t offset, size_t& read) = 0; virtual size_t get_file(const std::vector& file_path, vfs::file& file) = 0; virtual size_t ls(const std::vector& file_path, std::vector& contents) = 0; virtual size_t touch(const std::vector& file_path) = 0; virtual size_t mkdir(const std::vector& file_path) = 0; virtual size_t rm(const std::vector& file_path) = 0; }; } #endif