Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / native_client_sdk / src / libraries / nacl_io / passthroughfs / passthrough_fs.h
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_