// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "sync/internal_api/public/sessions/update_counters.h" #include "base/json/json_string_value_serializer.h" #include "base/values.h" namespace syncer { UpdateCounters::UpdateCounters() : num_updates_received(0), num_reflected_updates_received(0), num_tombstone_updates_received(0), num_updates_applied(0), num_hierarchy_conflict_application_failures(0), num_encryption_conflict_application_failures(0), num_server_overwrites(0), num_local_overwrites(0) {} UpdateCounters::~UpdateCounters() {} scoped_ptr UpdateCounters::ToValue() const { scoped_ptr value(new base::DictionaryValue()); value->SetInteger("numUpdatesReceived", num_updates_received); value->SetInteger("numReflectedUpdatesReceived", num_reflected_updates_received); value->SetInteger("numTombstoneUpdatesReceived", num_tombstone_updates_received); value->SetInteger("numUpdatesApplied", num_updates_applied); value->SetInteger("numHierarchyConflictApplicationFailures", num_hierarchy_conflict_application_failures); value->SetInteger("numEncryptionConflictApplicationFailures", num_encryption_conflict_application_failures); value->SetInteger("numServerOverwrites", num_server_overwrites); value->SetInteger("numLocalOverwrites", num_local_overwrites); return value.Pass(); } std::string UpdateCounters::ToString() const { std::string result; scoped_ptr value = ToValue(); JSONStringValueSerializer serializer(&result); serializer.Serialize(*value); return result; } } // namespace syncer