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

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: Removed RunLoop 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 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 42
43 namespace drive_backend { 43 namespace drive_backend {
44 44
45 class LocalToRemoteSyncer; 45 class LocalToRemoteSyncer;
46 class MetadataDatabase; 46 class MetadataDatabase;
47 class RemoteChangeProcessorOnWorker; 47 class RemoteChangeProcessorOnWorker;
48 class RemoteToLocalSyncer; 48 class RemoteToLocalSyncer;
49 class SyncEngineContext; 49 class SyncEngineContext;
50 class SyncEngineInitializer; 50 class SyncEngineInitializer;
51 51
52 class SyncWorker : public SyncTaskManager::Client { 52 class SyncWorker : public SyncTaskManager::Client,
53 public base::SupportsWeakPtr<SyncWorker> {
tzik 2014/05/26 06:50:21 please revert this.
peria 2014/05/26 07:55:09 Done.
53 public: 54 public:
54 enum AppStatus { 55 enum AppStatus {
55 APP_STATUS_ENABLED, 56 APP_STATUS_ENABLED,
56 APP_STATUS_DISABLED, 57 APP_STATUS_DISABLED,
57 APP_STATUS_UNINSTALLED, 58 APP_STATUS_UNINSTALLED,
58 }; 59 };
59 60
60 typedef base::hash_map<std::string, AppStatus> AppStatusMap; 61 typedef base::hash_map<std::string, AppStatus> AppStatusMap;
61 62
62 class Observer { 63 class Observer {
63 public: 64 public:
65 virtual ~Observer() {}
tzik 2014/05/26 06:50:21 Not need to public?
peria 2014/05/26 07:55:09 Done.
66
64 virtual void OnPendingFileListUpdated(int item_count) = 0; 67 virtual void OnPendingFileListUpdated(int item_count) = 0;
65 virtual void OnFileStatusChanged(const fileapi::FileSystemURL& url, 68 virtual void OnFileStatusChanged(const fileapi::FileSystemURL& url,
66 SyncFileStatus file_status, 69 SyncFileStatus file_status,
67 SyncAction sync_action, 70 SyncAction sync_action,
68 SyncDirection direction) = 0; 71 SyncDirection direction) = 0;
69 virtual void UpdateServiceState(RemoteServiceState state, 72 virtual void UpdateServiceState(RemoteServiceState state,
70 const std::string& description) = 0; 73 const std::string& description) = 0;
71
72 protected:
73 virtual ~Observer() {}
74 }; 74 };
75 75
76 static scoped_ptr<SyncWorker> CreateOnWorker( 76 static scoped_ptr<SyncWorker> CreateOnWorker(
77 const base::FilePath& base_dir, 77 const base::FilePath& base_dir,
78 Observer* observer, 78 Observer* observer,
79 const base::WeakPtr<ExtensionServiceInterface>& extension_service, 79 const base::WeakPtr<ExtensionServiceInterface>& extension_service,
80 scoped_ptr<SyncEngineContext> sync_engine_context, 80 scoped_ptr<SyncEngineContext> sync_engine_context,
81 leveldb::Env* env_override); 81 leveldb::Env* env_override);
82 82
83 virtual ~SyncWorker(); 83 virtual ~SyncWorker();
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 ConflictResolutionPolicy default_conflict_resolution_policy_; 188 ConflictResolutionPolicy default_conflict_resolution_policy_;
189 bool network_available_; 189 bool network_available_;
190 190
191 scoped_ptr<SyncTaskManager> task_manager_; 191 scoped_ptr<SyncTaskManager> task_manager_;
192 192
193 base::WeakPtr<ExtensionServiceInterface> extension_service_; 193 base::WeakPtr<ExtensionServiceInterface> extension_service_;
194 194
195 scoped_ptr<SyncEngineContext> context_; 195 scoped_ptr<SyncEngineContext> context_;
196 ObserverList<Observer> observers_; 196 ObserverList<Observer> observers_;
197 197
198 base::WeakPtrFactory<SyncWorker> weak_ptr_factory_;
199 DISALLOW_COPY_AND_ASSIGN(SyncWorker); 198 DISALLOW_COPY_AND_ASSIGN(SyncWorker);
200 }; 199 };
201 200
202 } // namespace drive_backend 201 } // namespace drive_backend
203 } // namespace sync_file_system 202 } // namespace sync_file_system
204 203
205 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_SYNC_WORKER_H_ 204 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_SYNC_WORKER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698