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 20 namespace base { 21 class DictionaryValue; 22 } 23 24 namespace syncer { 25 26 // A container that maps ModelType to serialized 27 // DataTypeProgressMarkers. 28 typedef std::map<ModelType, std::string> ProgressMarkerMap; 29 30 SYNC_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