1 // Copyright 2014 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 #ifndef SYNC_INTERNAL_API_PUBLIC_SESSIONS_UPDATE_COUNTERS_H_ 6 #define SYNC_INTERNAL_API_PUBLIC_SESSIONS_UPDATE_COUNTERS_H_ 7 8 #include "base/memory/scoped_ptr.h" 9 #include "base/values.h" 10 #include "sync/base/sync_export.h" 11 12 namespace syncer { 13 14 // A class to maintain counts related to the update requests and responses for 15 // a particular sync type. 16 struct SYNC_EXPORT_PRIVATE UpdateCounters { 17 UpdateCounters(); 18 ~UpdateCounters(); 19 20 scoped_ptr<base::DictionaryValue> ToValue() const; 21 std::string ToString() const; 22 23 int num_updates_received; 24 int num_reflected_updates_received; 25 int num_tombstone_updates_received; 26 27 int num_updates_applied; 28 int num_hierarchy_conflict_application_failures; 29 int num_encryption_conflict_application_failures; 30 31 int num_server_overwrites; 32 int num_local_overwrites; 33 }; 34 35 } // namespace syncer 36 37 #endif // SYNC_INTERNAL_API_PUBLIC_SESSIONS_UPDATE_COUNTERS_H_ 38