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_service_state.h" | 23 #include "chrome/browser/sync_file_system/sync_service_state.h" |
| 24 #include "chrome/browser/sync_file_system/task_logger.h" |
24 #include "components/keyed_service/core/keyed_service.h" | 25 #include "components/keyed_service/core/keyed_service.h" |
25 #include "content/public/browser/notification_observer.h" | 26 #include "content/public/browser/notification_observer.h" |
26 #include "content/public/browser/notification_registrar.h" | 27 #include "content/public/browser/notification_registrar.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; |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
66 void DumpDatabase(const DumpFilesCallback& callback); | 67 void DumpDatabase(const DumpFilesCallback& callback); |
67 | 68 |
68 // Returns the file |url|'s sync status. | 69 // Returns the file |url|'s sync status. |
69 void GetFileSyncStatus( | 70 void GetFileSyncStatus( |
70 const fileapi::FileSystemURL& url, | 71 const fileapi::FileSystemURL& url, |
71 const SyncFileStatusCallback& callback); | 72 const SyncFileStatusCallback& callback); |
72 | 73 |
73 void AddSyncEventObserver(SyncEventObserver* observer); | 74 void AddSyncEventObserver(SyncEventObserver* observer); |
74 void RemoveSyncEventObserver(SyncEventObserver* observer); | 75 void RemoveSyncEventObserver(SyncEventObserver* observer); |
75 | 76 |
76 ConflictResolutionPolicy GetConflictResolutionPolicy(const GURL& origin); | |
77 SyncStatusCode SetConflictResolutionPolicy(const GURL& origin, | |
78 ConflictResolutionPolicy policy); | |
79 | |
80 LocalChangeProcessor* GetLocalChangeProcessor(const GURL& origin); | 77 LocalChangeProcessor* GetLocalChangeProcessor(const GURL& origin); |
81 | 78 |
82 void OnSyncIdle(); | 79 void OnSyncIdle(); |
83 | 80 |
| 81 TaskLogger* task_logger() { return &task_logger_; } |
| 82 |
84 private: | 83 private: |
85 friend class SyncFileSystemServiceFactory; | 84 friend class SyncFileSystemServiceFactory; |
86 friend class SyncFileSystemServiceTest; | 85 friend class SyncFileSystemServiceTest; |
87 friend struct base::DefaultDeleter<SyncFileSystemService>; | 86 friend struct base::DefaultDeleter<SyncFileSystemService>; |
88 friend class LocalSyncRunner; | 87 friend class LocalSyncRunner; |
89 friend class RemoteSyncRunner; | 88 friend class RemoteSyncRunner; |
90 | 89 |
91 explicit SyncFileSystemService(Profile* profile); | 90 explicit SyncFileSystemService(Profile* profile); |
92 virtual ~SyncFileSystemService(); | 91 virtual ~SyncFileSystemService(); |
93 | 92 |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
180 // (crbug.com/324215) | 179 // (crbug.com/324215) |
181 scoped_ptr<RemoteFileSyncService> v2_remote_service_; | 180 scoped_ptr<RemoteFileSyncService> v2_remote_service_; |
182 | 181 |
183 // Holds all SyncProcessRunners. | 182 // Holds all SyncProcessRunners. |
184 ScopedVector<SyncProcessRunner> local_sync_runners_; | 183 ScopedVector<SyncProcessRunner> local_sync_runners_; |
185 ScopedVector<SyncProcessRunner> remote_sync_runners_; | 184 ScopedVector<SyncProcessRunner> remote_sync_runners_; |
186 | 185 |
187 // Indicates if sync is currently enabled or not. | 186 // Indicates if sync is currently enabled or not. |
188 bool sync_enabled_; | 187 bool sync_enabled_; |
189 | 188 |
| 189 TaskLogger task_logger_; |
190 ObserverList<SyncEventObserver> observers_; | 190 ObserverList<SyncEventObserver> observers_; |
191 | 191 |
192 DISALLOW_COPY_AND_ASSIGN(SyncFileSystemService); | 192 DISALLOW_COPY_AND_ASSIGN(SyncFileSystemService); |
193 }; | 193 }; |
194 | 194 |
195 } // namespace sync_file_system | 195 } // namespace sync_file_system |
196 | 196 |
197 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_SYNC_FILE_SYSTEM_SERVICE_H_ | 197 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_SYNC_FILE_SYSTEM_SERVICE_H_ |
OLD | NEW |