1// Copyright 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4//
5// Definition of ProgressMarkerMap and various utility functions.
6
7#ifndef SYNC_INTERNAL_PUBLIC_API_BASE_PROGRESS_MARKER_MAP_H_
8#define SYNC_INTERNAL_PUBLIC_API_BASE_PROGRESS_MARKER_MAP_H_
9
10#include <map>
11#include <string>
12
13#include "base/memory/scoped_ptr.h"
14#include "sync/base/sync_export.h"
15#include "sync/internal_api/public/base/model_type.h"
16
17// TODO(akalin,mmontgomery): Move the non-exported functions in this file to a
18// private header.
19
20namespace base {
21class DictionaryValue;
22}
23
24namespace syncer {
25
26// A container that maps ModelType to serialized
27// DataTypeProgressMarkers.
28typedef std::map<ModelType, std::string> ProgressMarkerMap;
29
30SYNC_EXPORT_PRIVATE scoped_ptr<base::DictionaryValue> ProgressMarkerMapToValue(
31    const ProgressMarkerMap& marker_map);
32
33}  // namespace syncer
34
35#endif  // SYNC_INTERNAL_PUBLIC_API_BASE_PROGRESS_MARKER_MAP_H_
36