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 #include "sync/internal_api/public/events/commit_response_event.h" 6 7 #include "base/strings/stringprintf.h" 8 #include "sync/protocol/proto_value_conversions.h" 9 10 namespace syncer { 11 12 CommitResponseEvent::CommitResponseEvent( 13 base::Time timestamp, 14 SyncerError result, 15 const sync_pb::ClientToServerResponse& response) 16 : timestamp_(timestamp), 17 result_(result), 18 response_(response) {} 19 20 CommitResponseEvent::~CommitResponseEvent() {} 21 22 base::Time CommitResponseEvent::GetTimestamp() const { 23 return timestamp_; 24 } 25 26 std::string CommitResponseEvent::GetType() const { 27 return "Commit Response"; 28 } 29 30 std::string CommitResponseEvent::GetDetails() const { 31 return base::StringPrintf("Result: %s", GetSyncerErrorString(result_)); 32 } 33 34 scoped_ptr<base::DictionaryValue> CommitResponseEvent::GetProtoMessage() const { 35 return scoped_ptr<base::DictionaryValue>( 36 ClientToServerResponseToValue(response_, false)); 37 } 38 39 scoped_ptr<ProtocolEvent> CommitResponseEvent::Clone() const { 40 return scoped_ptr<ProtocolEvent>( 41 new CommitResponseEvent( 42 timestamp_, 43 result_, 44 response_)); 45 } 46 47 } // namespace syncer 48