1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef LIBRARIES_NACL_IO_PASSTHROUGHFS_PASSTHROUGH_FS_H_ 6 #define LIBRARIES_NACL_IO_PASSTHROUGHFS_PASSTHROUGH_FS_H_ 7 8 #include "nacl_io/filesystem.h" 9 #include "nacl_io/typed_fs_factory.h" 10 11 namespace nacl_io { 12 13 class PassthroughFs : public Filesystem { 14 protected: 15 PassthroughFs(); 16 17 virtual Error Init(const FsInitArgs& args); 18 virtual void Destroy(); 19 20 public: 21 virtual Error OpenWithMode(const Path& path, int open_flags, mode_t mode, 22 ScopedNode* out_node); 23 virtual Error OpenResource(const Path& path, ScopedNode* out_node); 24 virtual Error Unlink(const Path& path); 25 virtual Error Mkdir(const Path& path, int perm); 26 virtual Error Rmdir(const Path& path); 27 virtual Error Remove(const Path& path); 28 virtual Error Rename(const Path& path, const Path& newpath); 29 30 private: 31 friend class TypedFsFactory<PassthroughFs>; 32 DISALLOW_COPY_AND_ASSIGN(PassthroughFs); 33 }; 34 35 } // namespace nacl_io 36 37 #endif // LIBRARIES_NACL_IO_PASSTHROUGHFS_PASSTHROUGH_FS_H_ 38