| Index: blimp/helium/sync_manager.h
|
| diff --git a/blimp/helium/sync_manager.h b/blimp/helium/sync_manager.h
|
| deleted file mode 100644
|
| index 1fcdb9f3c979facdd57396ed656bc0ab29334977..0000000000000000000000000000000000000000
|
| --- a/blimp/helium/sync_manager.h
|
| +++ /dev/null
|
| @@ -1,95 +0,0 @@
|
| -// Copyright 2016 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 BLIMP_HELIUM_SYNC_MANAGER_H_
|
| -#define BLIMP_HELIUM_SYNC_MANAGER_H_
|
| -
|
| -#include <stdint.h>
|
| -#include <memory>
|
| -
|
| -#include "base/macros.h"
|
| -
|
| -namespace blimp {
|
| -namespace helium {
|
| -
|
| -class HeliumObject;
|
| -class HeliumTransport;
|
| -class Syncable;
|
| -
|
| -using HeliumObjectId = uint32_t;
|
| -
|
| -// TODO(kmarshall): Define this type.
|
| -class HeliumTransport {};
|
| -
|
| -class SyncManager {
|
| - public:
|
| - // RAII object for managing the sync control and registration status of a
|
| - // Syncable. When a Syncable is registered, it should hold onto the resulting
|
| - // SyncRegistration object.
|
| - //
|
| - // When the Syncable is destroyed, it will delete the
|
| - // SyncRegistration along with it, which will automatically unregister the
|
| - // object from the SyncManager.
|
| - //
|
| - // If a Syncable wishes to halt synchronization for any reason (e.g. a tab
|
| - // is hidden on the Client), it may call SyncRegistration::Pause(), which will
|
| - // tell the SyncManager to exclude or include the Syncable in state sync.
|
| - class SyncRegistration {
|
| - public:
|
| - SyncRegistration(SyncManager* sync_manager, HeliumObjectId id);
|
| - ~SyncRegistration();
|
| -
|
| - // Tells the HeliumSyncManager to pause or unpause synchronization for the
|
| - // HeliumObject associated with |this|.
|
| - void Pause(bool paused);
|
| -
|
| - HeliumObjectId id() { return id_; }
|
| -
|
| - private:
|
| - HeliumObjectId id_;
|
| - SyncManager* sync_manager_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(SyncRegistration);
|
| - };
|
| -
|
| - virtual ~SyncManager() {}
|
| -
|
| - // Returns a concrete implementation of HeliumSyncManager.
|
| - static std::unique_ptr<SyncManager> Create(
|
| - std::unique_ptr<HeliumTransport> transport);
|
| -
|
| - // Registers a new Syncable for synchronization. The Sync layer allocates a
|
| - // unique identifier to the Object (including guaranteeing no clashes between
|
| - // Client & Engine).
|
| - // The identifier may be used by other Objects to refer to |object|. E.g. the
|
| - // tab-list Object might include the Id for each tab’s Object.
|
| - virtual std::unique_ptr<SyncRegistration> Register(Syncable* syncable) = 0;
|
| -
|
| - // Registers a Syncable for synchronization with a pre-existing ID.
|
| - // This form is used when the remote peer has created a new Syncable, to
|
| - // register our local equivalent.
|
| - virtual std::unique_ptr<SyncRegistration> RegisterExisting(
|
| - HeliumObjectId id,
|
| - Syncable* syncable) = 0;
|
| -
|
| - protected:
|
| - friend class SyncManager::SyncRegistration;
|
| -
|
| - // Tells the HeliumSyncManager to pause or unpause synchronization for the
|
| - // HeliumObject associated with |this|.
|
| - virtual void Pause(HeliumObjectId id, bool paused) = 0;
|
| -
|
| - // Indicates that a Syncable is being destroyed, and should no longer be
|
| - // synchronized.
|
| - // Because the Syncable is being destroyed, it is assumed that in-flight
|
| - // messages
|
| - // about it are now irrelevant, and the Sync layer should tear down underlying
|
| - // resources, such as the HeliumStream, immediately.
|
| - virtual void Unregister(HeliumObjectId id) = 0;
|
| -};
|
| -
|
| -} // namespace helium
|
| -} // namespace blimp
|
| -
|
| -#endif // BLIMP_HELIUM_SYNC_MANAGER_H_
|
|
|