OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_PROVIDED_FILE_SYSTEM_H_ | 5 #ifndef CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_PROVIDED_FILE_SYSTEM_H_ |
6 #define CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_PROVIDED_FILE_SYSTEM_H_ | 6 #define CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_PROVIDED_FILE_SYSTEM_H_ |
7 | 7 |
8 #include "base/memory/weak_ptr.h" | 8 #include "base/memory/weak_ptr.h" |
9 #include "chrome/browser/chromeos/file_system_provider/provided_file_system_info
.h" | 9 #include "chrome/browser/chromeos/file_system_provider/provided_file_system_info
.h" |
10 #include "chrome/browser/chromeos/file_system_provider/provided_file_system_inte
rface.h" | 10 #include "chrome/browser/chromeos/file_system_provider/provided_file_system_inte
rface.h" |
(...skipping 21 matching lines...) Expand all Loading... |
32 | 32 |
33 // Provided file system implementation. Forwards requests between providers and | 33 // Provided file system implementation. Forwards requests between providers and |
34 // clients. | 34 // clients. |
35 class ProvidedFileSystem : public ProvidedFileSystemInterface { | 35 class ProvidedFileSystem : public ProvidedFileSystemInterface { |
36 public: | 36 public: |
37 ProvidedFileSystem(Profile* profile, | 37 ProvidedFileSystem(Profile* profile, |
38 const ProvidedFileSystemInfo& file_system_info); | 38 const ProvidedFileSystemInfo& file_system_info); |
39 virtual ~ProvidedFileSystem(); | 39 virtual ~ProvidedFileSystem(); |
40 | 40 |
41 // ProvidedFileSystemInterface overrides. | 41 // ProvidedFileSystemInterface overrides. |
42 virtual void RequestUnmount( | 42 virtual AbortCallback RequestUnmount( |
43 const fileapi::AsyncFileUtil::StatusCallback& callback) OVERRIDE; | 43 const fileapi::AsyncFileUtil::StatusCallback& callback) OVERRIDE; |
44 virtual void GetMetadata(const base::FilePath& entry_path, | 44 virtual AbortCallback GetMetadata( |
45 const GetMetadataCallback& callback) OVERRIDE; | 45 const base::FilePath& entry_path, |
46 virtual void ReadDirectory( | 46 const GetMetadataCallback& callback) OVERRIDE; |
| 47 virtual AbortCallback ReadDirectory( |
47 const base::FilePath& directory_path, | 48 const base::FilePath& directory_path, |
48 const fileapi::AsyncFileUtil::ReadDirectoryCallback& callback) OVERRIDE; | 49 const fileapi::AsyncFileUtil::ReadDirectoryCallback& callback) OVERRIDE; |
49 virtual void OpenFile(const base::FilePath& file_path, | 50 virtual AbortCallback OpenFile(const base::FilePath& file_path, |
50 OpenFileMode mode, | 51 OpenFileMode mode, |
51 const OpenFileCallback& callback) OVERRIDE; | 52 const OpenFileCallback& callback) OVERRIDE; |
52 virtual void CloseFile( | 53 virtual AbortCallback CloseFile( |
53 int file_handle, | 54 int file_handle, |
54 const fileapi::AsyncFileUtil::StatusCallback& callback) OVERRIDE; | 55 const fileapi::AsyncFileUtil::StatusCallback& callback) OVERRIDE; |
55 virtual void ReadFile(int file_handle, | 56 virtual AbortCallback ReadFile( |
56 net::IOBuffer* buffer, | 57 int file_handle, |
57 int64 offset, | 58 net::IOBuffer* buffer, |
58 int length, | 59 int64 offset, |
59 const ReadChunkReceivedCallback& callback) OVERRIDE; | 60 int length, |
60 virtual void CreateDirectory( | 61 const ReadChunkReceivedCallback& callback) OVERRIDE; |
| 62 virtual AbortCallback CreateDirectory( |
61 const base::FilePath& directory_path, | 63 const base::FilePath& directory_path, |
62 bool exclusive, | 64 bool exclusive, |
63 bool recursive, | 65 bool recursive, |
64 const fileapi::AsyncFileUtil::StatusCallback& callback) OVERRIDE; | 66 const fileapi::AsyncFileUtil::StatusCallback& callback) OVERRIDE; |
65 virtual void DeleteEntry( | 67 virtual AbortCallback DeleteEntry( |
66 const base::FilePath& entry_path, | 68 const base::FilePath& entry_path, |
67 bool recursive, | 69 bool recursive, |
68 const fileapi::AsyncFileUtil::StatusCallback& callback) OVERRIDE; | 70 const fileapi::AsyncFileUtil::StatusCallback& callback) OVERRIDE; |
69 virtual void CreateFile( | 71 virtual AbortCallback CreateFile( |
70 const base::FilePath& file_path, | 72 const base::FilePath& file_path, |
71 const fileapi::AsyncFileUtil::StatusCallback& callback) OVERRIDE; | 73 const fileapi::AsyncFileUtil::StatusCallback& callback) OVERRIDE; |
72 virtual void CopyEntry( | 74 virtual AbortCallback CopyEntry( |
73 const base::FilePath& source_path, | 75 const base::FilePath& source_path, |
74 const base::FilePath& target_path, | 76 const base::FilePath& target_path, |
75 const fileapi::AsyncFileUtil::StatusCallback& callback) OVERRIDE; | 77 const fileapi::AsyncFileUtil::StatusCallback& callback) OVERRIDE; |
76 virtual void MoveEntry( | 78 virtual AbortCallback MoveEntry( |
77 const base::FilePath& source_path, | 79 const base::FilePath& source_path, |
78 const base::FilePath& target_path, | 80 const base::FilePath& target_path, |
79 const fileapi::AsyncFileUtil::StatusCallback& callback) OVERRIDE; | 81 const fileapi::AsyncFileUtil::StatusCallback& callback) OVERRIDE; |
80 virtual void Truncate( | 82 virtual AbortCallback Truncate( |
81 const base::FilePath& file_path, | 83 const base::FilePath& file_path, |
82 int64 length, | 84 int64 length, |
83 const fileapi::AsyncFileUtil::StatusCallback& callback) OVERRIDE; | 85 const fileapi::AsyncFileUtil::StatusCallback& callback) OVERRIDE; |
84 virtual void WriteFile( | 86 virtual AbortCallback WriteFile( |
85 int file_handle, | 87 int file_handle, |
86 net::IOBuffer* buffer, | 88 net::IOBuffer* buffer, |
87 int64 offset, | 89 int64 offset, |
88 int length, | 90 int length, |
89 const fileapi::AsyncFileUtil::StatusCallback& callback) OVERRIDE; | 91 const fileapi::AsyncFileUtil::StatusCallback& callback) OVERRIDE; |
90 virtual const ProvidedFileSystemInfo& GetFileSystemInfo() const OVERRIDE; | 92 virtual const ProvidedFileSystemInfo& GetFileSystemInfo() const OVERRIDE; |
91 virtual RequestManager* GetRequestManager() OVERRIDE; | 93 virtual RequestManager* GetRequestManager() OVERRIDE; |
92 virtual base::WeakPtr<ProvidedFileSystemInterface> GetWeakPtr() OVERRIDE; | 94 virtual base::WeakPtr<ProvidedFileSystemInterface> GetWeakPtr() OVERRIDE; |
93 | 95 |
94 private: | 96 private: |
| 97 // Aborts an operation executed with a request id equal to |
| 98 // |operation_request_id|. The request is removed immediately on the C++ side |
| 99 // despite being handled by the providing extension or not. |
| 100 void Abort(int operation_request_id, |
| 101 const fileapi::AsyncFileUtil::StatusCallback& callback); |
| 102 |
95 Profile* profile_; // Not owned. | 103 Profile* profile_; // Not owned. |
96 extensions::EventRouter* event_router_; // Not owned. May be NULL. | 104 extensions::EventRouter* event_router_; // Not owned. May be NULL. |
97 ProvidedFileSystemInfo file_system_info_; | 105 ProvidedFileSystemInfo file_system_info_; |
98 scoped_ptr<NotificationManagerInterface> notification_manager_; | 106 scoped_ptr<NotificationManagerInterface> notification_manager_; |
99 RequestManager request_manager_; | 107 RequestManager request_manager_; |
100 | 108 |
101 base::WeakPtrFactory<ProvidedFileSystemInterface> weak_ptr_factory_; | 109 base::WeakPtrFactory<ProvidedFileSystem> weak_ptr_factory_; |
102 DISALLOW_COPY_AND_ASSIGN(ProvidedFileSystem); | 110 DISALLOW_COPY_AND_ASSIGN(ProvidedFileSystem); |
103 }; | 111 }; |
104 | 112 |
105 } // namespace file_system_provider | 113 } // namespace file_system_provider |
106 } // namespace chromeos | 114 } // namespace chromeos |
107 | 115 |
108 #endif // CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_PROVIDED_FILE_SYSTEM_H_ | 116 #endif // CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_PROVIDED_FILE_SYSTEM_H_ |
OLD | NEW |