OLD | NEW |
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 #ifndef CHROME_BROWSER_CHROMEOS_GDATA_GDATA_FILE_SYSTEM_H_ | 5 #ifndef CHROME_BROWSER_CHROMEOS_GDATA_GDATA_FILE_SYSTEM_H_ |
6 #define CHROME_BROWSER_CHROMEOS_GDATA_GDATA_FILE_SYSTEM_H_ | 6 #define CHROME_BROWSER_CHROMEOS_GDATA_GDATA_FILE_SYSTEM_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <map> | 9 #include <map> |
10 #include <string> | 10 #include <string> |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
96 typedef base::Callback<void(base::PlatformFileError error, | 96 typedef base::Callback<void(base::PlatformFileError error, |
97 int64 bytes_total, | 97 int64 bytes_total, |
98 int64 bytes_used)> | 98 int64 bytes_used)> |
99 GetAvailableSpaceCallback; | 99 GetAvailableSpaceCallback; |
100 | 100 |
101 // Used by GDataFileSystem::GetDocumentResourceIdOnBlockingPool to return | 101 // Used by GDataFileSystem::GetDocumentResourceIdOnBlockingPool to return |
102 // the resource ID read from a document JSON file on the local file system. | 102 // the resource ID read from a document JSON file on the local file system. |
103 typedef base::Callback<void(const std::string& resource_id)> | 103 typedef base::Callback<void(const std::string& resource_id)> |
104 GetDocumentResourceIdCallback; | 104 GetDocumentResourceIdCallback; |
105 | 105 |
106 // Callback for GetCacheState operation. | |
107 typedef base::Callback<void(base::PlatformFileError error, | |
108 int cache_state)> GetCacheStateCallback; | |
109 | |
110 // GData file system abstraction layer. | 106 // GData file system abstraction layer. |
111 // The interface is defined to make GDataFileSystem mockable. | 107 // The interface is defined to make GDataFileSystem mockable. |
112 class GDataFileSystemInterface { | 108 class GDataFileSystemInterface { |
113 public: | 109 public: |
114 virtual ~GDataFileSystemInterface() {} | 110 virtual ~GDataFileSystemInterface() {} |
115 | 111 |
116 // Used to notify events on the file system. | 112 // Used to notify events on the file system. |
117 // All events are notified on UI thread. | 113 // All events are notified on UI thread. |
118 class Observer { | 114 class Observer { |
119 public: | 115 public: |
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
290 // | 286 // |
291 // TODO(satorux): As of now, the function only handles files with the dirty | 287 // TODO(satorux): As of now, the function only handles files with the dirty |
292 // bit committed. We should eliminate the restriction. crbug.com/134558. | 288 // bit committed. We should eliminate the restriction. crbug.com/134558. |
293 // | 289 // |
294 // Can be called from UI/IO thread. |callback| and is run on the calling | 290 // Can be called from UI/IO thread. |callback| and is run on the calling |
295 // thread. | 291 // thread. |
296 virtual void UpdateFileByResourceId( | 292 virtual void UpdateFileByResourceId( |
297 const std::string& resource_id, | 293 const std::string& resource_id, |
298 const FileOperationCallback& callback) = 0; | 294 const FileOperationCallback& callback) = 0; |
299 | 295 |
300 // Gets the cache state of file corresponding to |resource_id| and |md5| if it | |
301 // exists on disk. | |
302 // Initializes cache if it has not been initialized. | |
303 // Upon completion, |callback| is invoked on the thread where this method was | |
304 // called with the cache state if file exists in cache or CACHE_STATE_NONE | |
305 // otherwise. | |
306 virtual void GetCacheState(const std::string& resource_id, | |
307 const std::string& md5, | |
308 const GetCacheStateCallback& callback) = 0; | |
309 | |
310 // Finds an entry (a file or a directory) by |file_path|. This call will also | 296 // Finds an entry (a file or a directory) by |file_path|. This call will also |
311 // retrieve and refresh file system content from server and disk cache. | 297 // retrieve and refresh file system content from server and disk cache. |
312 // | 298 // |
313 // Can be called from UI/IO thread. |callback| is run on the calling thread. | 299 // Can be called from UI/IO thread. |callback| is run on the calling thread. |
314 virtual void GetEntryInfoByPath(const FilePath& file_path, | 300 virtual void GetEntryInfoByPath(const FilePath& file_path, |
315 const GetEntryInfoCallback& callback) = 0; | 301 const GetEntryInfoCallback& callback) = 0; |
316 | 302 |
317 // Finds a file (not a directory) by |file_path|. This call will also | 303 // Finds a file (not a directory) by |file_path|. This call will also |
318 // retrieve and refresh file system content from server and disk cache. | 304 // retrieve and refresh file system content from server and disk cache. |
319 // | 305 // |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
427 const FilePath& file_path, | 413 const FilePath& file_path, |
428 const GetFileCallback& get_file_callback, | 414 const GetFileCallback& get_file_callback, |
429 const GetDownloadDataCallback& get_download_data_callback) OVERRIDE; | 415 const GetDownloadDataCallback& get_download_data_callback) OVERRIDE; |
430 virtual void GetFileByResourceId( | 416 virtual void GetFileByResourceId( |
431 const std::string& resource_id, | 417 const std::string& resource_id, |
432 const GetFileCallback& get_file_callback, | 418 const GetFileCallback& get_file_callback, |
433 const GetDownloadDataCallback& get_download_data_callback) OVERRIDE; | 419 const GetDownloadDataCallback& get_download_data_callback) OVERRIDE; |
434 virtual void UpdateFileByResourceId( | 420 virtual void UpdateFileByResourceId( |
435 const std::string& resource_id, | 421 const std::string& resource_id, |
436 const FileOperationCallback& callback) OVERRIDE; | 422 const FileOperationCallback& callback) OVERRIDE; |
437 virtual void GetCacheState(const std::string& resource_id, | |
438 const std::string& md5, | |
439 const GetCacheStateCallback& callback) OVERRIDE; | |
440 virtual void GetEntryInfoByPath( | 423 virtual void GetEntryInfoByPath( |
441 const FilePath& file_path, | 424 const FilePath& file_path, |
442 const GetEntryInfoCallback& callback) OVERRIDE; | 425 const GetEntryInfoCallback& callback) OVERRIDE; |
443 virtual void GetFileInfoByPath( | 426 virtual void GetFileInfoByPath( |
444 const FilePath& file_path, | 427 const FilePath& file_path, |
445 const GetFileInfoCallback& callback) OVERRIDE; | 428 const GetFileInfoCallback& callback) OVERRIDE; |
446 virtual void ReadDirectoryByPath( | 429 virtual void ReadDirectoryByPath( |
447 const FilePath& file_path, | 430 const FilePath& file_path, |
448 const ReadDirectoryCallback& callback) OVERRIDE; | 431 const ReadDirectoryCallback& callback) OVERRIDE; |
449 virtual void RequestDirectoryRefresh( | 432 virtual void RequestDirectoryRefresh( |
(...skipping 388 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
838 // Callback for handling file downloading requests. | 821 // Callback for handling file downloading requests. |
839 void OnFileDownloaded( | 822 void OnFileDownloaded( |
840 const GetFileFromCacheParams& params, | 823 const GetFileFromCacheParams& params, |
841 GDataErrorCode status, | 824 GDataErrorCode status, |
842 const GURL& content_url, | 825 const GURL& content_url, |
843 const FilePath& downloaded_file_path); | 826 const FilePath& downloaded_file_path); |
844 | 827 |
845 // Unpins file if cache entry is pinned. | 828 // Unpins file if cache entry is pinned. |
846 void UnpinIfPinned(const std::string& resource_id, | 829 void UnpinIfPinned(const std::string& resource_id, |
847 const std::string& md5, | 830 const std::string& md5, |
848 GDataCache::CacheEntry* cache_entry, | 831 bool success, |
849 bool* cache_entry_is_valid); | 832 const GDataCache::CacheEntry& cache_entry); |
850 | 833 |
851 // Similar to OnFileDownloaded() but takes |has_enough_space| so we report | 834 // Similar to OnFileDownloaded() but takes |has_enough_space| so we report |
852 // an error in case we don't have enough disk space. | 835 // an error in case we don't have enough disk space. |
853 void OnFileDownloadedAndSpaceChecked( | 836 void OnFileDownloadedAndSpaceChecked( |
854 const GetFileFromCacheParams& params, | 837 const GetFileFromCacheParams& params, |
855 GDataErrorCode status, | 838 GDataErrorCode status, |
856 const GURL& content_url, | 839 const GURL& content_url, |
857 const FilePath& downloaded_file_path, | 840 const FilePath& downloaded_file_path, |
858 bool* has_enough_space); | 841 bool* has_enough_space); |
859 | 842 |
(...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1151 const GetFileInfoCallback& callback); | 1134 const GetFileInfoCallback& callback); |
1152 void FindEntryByResourceIdOnUIThread(const std::string& resource_id, | 1135 void FindEntryByResourceIdOnUIThread(const std::string& resource_id, |
1153 const FindEntryCallback& callback); | 1136 const FindEntryCallback& callback); |
1154 void ReadDirectoryByPathAsyncOnUIThread( | 1137 void ReadDirectoryByPathAsyncOnUIThread( |
1155 const FilePath& file_path, | 1138 const FilePath& file_path, |
1156 const ReadDirectoryCallback& callback); | 1139 const ReadDirectoryCallback& callback); |
1157 void RequestDirectoryRefreshOnUIThread( | 1140 void RequestDirectoryRefreshOnUIThread( |
1158 const FilePath& file_path); | 1141 const FilePath& file_path); |
1159 void OnRequestDirectoryRefresh(GetDocumentsParams* params, | 1142 void OnRequestDirectoryRefresh(GetDocumentsParams* params, |
1160 base::PlatformFileError error); | 1143 base::PlatformFileError error); |
1161 void GetCacheStateOnUIThread(const std::string& resource_id, | |
1162 const std::string& md5, | |
1163 const GetCacheStateCallback& callback); | |
1164 void GetAvailableSpaceOnUIThread(const GetAvailableSpaceCallback& callback); | 1144 void GetAvailableSpaceOnUIThread(const GetAvailableSpaceCallback& callback); |
1165 void AddUploadedFileOnUIThread(UploadMode upload_mode, | 1145 void AddUploadedFileOnUIThread(UploadMode upload_mode, |
1166 const FilePath& virtual_dir_path, | 1146 const FilePath& virtual_dir_path, |
1167 DocumentEntry* entry, | 1147 DocumentEntry* entry, |
1168 const FilePath& file_content_path, | 1148 const FilePath& file_content_path, |
1169 GDataCache::FileOperationType cache_operation, | 1149 GDataCache::FileOperationType cache_operation, |
1170 const base::Closure& callback); | 1150 const base::Closure& callback); |
1171 | 1151 |
1172 // All members should be accessed only on UI thread. Do not post tasks to | 1152 // All members should be accessed only on UI thread. Do not post tasks to |
1173 // other threads with base::Unretained(this). | 1153 // other threads with base::Unretained(this). |
(...skipping 29 matching lines...) Expand all Loading... |
1203 | 1183 |
1204 ObserverList<Observer> observers_; | 1184 ObserverList<Observer> observers_; |
1205 | 1185 |
1206 // The token is used to post tasks to the blocking pool in sequence. | 1186 // The token is used to post tasks to the blocking pool in sequence. |
1207 const base::SequencedWorkerPool::SequenceToken sequence_token_; | 1187 const base::SequencedWorkerPool::SequenceToken sequence_token_; |
1208 }; | 1188 }; |
1209 | 1189 |
1210 } // namespace gdata | 1190 } // namespace gdata |
1211 | 1191 |
1212 #endif // CHROME_BROWSER_CHROMEOS_GDATA_GDATA_FILE_SYSTEM_H_ | 1192 #endif // CHROME_BROWSER_CHROMEOS_GDATA_GDATA_FILE_SYSTEM_H_ |
OLD | NEW |