Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(224)

Side by Side Diff: chrome/browser/sync_file_system/drive_backend/sync_worker.h

Issue 288193002: [SyncFS] Construct and destruct sync_worker in worker_task_runner (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Work for comments Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698