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