// 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/events/commit_request_event.h" #include "base/format_macros.h" #include "base/strings/stringprintf.h" #include "sync/protocol/proto_value_conversions.h" namespace syncer { CommitRequestEvent::CommitRequestEvent( base::Time timestamp, size_t num_items, ModelTypeSet contributing_types_, const sync_pb::ClientToServerMessage& request) : timestamp_(timestamp), num_items_(num_items), contributing_types_(contributing_types_), request_(request) {} CommitRequestEvent::~CommitRequestEvent() {} base::Time CommitRequestEvent::GetTimestamp() const { return timestamp_; } std::string CommitRequestEvent::GetType() const { return "Commit Request"; } std::string CommitRequestEvent::GetDetails() const { return base::StringPrintf( "Item count: %" PRIuS "\n" "Contributing types: %s", num_items_, ModelTypeSetToString(contributing_types_).c_str()); } scoped_ptr CommitRequestEvent::GetProtoMessage() const { return scoped_ptr( ClientToServerMessageToValue(request_, false)); } scoped_ptr CommitRequestEvent::Clone() const { return scoped_ptr( new CommitRequestEvent(timestamp_, num_items_, contributing_types_, request_)); } } // namespace syncer