ozone: evdev: Sync caps lock LED state to evdev
[chromium-blink-merge.git] / native_client_sdk / src / libraries / nacl_io / devfs / dev_fs.h
blob872f77ef9d858eb1e323b6f00dc9f3b1970fd57c
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.
5 #ifndef LIBRARIES_NACL_IO_DEVFS_DEV_FS_H_
6 #define LIBRARIES_NACL_IO_DEVFS_DEV_FS_H_
8 #include "nacl_io/filesystem.h"
9 #include "nacl_io/typed_fs_factory.h"
11 namespace nacl_io {
13 class Node;
15 class DevFs : public Filesystem {
16 public:
17 virtual Error OpenWithMode(const Path& path, int open_flags, mode_t mode,
18 ScopedNode* out_node);
19 virtual Error Unlink(const Path& path);
20 virtual Error Mkdir(const Path& path, int permissions);
21 virtual Error Rmdir(const Path& path);
22 virtual Error Remove(const Path& path);
23 virtual Error Rename(const Path& path, const Path& newpath);
25 Error CreateFsNode(Filesystem* fs);
26 Error DestroyFsNode(Filesystem* fs);
28 protected:
29 DevFs();
31 virtual Error Init(const FsInitArgs& args);
33 private:
34 ScopedNode root_;
35 ScopedNode fs_dir_;
37 friend class TypedFsFactory<DevFs>;
38 DISALLOW_COPY_AND_ASSIGN(DevFs);
41 } // namespace nacl_io
43 #endif // LIBRARIES_NACL_IO_DEVFS_DEV_FS_H_