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_SYNC_FILE_SYSTEM_SYNC_FILE_SYSTEM_SERVICE_H_ | 5 #ifndef CHROME_BROWSER_SYNC_FILE_SYSTEM_SYNC_FILE_SYSTEM_SERVICE_H_ |
6 #define CHROME_BROWSER_SYNC_FILE_SYSTEM_SYNC_FILE_SYSTEM_SERVICE_H_ | 6 #define CHROME_BROWSER_SYNC_FILE_SYSTEM_SYNC_FILE_SYSTEM_SERVICE_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <string> | 9 #include <string> |
10 | 10 |
11 #include "base/basictypes.h" | 11 #include "base/basictypes.h" |
12 #include "base/callback_forward.h" | 12 #include "base/callback_forward.h" |
13 #include "base/memory/scoped_ptr.h" | 13 #include "base/memory/scoped_ptr.h" |
14 #include "base/memory/scoped_vector.h" | 14 #include "base/memory/scoped_vector.h" |
15 #include "base/memory/weak_ptr.h" | 15 #include "base/memory/weak_ptr.h" |
16 #include "base/observer_list.h" | 16 #include "base/observer_list.h" |
17 #include "base/timer/timer.h" | 17 #include "base/timer/timer.h" |
18 #include "chrome/browser/sync/profile_sync_service_observer.h" | 18 #include "chrome/browser/sync/profile_sync_service_observer.h" |
19 #include "chrome/browser/sync_file_system/conflict_resolution_policy.h" | 19 #include "chrome/browser/sync_file_system/conflict_resolution_policy.h" |
20 #include "chrome/browser/sync_file_system/file_status_observer.h" | 20 #include "chrome/browser/sync_file_system/file_status_observer.h" |
21 #include "chrome/browser/sync_file_system/remote_file_sync_service.h" | 21 #include "chrome/browser/sync_file_system/remote_file_sync_service.h" |
22 #include "chrome/browser/sync_file_system/sync_callbacks.h" | 22 #include "chrome/browser/sync_file_system/sync_callbacks.h" |
| 23 #include "chrome/browser/sync_file_system/sync_process_runner.h" |
23 #include "chrome/browser/sync_file_system/sync_service_state.h" | 24 #include "chrome/browser/sync_file_system/sync_service_state.h" |
24 #include "chrome/browser/sync_file_system/task_logger.h" | 25 #include "chrome/browser/sync_file_system/task_logger.h" |
25 #include "components/keyed_service/core/keyed_service.h" | 26 #include "components/keyed_service/core/keyed_service.h" |
26 #include "extensions/browser/extension_registry_observer.h" | 27 #include "extensions/browser/extension_registry_observer.h" |
27 #include "url/gurl.h" | 28 #include "url/gurl.h" |
28 | 29 |
29 class Profile; | 30 class Profile; |
30 class ProfileSyncServiceBase; | 31 class ProfileSyncServiceBase; |
31 | 32 |
32 namespace fileapi { | 33 namespace fileapi { |
33 class FileSystemContext; | 34 class FileSystemContext; |
34 } | 35 } |
35 | 36 |
36 namespace sync_file_system { | 37 namespace sync_file_system { |
37 | 38 |
38 class LocalFileSyncService; | 39 class LocalFileSyncService; |
39 class LocalSyncRunner; | 40 class LocalSyncRunner; |
40 class RemoteSyncRunner; | 41 class RemoteSyncRunner; |
41 class SyncEventObserver; | 42 class SyncEventObserver; |
42 class SyncProcessRunner; | |
43 | 43 |
44 class SyncFileSystemService | 44 class SyncFileSystemService |
45 : public KeyedService, | 45 : public KeyedService, |
| 46 public SyncProcessRunner::Client, |
46 public ProfileSyncServiceObserver, | 47 public ProfileSyncServiceObserver, |
47 public FileStatusObserver, | 48 public FileStatusObserver, |
48 public extensions::ExtensionRegistryObserver, | 49 public extensions::ExtensionRegistryObserver, |
49 public base::SupportsWeakPtr<SyncFileSystemService> { | 50 public base::SupportsWeakPtr<SyncFileSystemService> { |
50 public: | 51 public: |
51 typedef base::Callback<void(const base::ListValue&)> DumpFilesCallback; | 52 typedef base::Callback<void(const base::ListValue&)> DumpFilesCallback; |
52 typedef base::Callback<void(const RemoteFileSyncService::OriginStatusMap&)> | 53 typedef base::Callback<void(const RemoteFileSyncService::OriginStatusMap&)> |
53 ExtensionStatusMapCallback; | 54 ExtensionStatusMapCallback; |
54 | 55 |
55 // KeyedService implementation. | 56 // KeyedService implementation. |
56 virtual void Shutdown() OVERRIDE; | 57 virtual void Shutdown() OVERRIDE; |
57 | 58 |
58 void InitializeForApp( | 59 void InitializeForApp( |
59 fileapi::FileSystemContext* file_system_context, | 60 fileapi::FileSystemContext* file_system_context, |
60 const GURL& app_origin, | 61 const GURL& app_origin, |
61 const SyncStatusCallback& callback); | 62 const SyncStatusCallback& callback); |
62 | 63 |
63 SyncServiceState GetSyncServiceState(); | |
64 void GetExtensionStatusMap(const ExtensionStatusMapCallback& callback); | 64 void GetExtensionStatusMap(const ExtensionStatusMapCallback& callback); |
65 void DumpFiles(const GURL& origin, const DumpFilesCallback& callback); | 65 void DumpFiles(const GURL& origin, const DumpFilesCallback& callback); |
66 void DumpDatabase(const DumpFilesCallback& callback); | 66 void DumpDatabase(const DumpFilesCallback& callback); |
67 | 67 |
68 // Returns the file |url|'s sync status. | 68 // Returns the file |url|'s sync status. |
69 void GetFileSyncStatus( | 69 void GetFileSyncStatus( |
70 const fileapi::FileSystemURL& url, | 70 const fileapi::FileSystemURL& url, |
71 const SyncFileStatusCallback& callback); | 71 const SyncFileStatusCallback& callback); |
72 | 72 |
73 void AddSyncEventObserver(SyncEventObserver* observer); | 73 void AddSyncEventObserver(SyncEventObserver* observer); |
74 void RemoveSyncEventObserver(SyncEventObserver* observer); | 74 void RemoveSyncEventObserver(SyncEventObserver* observer); |
75 | 75 |
76 LocalChangeProcessor* GetLocalChangeProcessor(const GURL& origin); | 76 LocalChangeProcessor* GetLocalChangeProcessor(const GURL& origin); |
77 | 77 |
78 void OnSyncIdle(); | 78 // SyncProcessRunner::Client implementations. |
| 79 virtual void OnSyncIdle() OVERRIDE; |
| 80 virtual SyncServiceState GetSyncServiceState() OVERRIDE; |
| 81 virtual SyncFileSystemService* GetSyncService() OVERRIDE; |
79 | 82 |
80 TaskLogger* task_logger() { return &task_logger_; } | 83 TaskLogger* task_logger() { return &task_logger_; } |
81 | 84 |
82 private: | 85 private: |
83 friend class SyncFileSystemServiceFactory; | 86 friend class SyncFileSystemServiceFactory; |
84 friend class SyncFileSystemServiceTest; | 87 friend class SyncFileSystemServiceTest; |
85 friend struct base::DefaultDeleter<SyncFileSystemService>; | 88 friend struct base::DefaultDeleter<SyncFileSystemService>; |
86 friend class LocalSyncRunner; | 89 friend class LocalSyncRunner; |
87 friend class RemoteSyncRunner; | 90 friend class RemoteSyncRunner; |
88 | 91 |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
188 | 191 |
189 TaskLogger task_logger_; | 192 TaskLogger task_logger_; |
190 ObserverList<SyncEventObserver> observers_; | 193 ObserverList<SyncEventObserver> observers_; |
191 | 194 |
192 DISALLOW_COPY_AND_ASSIGN(SyncFileSystemService); | 195 DISALLOW_COPY_AND_ASSIGN(SyncFileSystemService); |
193 }; | 196 }; |
194 | 197 |
195 } // namespace sync_file_system | 198 } // namespace sync_file_system |
196 | 199 |
197 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_SYNC_FILE_SYSTEM_SERVICE_H_ | 200 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_SYNC_FILE_SYSTEM_SERVICE_H_ |
OLD | NEW |