| Index: components/sync/engine_impl/cycle/data_type_debug_info_emitter.h
|
| diff --git a/components/sync/engine_impl/cycle/directory_type_debug_info_emitter.h b/components/sync/engine_impl/cycle/data_type_debug_info_emitter.h
|
| similarity index 53%
|
| copy from components/sync/engine_impl/cycle/directory_type_debug_info_emitter.h
|
| copy to components/sync/engine_impl/cycle/data_type_debug_info_emitter.h
|
| index 8334abec8101a2d1c2c9ec977de0eb2087b85122..8e620a712c5f63b5ed2dd81271b53024367c297b 100644
|
| --- a/components/sync/engine_impl/cycle/directory_type_debug_info_emitter.h
|
| +++ b/components/sync/engine_impl/cycle/data_type_debug_info_emitter.h
|
| @@ -1,18 +1,17 @@
|
| -// Copyright 2014 The Chromium Authors. All rights reserved.
|
| +// 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 COMPONENTS_SYNC_ENGINE_IMPL_CYCLE_DIRECTORY_TYPE_DEBUG_INFO_EMITTER_H_
|
| -#define COMPONENTS_SYNC_ENGINE_IMPL_CYCLE_DIRECTORY_TYPE_DEBUG_INFO_EMITTER_H_
|
| +#ifndef COMPONENTS_SYNC_ENGINE_IMPL_CYCLE_DATA_TYPE_DEBUG_INFO_EMITTER_H_
|
| +#define COMPONENTS_SYNC_ENGINE_IMPL_CYCLE_DATA_TYPE_DEBUG_INFO_EMITTER_H_
|
|
|
| #include <memory>
|
|
|
| #include "base/macros.h"
|
| #include "base/observer_list.h"
|
| -#include "base/values.h"
|
| +#include "components/sync/base/model_type.h"
|
| #include "components/sync/engine/cycle/commit_counters.h"
|
| #include "components/sync/engine/cycle/update_counters.h"
|
| -#include "components/sync/syncable/directory.h"
|
|
|
| namespace syncer {
|
|
|
| @@ -21,39 +20,23 @@ class TypeDebugInfoObserver;
|
|
|
| // Supports various kinds of debugging requests for a certain directory type.
|
| //
|
| -// The GetAllNodes() function is used to help export a snapshot of all current
|
| -// nodes to its caller. The complexity required to manage the request mostly
|
| -// lives elsewhere.
|
| -//
|
| // The Emit*() functions send updates to registered TypeDebugInfoObservers.
|
| -// The DirectoryTypeDebugInfoEmitter does not directly own that list; it is
|
| +// The DataTypeDebugInfoEmitter does not directly own that list; it is
|
| // managed by the ModelTypeRegistry.
|
| //
|
| // For Update and Commit counters, the job of keeping the counters up to date
|
| -// is delegated to the UpdateHandler and CommitContributors. For the Stats
|
| -// counters, the emitter will use its type_ and directory_ members to fetch all
|
| -// the required information on demand.
|
| -class DirectoryTypeDebugInfoEmitter {
|
| +// is delegated to the UpdateHandler and CommitContributors. For the Stats
|
| +// counters, the emitter will let sub class to fetch all the required
|
| +// information on demand.
|
| +class DataTypeDebugInfoEmitter {
|
| public:
|
| - // Standard constructor for non-tests.
|
| - //
|
| - // The |directory| and |observers| arguments are not owned. Both may be
|
| - // modified outside of this object and both are expected to outlive this
|
| - // object.
|
| - DirectoryTypeDebugInfoEmitter(
|
| - syncable::Directory* directory,
|
| - ModelType type,
|
| - base::ObserverList<TypeDebugInfoObserver>* observers);
|
| -
|
| - // A simple constructor for tests. Should not be used in real code.
|
| - DirectoryTypeDebugInfoEmitter(
|
| + // The |observers| is not owned. |observers| may be modified outside of this
|
| + // object and is expected to outlive this object.
|
| + DataTypeDebugInfoEmitter(
|
| ModelType type,
|
| base::ObserverList<TypeDebugInfoObserver>* observers);
|
|
|
| - virtual ~DirectoryTypeDebugInfoEmitter();
|
| -
|
| - // Returns a ListValue representation of all known nodes of this type.
|
| - std::unique_ptr<base::ListValue> GetAllNodes();
|
| + virtual ~DataTypeDebugInfoEmitter();
|
|
|
| // Returns a reference to the current commit counters.
|
| const CommitCounters& GetCommitCounters() const;
|
| @@ -74,25 +57,24 @@ class DirectoryTypeDebugInfoEmitter {
|
| void EmitUpdateCountersUpdate();
|
|
|
| // Triggers a status counters update to registered observers.
|
| - void EmitStatusCountersUpdate();
|
| -
|
| - private:
|
| - syncable::Directory* directory_;
|
| + virtual void EmitStatusCountersUpdate() = 0;
|
|
|
| + protected:
|
| const ModelType type_;
|
|
|
| - CommitCounters commit_counters_;
|
| - UpdateCounters update_counters_;
|
| -
|
| // Because there are so many emitters that come into and out of existence, it
|
| // doesn't make sense to have them manage their own observer list. They all
|
| // share one observer list that is provided by their owner and which is
|
| // guaranteed to outlive them.
|
| base::ObserverList<TypeDebugInfoObserver>* type_debug_info_observers_;
|
|
|
| - DISALLOW_COPY_AND_ASSIGN(DirectoryTypeDebugInfoEmitter);
|
| + private:
|
| + CommitCounters commit_counters_;
|
| + UpdateCounters update_counters_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(DataTypeDebugInfoEmitter);
|
| };
|
|
|
| } // namespace syncer
|
|
|
| -#endif // COMPONENTS_SYNC_ENGINE_IMPL_CYCLE_DIRECTORY_TYPE_DEBUG_INFO_EMITTER_H_
|
| +#endif // COMPONENTS_SYNC_ENGINE_IMPL_CYCLE_DATA_TYPE_DEBUG_INFO_EMITTER_H_
|
|
|