| 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 #include "chrome/browser/chromeos/file_system_provider/provided_file_system.h" | 5 #include "chrome/browser/chromeos/file_system_provider/provided_file_system.h" |
| 6 | 6 |
| 7 #include "base/files/file.h" | 7 #include "base/files/file.h" |
| 8 #include "chrome/browser/chromeos/file_system_provider/operations/close_file.h" |
| 8 #include "chrome/browser/chromeos/file_system_provider/operations/get_metadata.h
" | 9 #include "chrome/browser/chromeos/file_system_provider/operations/get_metadata.h
" |
| 9 #include "chrome/browser/chromeos/file_system_provider/operations/open_file.h" | 10 #include "chrome/browser/chromeos/file_system_provider/operations/open_file.h" |
| 10 #include "chrome/browser/chromeos/file_system_provider/operations/read_directory
.h" | 11 #include "chrome/browser/chromeos/file_system_provider/operations/read_directory
.h" |
| 11 #include "chrome/browser/chromeos/file_system_provider/operations/unmount.h" | 12 #include "chrome/browser/chromeos/file_system_provider/operations/unmount.h" |
| 12 #include "chrome/browser/chromeos/file_system_provider/request_manager.h" | 13 #include "chrome/browser/chromeos/file_system_provider/request_manager.h" |
| 13 #include "chrome/common/extensions/api/file_system_provider.h" | 14 #include "chrome/common/extensions/api/file_system_provider.h" |
| 14 #include "extensions/browser/event_router.h" | 15 #include "extensions/browser/event_router.h" |
| 15 | 16 |
| 16 namespace chromeos { | 17 namespace chromeos { |
| 17 namespace file_system_provider { | 18 namespace file_system_provider { |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 52 const fileapi::AsyncFileUtil::ReadDirectoryCallback& callback) { | 53 const fileapi::AsyncFileUtil::ReadDirectoryCallback& callback) { |
| 53 if (!request_manager_.CreateRequest(scoped_ptr< | 54 if (!request_manager_.CreateRequest(scoped_ptr< |
| 54 RequestManager::HandlerInterface>(new operations::ReadDirectory( | 55 RequestManager::HandlerInterface>(new operations::ReadDirectory( |
| 55 event_router_, file_system_info_, directory_path, callback)))) { | 56 event_router_, file_system_info_, directory_path, callback)))) { |
| 56 callback.Run(base::File::FILE_ERROR_SECURITY, | 57 callback.Run(base::File::FILE_ERROR_SECURITY, |
| 57 fileapi::AsyncFileUtil::EntryList(), | 58 fileapi::AsyncFileUtil::EntryList(), |
| 58 false /* has_more */); | 59 false /* has_more */); |
| 59 } | 60 } |
| 60 } | 61 } |
| 61 | 62 |
| 62 void ProvidedFileSystem::OpenFile( | 63 void ProvidedFileSystem::OpenFile(const base::FilePath& file_path, |
| 63 const base::FilePath& file_path, | 64 OpenFileMode mode, |
| 64 OpenFileMode mode, | 65 bool create, |
| 65 bool create, | 66 const OpenFileCallback& callback) { |
| 66 const fileapi::AsyncFileUtil::StatusCallback& callback) { | |
| 67 // Writing is not supported. Note, that this includes a situation, when a file | 67 // Writing is not supported. Note, that this includes a situation, when a file |
| 68 // exists, but |create| is set to true. | 68 // exists, but |create| is set to true. |
| 69 if (mode == OPEN_FILE_MODE_WRITE || create) { | 69 if (mode == OPEN_FILE_MODE_WRITE || create) { |
| 70 callback.Run(base::File::FILE_ERROR_SECURITY); | 70 callback.Run(0 /* file_handle */, base::File::FILE_ERROR_SECURITY); |
| 71 return; | 71 return; |
| 72 } | 72 } |
| 73 | 73 |
| 74 if (!request_manager_.CreateRequest( | 74 if (!request_manager_.CreateRequest( |
| 75 scoped_ptr<RequestManager::HandlerInterface>( | 75 scoped_ptr<RequestManager::HandlerInterface>( |
| 76 new operations::OpenFile(event_router_, | 76 new operations::OpenFile(event_router_, |
| 77 file_system_info_, | 77 file_system_info_, |
| 78 file_path, | 78 file_path, |
| 79 mode, | 79 mode, |
| 80 create, | 80 create, |
| 81 callback)))) { | 81 callback)))) { |
| 82 callback.Run(0 /* file_handle */, base::File::FILE_ERROR_SECURITY); |
| 83 } |
| 84 } |
| 85 |
| 86 void ProvidedFileSystem::CloseFile( |
| 87 int file_handle, |
| 88 const fileapi::AsyncFileUtil::StatusCallback& callback) { |
| 89 if (!request_manager_.CreateRequest( |
| 90 scoped_ptr<RequestManager::HandlerInterface>( |
| 91 new operations::CloseFile( |
| 92 event_router_, file_system_info_, file_handle, callback)))) { |
| 82 callback.Run(base::File::FILE_ERROR_SECURITY); | 93 callback.Run(base::File::FILE_ERROR_SECURITY); |
| 83 } | 94 } |
| 84 } | 95 } |
| 85 | 96 |
| 86 const ProvidedFileSystemInfo& ProvidedFileSystem::GetFileSystemInfo() const { | 97 const ProvidedFileSystemInfo& ProvidedFileSystem::GetFileSystemInfo() const { |
| 87 return file_system_info_; | 98 return file_system_info_; |
| 88 } | 99 } |
| 89 | 100 |
| 90 RequestManager* ProvidedFileSystem::GetRequestManager() { | 101 RequestManager* ProvidedFileSystem::GetRequestManager() { |
| 91 return &request_manager_; | 102 return &request_manager_; |
| 92 } | 103 } |
| 93 | 104 |
| 94 } // namespace file_system_provider | 105 } // namespace file_system_provider |
| 95 } // namespace chromeos | 106 } // namespace chromeos |
| OLD | NEW |