chromium/components/sync/model/blocking_data_type_store_impl.h

// Copyright 2018 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_MODEL_BLOCKING_DATA_TYPE_STORE_IMPL_H_
#define COMPONENTS_SYNC_MODEL_BLOCKING_DATA_TYPE_STORE_IMPL_H_

#include <memory>
#include <string>

#include "base/sequence_checker.h"
#include "base/task/sequenced_task_runner.h"
#include "components/sync/base/data_type.h"
#include "components/sync/base/storage_type.h"
#include "components/sync/model/blocking_data_type_store.h"

namespace syncer {

// TODO(andreaorru): The following functions are public only
// to support Lacros migration. Make them private again once
// they are not needed anymore. See crbug.com/1147556 for more
// context on move migration.

// Formats key prefix for data records of |data_type| using |storage_type|.
std::string FormatDataPrefix(DataType data_type, StorageType storage_type);

// Formats key prefix for metadata records of |data_type| using |storage_type|.
std::string FormatMetaPrefix(DataType data_type, StorageType storage_type);

// Formats key for global metadata record of |data_type| using |storage_type|.
std::string FormatGlobalMetadataKey(DataType data_type,
                                    StorageType storage_type);

class DataTypeStoreBackend;

class BlockingDataTypeStoreImpl : public BlockingDataTypeStore {};

}  // namespace syncer

#endif  // COMPONENTS_SYNC_MODEL_BLOCKING_DATA_TYPE_STORE_IMPL_H_