| 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 <sys/stat.h> | 9 #include <sys/stat.h> |
| 10 | 10 |
| 11 #include <map> | 11 #include <map> |
| 12 #include <string> | 12 #include <string> |
| 13 #include <vector> | 13 #include <vector> |
| 14 | 14 |
| 15 #include "base/gtest_prod_util.h" | 15 #include "base/gtest_prod_util.h" |
| 16 #include "base/memory/scoped_ptr.h" | 16 #include "base/memory/scoped_ptr.h" |
| 17 #include "base/memory/singleton.h" | 17 #include "base/memory/singleton.h" |
| 18 #include "base/memory/weak_ptr.h" | 18 #include "base/memory/weak_ptr.h" |
| 19 #include "base/message_loop.h" | 19 #include "base/message_loop.h" |
| 20 #include "base/platform_file.h" | 20 #include "base/platform_file.h" |
| 21 #include "base/timer.h" |
| 21 #include "base/synchronization/lock.h" | 22 #include "base/synchronization/lock.h" |
| 22 #include "base/threading/sequenced_worker_pool.h" | 23 #include "base/threading/sequenced_worker_pool.h" |
| 23 #include "chrome/browser/chromeos/gdata/find_entry_delegate.h" | 24 #include "chrome/browser/chromeos/gdata/find_entry_delegate.h" |
| 24 #include "chrome/browser/chromeos/gdata/gdata_documents_service.h" | 25 #include "chrome/browser/chromeos/gdata/gdata_documents_service.h" |
| 25 #include "chrome/browser/chromeos/gdata/gdata_files.h" | 26 #include "chrome/browser/chromeos/gdata/gdata_files.h" |
| 26 #include "chrome/browser/chromeos/gdata/gdata_operation_registry.h" | 27 #include "chrome/browser/chromeos/gdata/gdata_operation_registry.h" |
| 27 #include "chrome/browser/chromeos/gdata/gdata_params.h" | 28 #include "chrome/browser/chromeos/gdata/gdata_params.h" |
| 28 #include "chrome/browser/chromeos/gdata/gdata_parser.h" | 29 #include "chrome/browser/chromeos/gdata/gdata_parser.h" |
| 29 #include "chrome/browser/chromeos/gdata/gdata_uploader.h" | 30 #include "chrome/browser/chromeos/gdata/gdata_uploader.h" |
| 30 #include "chrome/browser/prefs/pref_change_registrar.h" | 31 #include "chrome/browser/prefs/pref_change_registrar.h" |
| (...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 168 }; | 169 }; |
| 169 | 170 |
| 170 // Initializes the object. This function should be called before any | 171 // Initializes the object. This function should be called before any |
| 171 // other functions. | 172 // other functions. |
| 172 virtual void Initialize() = 0; | 173 virtual void Initialize() = 0; |
| 173 | 174 |
| 174 // Adds and removes the observer. | 175 // Adds and removes the observer. |
| 175 virtual void AddObserver(Observer* observer) = 0; | 176 virtual void AddObserver(Observer* observer) = 0; |
| 176 virtual void RemoveObserver(Observer* observer) = 0; | 177 virtual void RemoveObserver(Observer* observer) = 0; |
| 177 | 178 |
| 179 // Starts and stops periodic updates. |
| 180 virtual void StartUpdates() = 0; |
| 181 virtual void StopUpdates() = 0; |
| 182 |
| 183 // Checks for updates on the server. |
| 184 virtual void CheckForUpdates() = 0; |
| 185 |
| 178 // Enum defining origin of a cached file. | 186 // Enum defining origin of a cached file. |
| 179 enum CachedFileOrigin { | 187 enum CachedFileOrigin { |
| 180 CACHED_FILE_FROM_SERVER = 0, | 188 CACHED_FILE_FROM_SERVER = 0, |
| 181 CACHED_FILE_LOCALLY_MODIFIED, | 189 CACHED_FILE_LOCALLY_MODIFIED, |
| 182 CACHED_FILE_MOUNTED, | 190 CACHED_FILE_MOUNTED, |
| 183 }; | 191 }; |
| 184 | 192 |
| 185 // Enum defining type of file operation e.g. copy or move, etc. | 193 // Enum defining type of file operation e.g. copy or move, etc. |
| 186 // For now, it's used for StoreToCache. | 194 // For now, it's used for StoreToCache. |
| 187 enum FileOperationType { | 195 enum FileOperationType { |
| (...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 393 public content::NotificationObserver { | 401 public content::NotificationObserver { |
| 394 public: | 402 public: |
| 395 GDataFileSystem(Profile* profile, | 403 GDataFileSystem(Profile* profile, |
| 396 DocumentsServiceInterface* documents_service); | 404 DocumentsServiceInterface* documents_service); |
| 397 virtual ~GDataFileSystem(); | 405 virtual ~GDataFileSystem(); |
| 398 | 406 |
| 399 // GDataFileSystem overrides. | 407 // GDataFileSystem overrides. |
| 400 virtual void Initialize() OVERRIDE; | 408 virtual void Initialize() OVERRIDE; |
| 401 virtual void AddObserver(Observer* observer) OVERRIDE; | 409 virtual void AddObserver(Observer* observer) OVERRIDE; |
| 402 virtual void RemoveObserver(Observer* observer) OVERRIDE; | 410 virtual void RemoveObserver(Observer* observer) OVERRIDE; |
| 411 virtual void StartUpdates() OVERRIDE; |
| 412 virtual void StopUpdates() OVERRIDE; |
| 413 virtual void CheckForUpdates() OVERRIDE; |
| 403 virtual void Authenticate(const AuthStatusCallback& callback) OVERRIDE; | 414 virtual void Authenticate(const AuthStatusCallback& callback) OVERRIDE; |
| 404 virtual void FindEntryByResourceIdSync(const std::string& resource_id, | 415 virtual void FindEntryByResourceIdSync(const std::string& resource_id, |
| 405 FindEntryDelegate* delegate) OVERRIDE; | 416 FindEntryDelegate* delegate) OVERRIDE; |
| 406 virtual void TransferFile(const FilePath& local_file_path, | 417 virtual void TransferFile(const FilePath& local_file_path, |
| 407 const FilePath& remote_dest_file_path, | 418 const FilePath& remote_dest_file_path, |
| 408 const FileOperationCallback& callback) OVERRIDE; | 419 const FileOperationCallback& callback) OVERRIDE; |
| 409 virtual void Copy(const FilePath& src_file_path, | 420 virtual void Copy(const FilePath& src_file_path, |
| 410 const FilePath& dest_file_path, | 421 const FilePath& dest_file_path, |
| 411 const FileOperationCallback& callback) OVERRIDE; | 422 const FileOperationCallback& callback) OVERRIDE; |
| 412 virtual void Move(const FilePath& src_file_path, | 423 virtual void Move(const FilePath& src_file_path, |
| (...skipping 913 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1326 scoped_ptr<base::WaitableEvent> on_io_completed_; | 1337 scoped_ptr<base::WaitableEvent> on_io_completed_; |
| 1327 | 1338 |
| 1328 // True if cache initialization has started, is in progress or has completed, | 1339 // True if cache initialization has started, is in progress or has completed, |
| 1329 // we only want to initialize cache once. | 1340 // we only want to initialize cache once. |
| 1330 bool cache_initialization_started_; | 1341 bool cache_initialization_started_; |
| 1331 | 1342 |
| 1332 // Number of pending tasks on the blocking thread pool. | 1343 // Number of pending tasks on the blocking thread pool. |
| 1333 int num_pending_tasks_; | 1344 int num_pending_tasks_; |
| 1334 base::Lock num_pending_tasks_lock_; | 1345 base::Lock num_pending_tasks_lock_; |
| 1335 | 1346 |
| 1347 // Periodic timer for checking updates. |
| 1348 base::Timer update_timer_; |
| 1349 |
| 1336 // True if hosted documents should be hidden. | 1350 // True if hosted documents should be hidden. |
| 1337 bool hide_hosted_docs_; | 1351 bool hide_hosted_docs_; |
| 1338 | 1352 |
| 1339 scoped_ptr<PrefChangeRegistrar> pref_registrar_; | 1353 scoped_ptr<PrefChangeRegistrar> pref_registrar_; |
| 1340 | 1354 |
| 1341 // WeakPtrFactory and WeakPtr bound to the UI thread. | 1355 // WeakPtrFactory and WeakPtr bound to the UI thread. |
| 1342 scoped_ptr<base::WeakPtrFactory<GDataFileSystem> > ui_weak_ptr_factory_; | 1356 scoped_ptr<base::WeakPtrFactory<GDataFileSystem> > ui_weak_ptr_factory_; |
| 1343 base::WeakPtr<GDataFileSystem> ui_weak_ptr_; | 1357 base::WeakPtr<GDataFileSystem> ui_weak_ptr_; |
| 1344 | 1358 |
| 1345 ObserverList<Observer> observers_; | 1359 ObserverList<Observer> observers_; |
| (...skipping 18 matching lines...) Expand all Loading... |
| 1364 }; | 1378 }; |
| 1365 | 1379 |
| 1366 // Sets the free disk space getter for testing. | 1380 // Sets the free disk space getter for testing. |
| 1367 // The existing getter is deleted. | 1381 // The existing getter is deleted. |
| 1368 void SetFreeDiskSpaceGetterForTesting( | 1382 void SetFreeDiskSpaceGetterForTesting( |
| 1369 FreeDiskSpaceGetterInterface* getter); | 1383 FreeDiskSpaceGetterInterface* getter); |
| 1370 | 1384 |
| 1371 } // namespace gdata | 1385 } // namespace gdata |
| 1372 | 1386 |
| 1373 #endif // CHROME_BROWSER_CHROMEOS_GDATA_GDATA_FILE_SYSTEM_H_ | 1387 #endif // CHROME_BROWSER_CHROMEOS_GDATA_GDATA_FILE_SYSTEM_H_ |
| OLD | NEW |