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

Side by Side Diff: trunk/src/sync/internal_api/public/sync_manager.h

Issue 23658030: Revert 222154 "sync: Gracefully handle very early shutdown" (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 7 years, 3 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 2012 The Chromium Authors. All rights reserved. 1 // Copyright 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 SYNC_INTERNAL_API_PUBLIC_SYNC_MANAGER_H_ 5 #ifndef SYNC_INTERNAL_API_PUBLIC_SYNC_MANAGER_H_
6 #define SYNC_INTERNAL_API_PUBLIC_SYNC_MANAGER_H_ 6 #define SYNC_INTERNAL_API_PUBLIC_SYNC_MANAGER_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 27 matching lines...) Expand all
38 class Encryptor; 38 class Encryptor;
39 struct Experiments; 39 struct Experiments;
40 class ExtensionsActivity; 40 class ExtensionsActivity;
41 class HttpPostProviderFactory; 41 class HttpPostProviderFactory;
42 class InternalComponentsFactory; 42 class InternalComponentsFactory;
43 class JsBackend; 43 class JsBackend;
44 class JsEventHandler; 44 class JsEventHandler;
45 class SyncEncryptionHandler; 45 class SyncEncryptionHandler;
46 class SyncScheduler; 46 class SyncScheduler;
47 struct UserShare; 47 struct UserShare;
48 class CancelationSignal;
49 48
50 namespace sessions { 49 namespace sessions {
51 class SyncSessionSnapshot; 50 class SyncSessionSnapshot;
52 } // namespace sessions 51 } // namespace sessions
53 52
54 // Used by SyncManager::OnConnectionStatusChange(). 53 // Used by SyncManager::OnConnectionStatusChange().
55 enum ConnectionStatus { 54 enum ConnectionStatus {
56 CONNECTION_OK, 55 CONNECTION_OK,
57 CONNECTION_AUTH_ERROR, 56 CONNECTION_AUTH_ERROR,
58 CONNECTION_SERVER_ERROR 57 CONNECTION_SERVER_ERROR
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 ExtensionsActivity* extensions_activity, 313 ExtensionsActivity* extensions_activity,
315 ChangeDelegate* change_delegate, 314 ChangeDelegate* change_delegate,
316 const SyncCredentials& credentials, 315 const SyncCredentials& credentials,
317 const std::string& invalidator_client_id, 316 const std::string& invalidator_client_id,
318 const std::string& restored_key_for_bootstrapping, 317 const std::string& restored_key_for_bootstrapping,
319 const std::string& restored_keystore_key_for_bootstrapping, 318 const std::string& restored_keystore_key_for_bootstrapping,
320 InternalComponentsFactory* internal_components_factory, 319 InternalComponentsFactory* internal_components_factory,
321 Encryptor* encryptor, 320 Encryptor* encryptor,
322 scoped_ptr<UnrecoverableErrorHandler> unrecoverable_error_handler, 321 scoped_ptr<UnrecoverableErrorHandler> unrecoverable_error_handler,
323 ReportUnrecoverableErrorFunction report_unrecoverable_error_function, 322 ReportUnrecoverableErrorFunction report_unrecoverable_error_function,
324 bool use_oauth2_token, 323 bool use_oauth2_token) = 0;
325 CancelationSignal* cancelation_signal) = 0;
326 324
327 // Throw an unrecoverable error from a transaction (mostly used for 325 // Throw an unrecoverable error from a transaction (mostly used for
328 // testing). 326 // testing).
329 virtual void ThrowUnrecoverableError() = 0; 327 virtual void ThrowUnrecoverableError() = 0;
330 328
331 virtual ModelTypeSet InitialSyncEndedTypes() = 0; 329 virtual ModelTypeSet InitialSyncEndedTypes() = 0;
332 330
333 // Returns those types within |types| that have an empty progress marker 331 // Returns those types within |types| that have an empty progress marker
334 // token. 332 // token.
335 virtual ModelTypeSet GetTypesWithEmptyProgressMarkerToken( 333 virtual ModelTypeSet GetTypesWithEmptyProgressMarkerToken(
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
387 // potentially dereference garbage. 385 // potentially dereference garbage.
388 virtual void RemoveObserver(Observer* observer) = 0; 386 virtual void RemoveObserver(Observer* observer) = 0;
389 387
390 // Status-related getter. May be called on any thread. 388 // Status-related getter. May be called on any thread.
391 virtual SyncStatus GetDetailedStatus() const = 0; 389 virtual SyncStatus GetDetailedStatus() const = 0;
392 390
393 // Call periodically from a database-safe thread to persist recent changes 391 // Call periodically from a database-safe thread to persist recent changes
394 // to the syncapi model. 392 // to the syncapi model.
395 virtual void SaveChanges() = 0; 393 virtual void SaveChanges() = 0;
396 394
395 // Initiates shutdown of various components in the sync engine. Must be
396 // called from the main thread to allow preempting ongoing tasks on the sync
397 // loop (that may be blocked on I/O). The semantics of |callback| are the
398 // same as with StartConfigurationMode. If provided and a scheduler / sync
399 // loop exists, it will be invoked from the sync loop by the scheduler to
400 // notify that all work has been flushed + cancelled, and it is idle.
401 // If no scheduler exists, the callback is run immediately (from the loop
402 // this was created on, which is the sync loop), as sync is effectively
403 // stopped.
404 virtual void StopSyncingForShutdown() = 0;
405
397 // Issue a final SaveChanges, and close sqlite handles. 406 // Issue a final SaveChanges, and close sqlite handles.
398 virtual void ShutdownOnSyncThread() = 0; 407 virtual void ShutdownOnSyncThread() = 0;
399 408
400 // May be called from any thread. 409 // May be called from any thread.
401 virtual UserShare* GetUserShare() = 0; 410 virtual UserShare* GetUserShare() = 0;
402 411
403 // Returns the cache_guid of the currently open database. 412 // Returns the cache_guid of the currently open database.
404 // Requires that the SyncManager be initialized. 413 // Requires that the SyncManager be initialized.
405 virtual const std::string cache_guid() = 0; 414 virtual const std::string cache_guid() = 0;
406 415
407 // Reads the nigori node to determine if any experimental features should 416 // Reads the nigori node to determine if any experimental features should
408 // be enabled. 417 // be enabled.
409 // Note: opens a transaction. May be called on any thread. 418 // Note: opens a transaction. May be called on any thread.
410 virtual bool ReceivedExperiment(Experiments* experiments) = 0; 419 virtual bool ReceivedExperiment(Experiments* experiments) = 0;
411 420
412 // Uses a read-only transaction to determine if the directory being synced has 421 // Uses a read-only transaction to determine if the directory being synced has
413 // any remaining unsynced items. May be called on any thread. 422 // any remaining unsynced items. May be called on any thread.
414 virtual bool HasUnsyncedItems() = 0; 423 virtual bool HasUnsyncedItems() = 0;
415 424
416 // Returns the SyncManager's encryption handler. 425 // Returns the SyncManager's encryption handler.
417 virtual SyncEncryptionHandler* GetEncryptionHandler() = 0; 426 virtual SyncEncryptionHandler* GetEncryptionHandler() = 0;
418 427
419 // Ask the SyncManager to fetch updates for the given types. 428 // Ask the SyncManager to fetch updates for the given types.
420 virtual void RefreshTypes(ModelTypeSet types) = 0; 429 virtual void RefreshTypes(ModelTypeSet types) = 0;
421 }; 430 };
422 431
423 } // namespace syncer 432 } // namespace syncer
424 433
425 #endif // SYNC_INTERNAL_API_PUBLIC_SYNC_MANAGER_H_ 434 #endif // SYNC_INTERNAL_API_PUBLIC_SYNC_MANAGER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698