chromium/components/sync/engine/data_type_registry.h

// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef COMPONENTS_SYNC_ENGINE_DATA_TYPE_REGISTRY_H_
#define COMPONENTS_SYNC_ENGINE_DATA_TYPE_REGISTRY_H_

#include <map>
#include <memory>
#include <string>
#include <vector>

#include "base/memory/raw_ptr.h"
#include "base/memory/weak_ptr.h"
#include "components/sync/base/data_type.h"
#include "components/sync/base/passphrase_enums.h"
#include "components/sync/engine/commit_and_get_updates_types.h"
#include "components/sync/engine/data_type_connector.h"
#include "components/sync/engine/nudge_handler.h"
#include "components/sync/engine/sync_encryption_handler.h"
#include "components/sync/engine/update_handler.h"

namespace syncer {

class CancelationSignal;
class CommitContributor;
class SyncEncryptionHandler;
class DataTypeWorker;
class UpdateHandler;

UpdateHandlerMap;
CommitContributorMap;

// Keeps track of the sets of active update handlers and commit contributors.
// Lives on the sync sequence.
class DataTypeRegistry : public DataTypeConnector,
                          public SyncEncryptionHandler::Observer {};

}  // namespace syncer

#endif  // COMPONENTS_SYNC_ENGINE_DATA_TYPE_REGISTRY_H_