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

Side by Side Diff: chrome/browser/sync/glue/sync_backend_host.h

Issue 7190001: [Sync] Split DirectoryChangeListener for thread-safety (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix copyright Created 9 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 (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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_GLUE_SYNC_BACKEND_HOST_H_ 5 #ifndef CHROME_BROWSER_SYNC_GLUE_SYNC_BACKEND_HOST_H_
6 #define CHROME_BROWSER_SYNC_GLUE_SYNC_BACKEND_HOST_H_ 6 #define CHROME_BROWSER_SYNC_GLUE_SYNC_BACKEND_HOST_H_
7 #pragma once 7 #pragma once
8 8
9 #include <map> 9 #include <map>
10 #include <string> 10 #include <string>
(...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after
391 virtual void DoRequestConfig(const syncable::ModelTypeBitSet& added_types, 391 virtual void DoRequestConfig(const syncable::ModelTypeBitSet& added_types,
392 sync_api::ConfigureReason reason); 392 sync_api::ConfigureReason reason);
393 393
394 // Start the configuration mode. 394 // Start the configuration mode.
395 virtual void DoStartConfiguration(Callback0::Type* callback); 395 virtual void DoStartConfiguration(Callback0::Type* callback);
396 396
397 // Set the base request context to use when making HTTP calls. 397 // Set the base request context to use when making HTTP calls.
398 // This method will add a reference to the context to persist it 398 // This method will add a reference to the context to persist it
399 // on the IO thread. Must be removed from IO thread. 399 // on the IO thread. Must be removed from IO thread.
400 400
401 sync_api::SyncManager* syncapi() { return syncapi_.get(); } 401 sync_api::SyncManager* sync_manager() { return sync_manager_.get(); }
402 402
403 // Delete the sync data folder to cleanup backend data. Happens the first 403 // Delete the sync data folder to cleanup backend data. Happens the first
404 // time sync is enabled for a user (to prevent accidentally reusing old 404 // time sync is enabled for a user (to prevent accidentally reusing old
405 // sync databases), as well as shutdown when you're no longer syncing. 405 // sync databases), as well as shutdown when you're no longer syncing.
406 void DeleteSyncDataFolder(); 406 void DeleteSyncDataFolder();
407 407
408 void ConnectChildJsEventRouter(); 408 void ConnectChildJsEventRouter();
409 409
410 void DisconnectChildJsEventRouter(); 410 void DisconnectChildJsEventRouter();
411 411
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
482 sessions::SyncSessionSnapshot* snapshot); 482 sessions::SyncSessionSnapshot* snapshot);
483 483
484 void HandleStopSyncingPermanentlyOnFrontendLoop(); 484 void HandleStopSyncingPermanentlyOnFrontendLoop();
485 485
486 // Called to handle success/failure of clearing server data 486 // Called to handle success/failure of clearing server data
487 void HandleClearServerDataSucceededOnFrontendLoop(); 487 void HandleClearServerDataSucceededOnFrontendLoop();
488 void HandleClearServerDataFailedOnFrontendLoop(); 488 void HandleClearServerDataFailedOnFrontendLoop();
489 489
490 // Called from Core::OnInitializationComplete to handle updating 490 // Called from Core::OnInitializationComplete to handle updating
491 // frontend thread components. 491 // frontend thread components.
492 void HandleInitalizationCompletedOnFrontendLoop(); 492 void HandleInitializationCompletedOnFrontendLoop();
493 493
494 void RouteJsEventOnFrontendLoop( 494 void RouteJsEventOnFrontendLoop(
495 const std::string& name, const JsEventDetails& details); 495 const std::string& name, const JsEventDetails& details);
496 496
497 void RouteJsMessageReplyOnFrontendLoop( 497 void RouteJsMessageReplyOnFrontendLoop(
498 const std::string& name, const JsArgList& args, 498 const std::string& name, const JsArgList& args,
499 const JsEventHandler* target); 499 const JsEventHandler* target);
500 500
501 void FinishConfigureDataTypesOnFrontendLoop(); 501 void FinishConfigureDataTypesOnFrontendLoop();
502 502
503 // Return true if a model lives on the current thread. 503 // Return true if a model lives on the current thread.
504 bool IsCurrentThreadSafeForModel(syncable::ModelType model_type); 504 bool IsCurrentThreadSafeForModel(syncable::ModelType model_type);
505 505
506 // Debug name of the Profile this object is for.
507 const std::string name_;
508
506 // Our parent SyncBackendHost 509 // Our parent SyncBackendHost
507 SyncBackendHost* host_; 510 SyncBackendHost* host_;
508 511
509 // The timer used to periodically call SaveChanges. 512 // The timer used to periodically call SaveChanges.
510 base::RepeatingTimer<Core> save_changes_timer_; 513 base::RepeatingTimer<Core> save_changes_timer_;
511 514
512 // The top-level syncapi entry point. 515 // The top-level syncapi entry point. Lives on the sync thread.
513 scoped_ptr<sync_api::SyncManager> syncapi_; 516 scoped_ptr<sync_api::SyncManager> sync_manager_;
514 517
515 scoped_ptr<sync_notifier::SyncNotifier> sync_notifier_; 518 scoped_ptr<sync_notifier::SyncNotifier> sync_notifier_;
516 519
517 JsSyncManagerObserver sync_manager_observer_; 520 JsSyncManagerObserver sync_manager_observer_;
518 521
519 JsEventRouter* parent_router_; 522 JsEventRouter* parent_router_;
520 523
521 // Denotes if the core is currently attempting to set a passphrase. While 524 // Denotes if the core is currently attempting to set a passphrase. While
522 // this is true, OnPassphraseRequired calls are dropped. 525 // this is true, OnPassphraseRequired calls are dropped.
523 // Note: after initialization, this variable should only ever be accessed or 526 // Note: after initialization, this variable should only ever be accessed or
(...skipping 22 matching lines...) Expand all
546 549
547 // Allows tests to perform alternate core initialization work. 550 // Allows tests to perform alternate core initialization work.
548 virtual void InitCore(const Core::DoInitializeOptions& options); 551 virtual void InitCore(const Core::DoInitializeOptions& options);
549 552
550 // Factory method for HttpPostProviderFactories. 553 // Factory method for HttpPostProviderFactories.
551 virtual sync_api::HttpPostProviderFactory* MakeHttpBridgeFactory( 554 virtual sync_api::HttpPostProviderFactory* MakeHttpBridgeFactory(
552 net::URLRequestContextGetter* getter); 555 net::URLRequestContextGetter* getter);
553 556
554 MessageLoop* sync_loop() { return sync_thread_.message_loop(); } 557 MessageLoop* sync_loop() { return sync_thread_.message_loop(); }
555 558
556 void set_syncapi_initialized() { syncapi_initialized_ = true; }
557
558 // Helpers to persist a token that can be used to bootstrap sync encryption 559 // Helpers to persist a token that can be used to bootstrap sync encryption
559 // across browser restart to avoid requiring the user to re-enter their 560 // across browser restart to avoid requiring the user to re-enter their
560 // passphrase. |token| must be valid UTF-8 as we use the PrefService for 561 // passphrase. |token| must be valid UTF-8 as we use the PrefService for
561 // storage. 562 // storage.
562 void PersistEncryptionBootstrapToken(const std::string& token); 563 void PersistEncryptionBootstrapToken(const std::string& token);
563 std::string RestoreEncryptionBootstrapToken(); 564 std::string RestoreEncryptionBootstrapToken();
564 565
565 // Our core, which communicates directly to the syncapi. 566 // Our core, which communicates directly to the syncapi.
566 scoped_refptr<Core> core_; 567 scoped_refptr<Core> core_;
567 568
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
647 scoped_ptr<PendingConfigureDataTypesState> pending_download_state_; 648 scoped_ptr<PendingConfigureDataTypesState> pending_download_state_;
648 scoped_ptr<PendingConfigureDataTypesState> pending_config_mode_state_; 649 scoped_ptr<PendingConfigureDataTypesState> pending_config_mode_state_;
649 650
650 // UI-thread cache of the last AuthErrorState received from syncapi. 651 // UI-thread cache of the last AuthErrorState received from syncapi.
651 GoogleServiceAuthError last_auth_error_; 652 GoogleServiceAuthError last_auth_error_;
652 653
653 // UI-thread cache of the last SyncSessionSnapshot received from syncapi. 654 // UI-thread cache of the last SyncSessionSnapshot received from syncapi.
654 scoped_ptr<sessions::SyncSessionSnapshot> last_snapshot_; 655 scoped_ptr<sessions::SyncSessionSnapshot> last_snapshot_;
655 656
656 // Whether we've processed the initialization complete callback. 657 // Whether we've processed the initialization complete callback.
657 bool syncapi_initialized_; 658 bool sync_manager_initialized_;
658 659
659 DISALLOW_COPY_AND_ASSIGN(SyncBackendHost); 660 DISALLOW_COPY_AND_ASSIGN(SyncBackendHost);
660 }; 661 };
661 662
662 } // namespace browser_sync 663 } // namespace browser_sync
663 664
664 #endif // CHROME_BROWSER_SYNC_GLUE_SYNC_BACKEND_HOST_H_ 665 #endif // CHROME_BROWSER_SYNC_GLUE_SYNC_BACKEND_HOST_H_
OLDNEW
« no previous file with comments | « chrome/browser/sync/engine/verify_updates_command_unittest.cc ('k') | chrome/browser/sync/glue/sync_backend_host.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698