OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef LIBRARIES_NACL_IO_HTML5FS_HTML5_FS_NODE_H_ | 5 #ifndef LIBRARIES_NACL_IO_HTML5FS_HTML5_FS_NODE_H_ |
6 #define LIBRARIES_NACL_IO_HTML5FS_HTML5_FS_NODE_H_ | 6 #define LIBRARIES_NACL_IO_HTML5FS_HTML5_FS_NODE_H_ |
7 | 7 |
| 8 #include <ppapi/c/pp_instance.h> |
8 #include <ppapi/c/pp_resource.h> | 9 #include <ppapi/c/pp_resource.h> |
9 #include "nacl_io/node.h" | 10 #include "nacl_io/node.h" |
10 | 11 |
11 namespace nacl_io { | 12 namespace nacl_io { |
12 | 13 |
13 class Html5Fs; | 14 class Html5Fs; |
| 15 class FileIoInterface; |
| 16 class FileRefInterface; |
| 17 class VarInterface; |
14 | 18 |
15 class Html5FsNode : public Node { | 19 class Html5FsNode : public Node { |
16 public: | 20 public: |
17 // Normal OS operations on a node (file), can be called by the kernel | 21 // Normal OS operations on a node (file), can be called by the kernel |
18 // directly so it must lock and unlock appropriately. These functions | 22 // directly so it must lock and unlock appropriately. These functions |
19 // must not be called by the filesystem. | 23 // must not be called by the filesystem. |
20 virtual Error FSync(); | 24 virtual Error FSync(); |
21 virtual Error GetDents(size_t offs, | 25 virtual Error GetDents(size_t offs, |
22 struct dirent* pdir, | 26 struct dirent* pdir, |
23 size_t count, | 27 size_t count, |
(...skipping 13 matching lines...) Expand all Loading... |
37 virtual Error GetSize(off_t* out_size); | 41 virtual Error GetSize(off_t* out_size); |
38 | 42 |
39 protected: | 43 protected: |
40 Html5FsNode(Filesystem* filesystem, PP_Resource fileref); | 44 Html5FsNode(Filesystem* filesystem, PP_Resource fileref); |
41 | 45 |
42 // Init with standard open flags | 46 // Init with standard open flags |
43 virtual Error Init(int open_flags); | 47 virtual Error Init(int open_flags); |
44 virtual void Destroy(); | 48 virtual void Destroy(); |
45 | 49 |
46 private: | 50 private: |
| 51 FileIoInterface* file_io_iface_; |
| 52 FileRefInterface* file_ref_iface_; |
| 53 VarInterface* var_iface_; |
47 PP_Resource fileref_resource_; | 54 PP_Resource fileref_resource_; |
48 PP_Resource fileio_resource_; // 0 if the file is a directory. | 55 PP_Resource fileio_resource_; // 0 if the file is a directory. |
49 | 56 |
50 friend class Html5Fs; | 57 friend class Html5Fs; |
51 }; | 58 }; |
52 | 59 |
53 } // namespace nacl_io | 60 } // namespace nacl_io |
54 | 61 |
55 #endif // LIBRARIES_NACL_IO_HTML5FS_HTML5_FS_NODE_H_ | 62 #endif // LIBRARIES_NACL_IO_HTML5FS_HTML5_FS_NODE_H_ |
OLD | NEW |