diff options
author | akalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-21 09:59:42 +0000 |
---|---|---|
committer | akalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-21 09:59:42 +0000 |
commit | 91835ca82c6ff7f1aeb68e314a3842da1aca6841 (patch) | |
tree | c7e8119bd0fb2a8e1d6910c969e1d3f62dbff1f8 /sync/internal_api/js_sync_manager_observer.h | |
parent | 7983f3bae6ab9c86aea81816e6bb1bd15ab114fe (diff) | |
download | chromium_src-91835ca82c6ff7f1aeb68e314a3842da1aca6841.zip chromium_src-91835ca82c6ff7f1aeb68e314a3842da1aca6841.tar.gz chromium_src-91835ca82c6ff7f1aeb68e314a3842da1aca6841.tar.bz2 |
[Sync] Move 'syncapi_core' and 'sync_unit_tests' targets to sync/
Also move related test files.
Lock down deps for sync/internal_api.
Clean up some deps on chrome/browser/sync.
BUG=117585
TEST=
Review URL: https://chromiumcodereview.appspot.com/10147003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@133349 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sync/internal_api/js_sync_manager_observer.h')
-rw-r--r-- | sync/internal_api/js_sync_manager_observer.h | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/sync/internal_api/js_sync_manager_observer.h b/sync/internal_api/js_sync_manager_observer.h new file mode 100644 index 0000000..025cfa1 --- /dev/null +++ b/sync/internal_api/js_sync_manager_observer.h @@ -0,0 +1,69 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef SYNC_INTERNAL_API_JS_SYNC_MANAGER_OBSERVER_H_ +#define SYNC_INTERNAL_API_JS_SYNC_MANAGER_OBSERVER_H_ +#pragma once + +#include <string> + +#include "base/basictypes.h" +#include "base/compiler_specific.h" +#include "sync/internal_api/sync_manager.h" +#include "sync/protocol/sync_protocol_error.h" +#include "sync/util/weak_handle.h" + +namespace tracked_objects { +class Location; +} // namespace tracked_objects + +namespace browser_sync { + +class JsEventDetails; +class JsEventHandler; + +// Routes SyncManager events to a JsEventHandler. +class JsSyncManagerObserver : public sync_api::SyncManager::Observer { + public: + JsSyncManagerObserver(); + virtual ~JsSyncManagerObserver(); + + void SetJsEventHandler(const WeakHandle<JsEventHandler>& event_handler); + + // sync_api::SyncManager::Observer implementation. + virtual void OnSyncCycleCompleted( + const sessions::SyncSessionSnapshot* snapshot) OVERRIDE; + virtual void OnConnectionStatusChange( + sync_api::ConnectionStatus status) OVERRIDE; + virtual void OnUpdatedToken(const std::string& token) OVERRIDE; + virtual void OnPassphraseRequired( + sync_api::PassphraseRequiredReason reason, + const sync_pb::EncryptedData& pending_keys) OVERRIDE; + virtual void OnPassphraseAccepted() OVERRIDE; + virtual void OnBootstrapTokenUpdated( + const std::string& bootstrap_token) OVERRIDE; + virtual void OnEncryptedTypesChanged( + syncable::ModelTypeSet encrypted_types, + bool encrypt_everything) OVERRIDE; + virtual void OnEncryptionComplete() OVERRIDE; + virtual void OnInitializationComplete( + const WeakHandle<JsBackend>& js_backend, bool success) OVERRIDE; + virtual void OnStopSyncingPermanently() OVERRIDE; + virtual void OnClearServerDataSucceeded() OVERRIDE; + virtual void OnClearServerDataFailed() OVERRIDE; + virtual void OnActionableError( + const browser_sync::SyncProtocolError& sync_protocol_error) OVERRIDE; + + private: + void HandleJsEvent(const tracked_objects::Location& from_here, + const std::string& name, const JsEventDetails& details); + + WeakHandle<JsEventHandler> event_handler_; + + DISALLOW_COPY_AND_ASSIGN(JsSyncManagerObserver); +}; + +} // namespace browser_sync + +#endif // SYNC_INTERNAL_API_JS_SYNC_MANAGER_OBSERVER_H_ |