Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(62)

Side by Side Diff: chrome/browser/chromeos/drive/file_system.cc

Issue 19596003: Remove CloseFile from FileSystem. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/drive/file_system.h" 5 #include "chrome/browser/chromeos/drive/file_system.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/file_util.h" 8 #include "base/file_util.h"
9 #include "base/message_loop/message_loop_proxy.h" 9 #include "base/message_loop/message_loop_proxy.h"
10 #include "base/platform_file.h" 10 #include "base/platform_file.h"
11 #include "base/prefs/pref_change_registrar.h" 11 #include "base/prefs/pref_change_registrar.h"
12 #include "base/prefs/pref_service.h" 12 #include "base/prefs/pref_service.h"
13 #include "base/strings/stringprintf.h" 13 #include "base/strings/stringprintf.h"
14 #include "base/threading/sequenced_worker_pool.h" 14 #include "base/threading/sequenced_worker_pool.h"
15 #include "chrome/browser/chromeos/drive/change_list_loader.h" 15 #include "chrome/browser/chromeos/drive/change_list_loader.h"
16 #include "chrome/browser/chromeos/drive/change_list_processor.h" 16 #include "chrome/browser/chromeos/drive/change_list_processor.h"
17 #include "chrome/browser/chromeos/drive/drive.pb.h" 17 #include "chrome/browser/chromeos/drive/drive.pb.h"
18 #include "chrome/browser/chromeos/drive/file_cache.h" 18 #include "chrome/browser/chromeos/drive/file_cache.h"
19 #include "chrome/browser/chromeos/drive/file_system/close_file_operation.h"
20 #include "chrome/browser/chromeos/drive/file_system/copy_operation.h" 19 #include "chrome/browser/chromeos/drive/file_system/copy_operation.h"
21 #include "chrome/browser/chromeos/drive/file_system/create_directory_operation.h " 20 #include "chrome/browser/chromeos/drive/file_system/create_directory_operation.h "
22 #include "chrome/browser/chromeos/drive/file_system/create_file_operation.h" 21 #include "chrome/browser/chromeos/drive/file_system/create_file_operation.h"
23 #include "chrome/browser/chromeos/drive/file_system/download_operation.h" 22 #include "chrome/browser/chromeos/drive/file_system/download_operation.h"
24 #include "chrome/browser/chromeos/drive/file_system/move_operation.h" 23 #include "chrome/browser/chromeos/drive/file_system/move_operation.h"
25 #include "chrome/browser/chromeos/drive/file_system/open_file_operation.h" 24 #include "chrome/browser/chromeos/drive/file_system/open_file_operation.h"
26 #include "chrome/browser/chromeos/drive/file_system/remove_operation.h" 25 #include "chrome/browser/chromeos/drive/file_system/remove_operation.h"
27 #include "chrome/browser/chromeos/drive/file_system/search_operation.h" 26 #include "chrome/browser/chromeos/drive/file_system/search_operation.h"
28 #include "chrome/browser/chromeos/drive/file_system/touch_operation.h" 27 #include "chrome/browser/chromeos/drive/file_system/touch_operation.h"
29 #include "chrome/browser/chromeos/drive/file_system/truncate_operation.h" 28 #include "chrome/browser/chromeos/drive/file_system/truncate_operation.h"
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 &FileSystem::ReloadAfterReset, 97 &FileSystem::ReloadAfterReset,
99 weak_ptr_factory_.GetWeakPtr())); 98 weak_ptr_factory_.GetWeakPtr()));
100 } 99 }
101 100
102 void FileSystem::Initialize() { 101 void FileSystem::Initialize() {
103 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 102 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
104 103
105 SetupChangeListLoader(); 104 SetupChangeListLoader();
106 105
107 file_system::OperationObserver* observer = this; 106 file_system::OperationObserver* observer = this;
108 close_file_operation_.reset(
109 new file_system::CloseFileOperation(blocking_task_runner_.get(),
110 observer,
111 resource_metadata_,
112 &open_files_));
113 copy_operation_.reset( 107 copy_operation_.reset(
114 new file_system::CopyOperation(blocking_task_runner_.get(), 108 new file_system::CopyOperation(blocking_task_runner_.get(),
115 observer, 109 observer,
116 scheduler_, 110 scheduler_,
117 resource_metadata_, 111 resource_metadata_,
118 cache_, 112 cache_,
119 drive_service_, 113 drive_service_,
120 temporary_file_directory_)); 114 temporary_file_directory_));
121 create_directory_operation_.reset(new file_system::CreateDirectoryOperation( 115 create_directory_operation_.reset(new file_system::CreateDirectoryOperation(
122 blocking_task_runner_.get(), observer, scheduler_, resource_metadata_)); 116 blocking_task_runner_.get(), observer, scheduler_, resource_metadata_));
123 create_file_operation_.reset( 117 create_file_operation_.reset(
124 new file_system::CreateFileOperation(blocking_task_runner_.get(), 118 new file_system::CreateFileOperation(blocking_task_runner_.get(),
125 observer, 119 observer,
126 scheduler_, 120 scheduler_,
127 resource_metadata_, 121 resource_metadata_,
128 cache_)); 122 cache_));
129 move_operation_.reset( 123 move_operation_.reset(
130 new file_system::MoveOperation(observer, scheduler_, resource_metadata_)); 124 new file_system::MoveOperation(observer, scheduler_, resource_metadata_));
131 open_file_operation_.reset( 125 open_file_operation_.reset(
132 new file_system::OpenFileOperation(blocking_task_runner_.get(), 126 new file_system::OpenFileOperation(blocking_task_runner_.get(),
133 observer, 127 observer,
134 scheduler_, 128 scheduler_,
135 resource_metadata_, 129 resource_metadata_,
136 cache_, 130 cache_,
137 temporary_file_directory_, 131 temporary_file_directory_));
138 &open_files_));
139 remove_operation_.reset( 132 remove_operation_.reset(
140 new file_system::RemoveOperation(blocking_task_runner_.get(), 133 new file_system::RemoveOperation(blocking_task_runner_.get(),
141 observer, 134 observer,
142 scheduler_, 135 scheduler_,
143 resource_metadata_, 136 resource_metadata_,
144 cache_)); 137 cache_));
145 touch_operation_.reset(new file_system::TouchOperation( 138 touch_operation_.reset(new file_system::TouchOperation(
146 blocking_task_runner_.get(), observer, scheduler_, resource_metadata_)); 139 blocking_task_runner_.get(), observer, scheduler_, resource_metadata_));
147 truncate_operation_.reset( 140 truncate_operation_.reset(
148 new file_system::TruncateOperation(blocking_task_runner_.get(), 141 new file_system::TruncateOperation(blocking_task_runner_.get(),
(...skipping 599 matching lines...) Expand 10 before | Expand all | Expand 10 after
748 // Metadata related to delta update. 741 // Metadata related to delta update.
749 metadata.last_update_check_time = last_update_check_time_; 742 metadata.last_update_check_time = last_update_check_time_;
750 metadata.last_update_check_error = last_update_check_error_; 743 metadata.last_update_check_error = last_update_check_error_;
751 744
752 resource_metadata_->GetLargestChangestampOnUIThread( 745 resource_metadata_->GetLargestChangestampOnUIThread(
753 base::Bind(&OnGetLargestChangestamp, metadata, callback)); 746 base::Bind(&OnGetLargestChangestamp, metadata, callback));
754 } 747 }
755 748
756 void FileSystem::MarkCacheFileAsMounted( 749 void FileSystem::MarkCacheFileAsMounted(
757 const base::FilePath& drive_file_path, 750 const base::FilePath& drive_file_path,
758 const OpenFileCallback& callback) { 751 const MarkMountedCallback& callback) {
759 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 752 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
760 DCHECK(!callback.is_null()); 753 DCHECK(!callback.is_null());
761 754
762 GetResourceEntryByPath( 755 GetResourceEntryByPath(
763 drive_file_path, 756 drive_file_path,
764 base::Bind(&FileSystem::MarkCacheFileAsMountedAfterGetResourceEntry, 757 base::Bind(&FileSystem::MarkCacheFileAsMountedAfterGetResourceEntry,
765 weak_ptr_factory_.GetWeakPtr(), callback)); 758 weak_ptr_factory_.GetWeakPtr(), callback));
766 } 759 }
767 760
768 void FileSystem::MarkCacheFileAsMountedAfterGetResourceEntry( 761 void FileSystem::MarkCacheFileAsMountedAfterGetResourceEntry(
769 const OpenFileCallback& callback, 762 const MarkMountedCallback& callback,
770 FileError error, 763 FileError error,
771 scoped_ptr<ResourceEntry> entry) { 764 scoped_ptr<ResourceEntry> entry) {
772 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 765 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
773 DCHECK(!callback.is_null()); 766 DCHECK(!callback.is_null());
774 767
775 if (error != FILE_ERROR_OK) { 768 if (error != FILE_ERROR_OK) {
776 callback.Run(error, base::FilePath()); 769 callback.Run(error, base::FilePath());
777 return; 770 return;
778 } 771 }
779 772
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
839 832
840 void FileSystem::OpenFile(const base::FilePath& file_path, 833 void FileSystem::OpenFile(const base::FilePath& file_path,
841 OpenMode open_mode, 834 OpenMode open_mode,
842 const OpenFileCallback& callback) { 835 const OpenFileCallback& callback) {
843 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 836 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
844 DCHECK(!callback.is_null()); 837 DCHECK(!callback.is_null());
845 838
846 open_file_operation_->OpenFile(file_path, open_mode, callback); 839 open_file_operation_->OpenFile(file_path, open_mode, callback);
847 } 840 }
848 841
849 void FileSystem::CloseFile(const base::FilePath& file_path,
850 const FileOperationCallback& callback) {
851 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
852 DCHECK(!callback.is_null());
853
854 close_file_operation_->CloseFile(file_path, callback);
855 }
856
857 void FileSystem::CheckLocalModificationAndRun( 842 void FileSystem::CheckLocalModificationAndRun(
858 scoped_ptr<ResourceEntry> entry, 843 scoped_ptr<ResourceEntry> entry,
859 const GetResourceEntryCallback& callback) { 844 const GetResourceEntryCallback& callback) {
860 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 845 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
861 DCHECK(entry.get()); 846 DCHECK(entry.get());
862 DCHECK(!callback.is_null()); 847 DCHECK(!callback.is_null());
863 848
864 // For entries that will never be cached, use the original resource entry 849 // For entries that will never be cached, use the original resource entry
865 // as is. 850 // as is.
866 if (!entry->has_file_specific_info() || 851 if (!entry->has_file_specific_info() ||
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
951 return; 936 return;
952 } 937 }
953 938
954 PlatformFileInfoProto entry_file_info; 939 PlatformFileInfoProto entry_file_info;
955 util::ConvertPlatformFileInfoToResourceEntry(*file_info, &entry_file_info); 940 util::ConvertPlatformFileInfoToResourceEntry(*file_info, &entry_file_info);
956 *entry->mutable_file_info() = entry_file_info; 941 *entry->mutable_file_info() = entry_file_info;
957 callback.Run(FILE_ERROR_OK, entry.Pass()); 942 callback.Run(FILE_ERROR_OK, entry.Pass());
958 } 943 }
959 944
960 } // namespace drive 945 } // namespace drive
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/drive/file_system.h ('k') | chrome/browser/chromeos/drive/file_system/close_file_operation.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698