OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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_DRIVE_BACKEND_SYNC_WORKER_H_ | 5 #ifndef CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_SYNC_WORKER_H_ |
6 #define CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_SYNC_WORKER_H_ | 6 #define CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_SYNC_WORKER_H_ |
7 | 7 |
8 #include <set> | 8 #include <set> |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
54 enum AppStatus { | 54 enum AppStatus { |
55 APP_STATUS_ENABLED, | 55 APP_STATUS_ENABLED, |
56 APP_STATUS_DISABLED, | 56 APP_STATUS_DISABLED, |
57 APP_STATUS_UNINSTALLED, | 57 APP_STATUS_UNINSTALLED, |
58 }; | 58 }; |
59 | 59 |
60 typedef base::hash_map<std::string, AppStatus> AppStatusMap; | 60 typedef base::hash_map<std::string, AppStatus> AppStatusMap; |
61 | 61 |
62 class Observer { | 62 class Observer { |
63 public: | 63 public: |
| 64 virtual ~Observer() {} |
| 65 |
64 virtual void OnPendingFileListUpdated(int item_count) = 0; | 66 virtual void OnPendingFileListUpdated(int item_count) = 0; |
65 virtual void OnFileStatusChanged(const fileapi::FileSystemURL& url, | 67 virtual void OnFileStatusChanged(const fileapi::FileSystemURL& url, |
66 SyncFileStatus file_status, | 68 SyncFileStatus file_status, |
67 SyncAction sync_action, | 69 SyncAction sync_action, |
68 SyncDirection direction) = 0; | 70 SyncDirection direction) = 0; |
69 virtual void UpdateServiceState(RemoteServiceState state, | 71 virtual void UpdateServiceState(RemoteServiceState state, |
70 const std::string& description) = 0; | 72 const std::string& description) = 0; |
71 | |
72 protected: | |
73 virtual ~Observer() {} | |
74 }; | 73 }; |
75 | 74 |
76 static scoped_ptr<SyncWorker> CreateOnWorker( | 75 static scoped_ptr<SyncWorker> CreateOnWorker( |
77 const base::FilePath& base_dir, | 76 const base::FilePath& base_dir, |
78 Observer* observer, | 77 Observer* observer, |
79 const base::WeakPtr<ExtensionServiceInterface>& extension_service, | 78 const base::WeakPtr<ExtensionServiceInterface>& extension_service, |
80 scoped_ptr<SyncEngineContext> sync_engine_context, | 79 scoped_ptr<SyncEngineContext> sync_engine_context, |
81 leveldb::Env* env_override); | 80 leveldb::Env* env_override); |
82 | 81 |
| 82 static void DestructOnWorker(scoped_ptr<SyncWorker> sync_worker, |
| 83 scoped_ptr<Observer> worker_observer); |
| 84 |
83 virtual ~SyncWorker(); | 85 virtual ~SyncWorker(); |
84 | 86 |
85 void Initialize(); | 87 void Initialize(); |
86 | 88 |
87 // SyncTaskManager::Client overrides | 89 // SyncTaskManager::Client overrides |
88 virtual void MaybeScheduleNextTask() OVERRIDE; | 90 virtual void MaybeScheduleNextTask() OVERRIDE; |
89 virtual void NotifyLastOperationStatus( | 91 virtual void NotifyLastOperationStatus( |
90 SyncStatusCode sync_status, bool used_network) OVERRIDE; | 92 SyncStatusCode sync_status, bool used_network) OVERRIDE; |
91 | 93 |
92 void RegisterOrigin(const GURL& origin, const SyncStatusCallback& callback); | 94 void RegisterOrigin(const GURL& origin, const SyncStatusCallback& callback); |
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
196 ObserverList<Observer> observers_; | 198 ObserverList<Observer> observers_; |
197 | 199 |
198 base::WeakPtrFactory<SyncWorker> weak_ptr_factory_; | 200 base::WeakPtrFactory<SyncWorker> weak_ptr_factory_; |
199 DISALLOW_COPY_AND_ASSIGN(SyncWorker); | 201 DISALLOW_COPY_AND_ASSIGN(SyncWorker); |
200 }; | 202 }; |
201 | 203 |
202 } // namespace drive_backend | 204 } // namespace drive_backend |
203 } // namespace sync_file_system | 205 } // namespace sync_file_system |
204 | 206 |
205 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_SYNC_WORKER_H_ | 207 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_SYNC_WORKER_H_ |
OLD | NEW |