Home | History | Annotate | Download | only in events
      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